git: 683380fd316d - main - misc/py-npe2: New port: Napari plugin engine v2

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 21 Sep 2025 09:55:26 UTC
The branch main has been updated by yuri:

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

commit 683380fd316d9756dfb4f98542f5647868f9649b
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-09-21 07:01:13 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-09-21 09:55:18 +0000

    misc/py-npe2: New port: Napari plugin engine v2
---
 misc/Makefile          |  1 +
 misc/py-npe2/Makefile  | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 misc/py-npe2/distinfo  |  3 +++
 misc/py-npe2/pkg-descr |  3 +++
 4 files changed, 54 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index 3e809f76b91f..d16c9a9efe5d 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -504,6 +504,7 @@
     SUBDIR += py-napari-svg
     SUBDIR += py-natten
     SUBDIR += py-npTDMS
+    SUBDIR += py-npe2
     SUBDIR += py-numcodecs
     SUBDIR += py-ollama
     SUBDIR += py-onnx
diff --git a/misc/py-npe2/Makefile b/misc/py-npe2/Makefile
new file mode 100644
index 000000000000..b5e7b5cc6e8e
--- /dev/null
+++ b/misc/py-npe2/Makefile
@@ -0,0 +1,47 @@
+PORTNAME=	npe2
+DISTVERSION=	0.7.9
+CATEGORIES=	misc python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Napari plugin engine v2
+WWW=		https://napari.org/stable/plugins/ \
+		https://github.com/napari/npe2
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}hatch-vcs>0:devel/py-hatch-vcs@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}build>=1:devel/py-build@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}platformdirs>0:devel/py-platformdirs@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}psygnal>=0.3.0:devel/py-psygnal@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pydantic2>=0:devel/py-pydantic2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyyaml>=5.1:devel/py-pyyaml@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}rich>0:textproc/py-rich@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tomli-w>0:textproc/py-tomli-w@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}typer>=0:devel/py-typer@${PY_FLAVOR}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}jsonschema>0:devel/py-jsonschema@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}magicgui>0:x11-toolkits/py-magicgui@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}napari-plugin-engine>0:graphics/py-napari-plugin-engine@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}napari-svg>=0.1.5:misc/py-napari-svg@${PY_FLAVOR} \
+		${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pytest-pretty>=0:devel/py-pytest-pretty@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	pep517 autoplist pytest
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+NO_ARCH=	yes
+
+# tests as of 0.7.9, see https://github.com/napari/npe2/issues/409:
+# Results (2.71s):
+#          3 failed
+#        246 passed
+#          9 skipped
+#          6 warnings
+
+.include <bsd.port.mk>
diff --git a/misc/py-npe2/distinfo b/misc/py-npe2/distinfo
new file mode 100644
index 000000000000..876b517b74c4
--- /dev/null
+++ b/misc/py-npe2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1758418213
+SHA256 (npe2-0.7.9.tar.gz) = b6d2f20c87c12bcf60294cab9b1645889c12d68c5338ff7abd66f2742e675ad4
+SIZE (npe2-0.7.9.tar.gz) = 121045
diff --git a/misc/py-npe2/pkg-descr b/misc/py-npe2/pkg-descr
new file mode 100644
index 000000000000..b2cff63d33a1
--- /dev/null
+++ b/misc/py-npe2/pkg-descr
@@ -0,0 +1,3 @@
+napari plugin engine v2.
+
+napari is a fast, interactive, multi-dimensional image viewer for python.