aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2021-06-10 14:25:30 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2021-06-10 14:45:56 +0000
commitda7740aa6dbf2505a8c72ad7b01e1b21851277e4 (patch)
tree868a1d821fb60fec6defd6db545e5d56fdf92026
parent9074b47edabebe0a3e2ef263d4800f9e5ad81152 (diff)
downloadports-da7740aa6dbf2505a8c72ad7b01e1b21851277e4.tar.gz
ports-da7740aa6dbf2505a8c72ad7b01e1b21851277e4.zip
devel/py-lml: Add py-lml 0.1.0
lml seamlessly finds the lml based plugins from your current python environment but loads your plugins on demand. It is designed to support plugins that have external dependencies, especially bulky and/or memory hungry ones. lml provides the plugin management system only and the plugin interface is on your shoulder. lml enabled applications helps your customers in two ways: - Your customers could cherry-pick the plugins from pypi per python environment. They could remove a plugin using pip uninstall command. - Only the plugins used at runtime gets loaded into computer memory. When you would use lml to refactor your existing code, it aims to flatten the complexity and to shrink the size of your bulky python library by distributing the similar functionalities across its plugins. However, you as the developer need to do the code refactoring by yourself and lml would lend you a hand. WWW: https://github.com/python-lml/lml
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-lml/Makefile20
-rw-r--r--devel/py-lml/distinfo3
-rw-r--r--devel/py-lml/pkg-descr16
4 files changed, 40 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index af38e957f5ec..9d50dc313f5f 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4646,6 +4646,7 @@
SUBDIR += py-llfuse
SUBDIR += py-llvmcpy
SUBDIR += py-llvmlite
+ SUBDIR += py-lml
SUBDIR += py-lockfile
SUBDIR += py-logan
SUBDIR += py-logbook
diff --git a/devel/py-lml/Makefile b/devel/py-lml/Makefile
new file mode 100644
index 000000000000..f6dc7d0de43d
--- /dev/null
+++ b/devel/py-lml/Makefile
@@ -0,0 +1,20 @@
+# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
+
+PORTNAME= lml
+PORTVERSION= 0.1.0
+CATEGORIES= devel python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Load me later, a lazy plugin management system
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= python:3.3+
+USE_PYTHON= autoplist concurrent distutils
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-lml/distinfo b/devel/py-lml/distinfo
new file mode 100644
index 000000000000..7e5687486655
--- /dev/null
+++ b/devel/py-lml/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1622213918
+SHA256 (lml-0.1.0.tar.gz) = 57a085a29bb7991d70d41c6c3144c560a8e35b4c1030ffb36d85fa058773bcc5
+SIZE (lml-0.1.0.tar.gz) = 42010
diff --git a/devel/py-lml/pkg-descr b/devel/py-lml/pkg-descr
new file mode 100644
index 000000000000..0e292e5b87c9
--- /dev/null
+++ b/devel/py-lml/pkg-descr
@@ -0,0 +1,16 @@
+lml seamlessly finds the lml based plugins from your current python environment
+but loads your plugins on demand. It is designed to support plugins that have
+external dependencies, especially bulky and/or memory hungry ones. lml provides
+the plugin management system only and the plugin interface is on your shoulder.
+
+lml enabled applications helps your customers in two ways:
+- Your customers could cherry-pick the plugins from pypi per python environment.
+ They could remove a plugin using pip uninstall command.
+- Only the plugins used at runtime gets loaded into computer memory.
+
+When you would use lml to refactor your existing code, it aims to flatten the
+complexity and to shrink the size of your bulky python library by distributing
+the similar functionalities across its plugins. However, you as the developer
+need to do the code refactoring by yourself and lml would lend you a hand.
+
+WWW: https://github.com/python-lml/lml