aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2023-08-16 18:06:36 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2023-08-16 18:25:06 +0000
commitdd4c723cf21014947a5f26be34a4fb1180886190 (patch)
tree8a861d877f6a0a0164f0cac1d66d10e329575e46
parentf484396210f0f4e9725fac690350f1fafcba801e (diff)
devel/py-simple-parsing: Add py-simple-parsing 0.1.3
simple-parsing allows you to transform your ugly argparse scripts into beautifully structured, strongly typed little works of art. This isn't a fancy, complicated new command-line tool either, this simply adds new features to plain-old argparse! Using dataclasses, simple-parsing makes it easier to share and reuse command-line arguments - no more copy pasting! Supports inheritance, nesting, easy serialization to json/yaml, automatic help strings from comments, and much more!
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-simple-parsing/Makefile28
-rw-r--r--devel/py-simple-parsing/distinfo3
-rw-r--r--devel/py-simple-parsing/files/patch-setup.py8
-rw-r--r--devel/py-simple-parsing/pkg-descr8
5 files changed, 48 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 741bb7fff9fc..d8b988f60149 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5568,6 +5568,7 @@
SUBDIR += py-shellingham
SUBDIR += py-shtab
SUBDIR += py-signalr-client-aio
+ SUBDIR += py-simple-parsing
SUBDIR += py-simple-term-menu
SUBDIR += py-simpleeval
SUBDIR += py-simplegeneric
diff --git a/devel/py-simple-parsing/Makefile b/devel/py-simple-parsing/Makefile
new file mode 100644
index 000000000000..eeccbfd89236
--- /dev/null
+++ b/devel/py-simple-parsing/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= simple-parsing
+PORTVERSION= 0.1.3
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= simple_parsing-${PORTVERSION}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Small utility for simplifying and cleaning up argument parsing scripts
+WWW= https://pypi.org/project/simple-parsing/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docstring-parser>=0.15<1:textproc/py-docstring-parser@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.5.0:devel/py-typing-extensions@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent distutils
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= YAML
+OPTIONS_DEFAULT=YAML
+
+YAML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}yaml>=0:devel/py-yaml@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/devel/py-simple-parsing/distinfo b/devel/py-simple-parsing/distinfo
new file mode 100644
index 000000000000..6fb65764acc4
--- /dev/null
+++ b/devel/py-simple-parsing/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1691069898
+SHA256 (simple_parsing-0.1.3.tar.gz) = 14970728f11bdb084044f678035ce753c0860418282d7a4c49edfcd7f447c4b0
+SIZE (simple_parsing-0.1.3.tar.gz) = 172509
diff --git a/devel/py-simple-parsing/files/patch-setup.py b/devel/py-simple-parsing/files/patch-setup.py
new file mode 100644
index 000000000000..d45383372e92
--- /dev/null
+++ b/devel/py-simple-parsing/files/patch-setup.py
@@ -0,0 +1,8 @@
+--- setup.py.orig 2023-06-06 21:39:38 UTC
++++ setup.py
+@@ -48,5 +48,4 @@ setuptools.setup(
+ python_requires=">=3.7",
+ install_requires=install_requires,
+ extras_require=extras_require,
+- setup_requires=["pre-commit"],
+ )
diff --git a/devel/py-simple-parsing/pkg-descr b/devel/py-simple-parsing/pkg-descr
new file mode 100644
index 000000000000..5a7f7e27a922
--- /dev/null
+++ b/devel/py-simple-parsing/pkg-descr
@@ -0,0 +1,8 @@
+simple-parsing allows you to transform your ugly argparse scripts into
+beautifully structured, strongly typed little works of art. This isn't a fancy,
+complicated new command-line tool either, this simply adds new features to
+plain-old argparse! Using dataclasses, simple-parsing makes it easier to share
+and reuse command-line arguments - no more copy pasting!
+
+Supports inheritance, nesting, easy serialization to json/yaml, automatic help
+strings from comments, and much more!