aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2026-01-15 11:35:02 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2026-01-15 11:53:04 +0000
commit18552d28f55f61160641ee2459bb7208ff08e16a (patch)
tree5fa156e7e9316458357387c166a2b2a7609f8ddf
parente23eeb8b3229a8d5d8d827a5d5def3a49fdcbc4c (diff)
math/py-spox: Add py-spox 0.16.0
Spox makes it easy to construct ONNX models through clean and idiomatic Python code. A common application of ONNX is converting models from various frameworks. This requires replicating their runtime behaviour with ONNX operators. In the past this has been a major challenge. Based on our experience, we designed Spox from the ground up to make the process of writing converters (and ONNX models in general) as easy as possible. Spox's features include: - Eager operator validation and type inference - Errors with Python tracebacks to offending operators - First-class support for subgraphs (control flow) - A lean and predictable API
-rw-r--r--math/Makefile1
-rw-r--r--math/py-spox/Makefile27
-rw-r--r--math/py-spox/distinfo3
-rw-r--r--math/py-spox/pkg-descr14
4 files changed, 45 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile
index 24bf914827f0..945105c3a0a8 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -1132,6 +1132,7 @@
SUBDIR += py-splot
SUBDIR += py-spopt
SUBDIR += py-spot
+ SUBDIR += py-spox
SUBDIR += py-spreg
SUBDIR += py-squarify
SUBDIR += py-ssm
diff --git a/math/py-spox/Makefile b/math/py-spox/Makefile
new file mode 100644
index 000000000000..18ccc1a44a68
--- /dev/null
+++ b/math/py-spox/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= spox
+PORTVERSION= 0.16.0
+CATEGORIES= math python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Framework for constructing ONNX computational graphs
+WWW= https://spox.readthedocs.io/en/latest/ \
+ https://github.com/Quantco/spox
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=8:devel/py-setuptools-scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}onnx>=1.13:misc/py-onnx@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/math/py-spox/distinfo b/math/py-spox/distinfo
new file mode 100644
index 000000000000..05759b39136a
--- /dev/null
+++ b/math/py-spox/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1767157571
+SHA256 (spox-0.16.0.tar.gz) = db75a2a0aa9e4c18985371de115b6639a0788d5b305592474bebd698f6dd21f3
+SIZE (spox-0.16.0.tar.gz) = 508014
diff --git a/math/py-spox/pkg-descr b/math/py-spox/pkg-descr
new file mode 100644
index 000000000000..ecfef632b8d5
--- /dev/null
+++ b/math/py-spox/pkg-descr
@@ -0,0 +1,14 @@
+Spox makes it easy to construct ONNX models through clean and idiomatic Python
+code.
+
+A common application of ONNX is converting models from various frameworks. This
+requires replicating their runtime behaviour with ONNX operators. In the past
+this has been a major challenge. Based on our experience, we designed Spox from
+the ground up to make the process of writing converters (and ONNX models in
+general) as easy as possible.
+
+Spox's features include:
+- Eager operator validation and type inference
+- Errors with Python tracebacks to offending operators
+- First-class support for subgraphs (control flow)
+- A lean and predictable API