summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2025-10-03 02:44:11 -0700
committerYuri Victorovich <yuri@FreeBSD.org>2025-10-03 02:56:07 -0700
commit523f14cbc3952b39185870880456ce1abfc3d4a1 (patch)
tree036f8e5b90333d5fb587819c48a50a61739f3252
parentsecurity/netbird: update to 0.59.1 (diff)
devel/py-mando: New port: Create Python CLI apps with little to no effort at all
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-mando/Makefile28
-rw-r--r--devel/py-mando/distinfo3
-rw-r--r--devel/py-mando/pkg-descr15
4 files changed, 47 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 3594aabda146..925331a0fae0 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5248,6 +5248,7 @@
SUBDIR += py-magnet2torrent
SUBDIR += py-mailcap-fix
SUBDIR += py-makefun
+ SUBDIR += py-mando
SUBDIR += py-manuel
SUBDIR += py-marisa-trie
SUBDIR += py-marrow.mailer
diff --git a/devel/py-mando/Makefile b/devel/py-mando/Makefile
new file mode 100644
index 000000000000..69bab921b3ea
--- /dev/null
+++ b/devel/py-mando/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= mando
+DISTVERSION= 0.8.2
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Create Python CLI apps with little to no effort at all
+WWW= https://mando.readthedocs.org/ \
+ https://github.com/rubik/mando
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= python
+USE_PYTHON= distutils autoplist pytest
+
+TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+NO_ARCH= yes
+
+do-test:
+ @cd ${TEST_WRKSRC} && \
+ ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m pytest mando/tests/ -v
+
+# tests as of 0.8.2: 83 passed in 2.23s
+
+.include <bsd.port.mk>
diff --git a/devel/py-mando/distinfo b/devel/py-mando/distinfo
new file mode 100644
index 000000000000..5d6e89ec3917
--- /dev/null
+++ b/devel/py-mando/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1759484079
+SHA256 (mando-0.8.2.tar.gz) = 539659d9a2fdc6c9a188211c58f381e0dafe9597085174c5472eb1ed0224b6b5
+SIZE (mando-0.8.2.tar.gz) = 37732
diff --git a/devel/py-mando/pkg-descr b/devel/py-mando/pkg-descr
new file mode 100644
index 000000000000..dd167d7af971
--- /dev/null
+++ b/devel/py-mando/pkg-descr
@@ -0,0 +1,15 @@
+mando is a wrapper around argparse, and allows you to write complete CLI
+applications in seconds while maintaining all the flexibility.
+
+While argparse is great for simple command line applications with only
+one, default command, when you have to add multiple commands and manage them
+things get really messy and long. But don't worry, mando comes to help!
+
+Features:
+* Create complete CLI applications with decorators
+* Supports multiple commands and subcommands
+* Automatic help generation from docstrings
+* Type annotations support for Python 3
+* Sphinx, Google, and NumPy docstring styles
+* Shell autocompletion via argcomplete package
+* Custom format classes support