git: f2076251c24f - main - science/py-signac: New port: Manage large and heterogeneous data spaces on the file system

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 04 May 2023 16:24:51 UTC
The branch main has been updated by yuri:

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

commit f2076251c24f02ff9a2873e79ba9053c875b184e
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-05-04 07:28:54 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-05-04 16:24:49 +0000

    science/py-signac: New port: Manage large and heterogeneous data spaces on the file system
---
 science/Makefile                             |  1 +
 science/py-signac/Makefile                   | 34 ++++++++++++++++++++++++++++
 science/py-signac/distinfo                   |  3 +++
 science/py-signac/files/patch-pyproject.toml | 11 +++++++++
 science/py-signac/pkg-descr                  |  7 ++++++
 5 files changed, 56 insertions(+)

diff --git a/science/Makefile b/science/Makefile
index b2edac6b6fe5..3aaac77ac1e8 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -423,6 +423,7 @@
     SUBDIR += py-sdf
     SUBDIR += py-segregation
     SUBDIR += py-segyio
+    SUBDIR += py-signac
     SUBDIR += py-sklearn-pandas
     SUBDIR += py-skrebate
     SUBDIR += py-spaghetti
diff --git a/science/py-signac/Makefile b/science/py-signac/Makefile
new file mode 100644
index 000000000000..661e8f9a83fd
--- /dev/null
+++ b/science/py-signac/Makefile
@@ -0,0 +1,34 @@
+PORTNAME=	signac
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2.0.0
+CATEGORIES=	science # physics
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Manage large and heterogeneous data spaces on the file system
+WWW=		https://signac.io/
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+PY_DEPENDS=	${PYTHON_PKGNAMEPREFIX}filelock>=3.0:sysutils/py-filelock@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}packaging>=15.0:devel/py-packaging@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tqdm>=4.10.0:misc/py-tqdm@${PY_FLAVOR}
+PY_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}h5py>0:science/py-h5py@${PY_FLAVOR} # optional dependency
+BUILD_DEPENDS=	${PY_DEPENDS} \
+		${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PY_DEPENDS}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}zarr>0:devel/py-zarr@${PY_FLAVOR}
+
+USES=		python:3.8+
+USE_PYTHON=	pep517 autoplist pytest # some tests fail because of https://github.com/zarr-developers/zarr-python/issues/1407
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	glotzerlab
+
+BINARY_ALIAS=	python=${PYTHON_CMD}
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/science/py-signac/distinfo b/science/py-signac/distinfo
new file mode 100644
index 000000000000..6fd44728c072
--- /dev/null
+++ b/science/py-signac/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1683183097
+SHA256 (glotzerlab-signac-v2.0.0_GH0.tar.gz) = d2a0481a9956464d8211e943cc800721abc59d5e7d66ae108132f6eab176fd38
+SIZE (glotzerlab-signac-v2.0.0_GH0.tar.gz) = 450172
diff --git a/science/py-signac/files/patch-pyproject.toml b/science/py-signac/files/patch-pyproject.toml
new file mode 100644
index 000000000000..fb01197bcedc
--- /dev/null
+++ b/science/py-signac/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+--- pyproject.toml.orig	2023-05-04 06:58:21 UTC
++++ pyproject.toml
+@@ -3,7 +3,7 @@
+ # This software is licensed under the BSD 3-Clause License.
+ [build-system]
+ build-backend = "setuptools.build_meta"
+-requires = ["setuptools>=64.0.0"]
++requires = ["setuptools>0"]
+ 
+ [project]
+ name = "signac"
diff --git a/science/py-signac/pkg-descr b/science/py-signac/pkg-descr
new file mode 100644
index 000000000000..16d66a6b4020
--- /dev/null
+++ b/science/py-signac/pkg-descr
@@ -0,0 +1,7 @@
+The signac framework helps users manage and scale file-based workflows,
+facilitating data reuse, sharing, and reproducibility.
+
+It provides a simple and robust data model to create a well-defined indexable
+storage layout for data and metadata. This makes it easier to operate on large
+data spaces, streamlines post-processing and analysis and makes data
+collectively accessible.