git: bb0fabfc7b47 - main - devel/py-custodian: New port: Simple JIT job management framework in Python

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 02 Jul 2023 16:39:55 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=bb0fabfc7b47dafa38e4a7b4a9df74c380c401b3

commit bb0fabfc7b47dafa38e4a7b4a9df74c380c401b3
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-07-02 15:43:17 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-07-02 16:39:49 +0000

    devel/py-custodian: New port: Simple JIT job management framework in Python
---
 devel/Makefile               |  1 +
 devel/py-custodian/Makefile  | 35 +++++++++++++++++++++++++++++++++++
 devel/py-custodian/distinfo  |  3 +++
 devel/py-custodian/pkg-descr |  5 +++++
 4 files changed, 44 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index c1d45a386bc6..04bbf8f29709 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4508,6 +4508,7 @@
     SUBDIR += py-curio
     SUBDIR += py-cursive
     SUBDIR += py-curtsies
+    SUBDIR += py-custodian
     SUBDIR += py-cvss
     SUBDIR += py-cwcwidth
     SUBDIR += py-cxx
diff --git a/devel/py-custodian/Makefile b/devel/py-custodian/Makefile
new file mode 100644
index 000000000000..9120135fb583
--- /dev/null
+++ b/devel/py-custodian/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	custodian
+DISTVERSION=	2023.6.5
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Simple JIT job management framework in Python
+WWW=		https://github.com/materialsproject/custodian
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}monty>=2022.9.9:devel/py-monty@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}psutil>=5.9.4:sysutils/py-psutil@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0.17.21:devel/py-ruamel.yaml@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}sentry-sdk>=1.14.0:devel/py-sentry-sdk@${PY_FLAVOR}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}black>=0:devel/py-black@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}coverage>=6.5.0:devel/py-coverage@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}coveralls>=3.3.1:devel/py-coveralls@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}flake8>=0:devel/py-flake8@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}mypy>=0:devel/py-mypy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pydocstyle>=0:devel/py-pydocstyle@${PY_FLAVOR} \
+		pylint${PYTHON_PKGNAMESUFFIX}>=1.7:devel/pylint@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pymatgen>0:science/py-pymatgen@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR} # from requirements-ci.txt
+
+USES=		python
+USE_PYTHON=	pep517 autoplist pytest
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-custodian/distinfo b/devel/py-custodian/distinfo
new file mode 100644
index 000000000000..20f62870dbe3
--- /dev/null
+++ b/devel/py-custodian/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1688311048
+SHA256 (custodian-2023.6.5.tar.gz) = 8f9dffd3a0fe920c68f14c9dc264bd46344ed9e1c6267a0875498c4a5313c35b
+SIZE (custodian-2023.6.5.tar.gz) = 85770
diff --git a/devel/py-custodian/pkg-descr b/devel/py-custodian/pkg-descr
new file mode 100644
index 000000000000..dbcbfb51d6fd
--- /dev/null
+++ b/devel/py-custodian/pkg-descr
@@ -0,0 +1,5 @@
+Custodian is a simple, robust and flexible just-in-time (JIT) job management
+framework written in Python. Using custodian, you can create wrappers that
+perform error checking, job management and error recovery. It has a simple
+plugin framework that allows you to develop specific job management workflows
+for different applications.