aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2026-04-17 18:41:52 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2026-04-18 01:38:08 +0000
commit569ccc1faab223aa719be6b250b61f1a6fa1aed0 (patch)
tree7b575bc3b5d3aee1804980078c7dc6454f7d6723
parent7c0290f24dd436c4207b8c3f3722723d3a6e4bc6 (diff)
math/py-arviz-stats: New port: Statistical computation and diagnostics for ArviZ
-rw-r--r--math/Makefile1
-rw-r--r--math/py-arviz-stats/Makefile37
-rw-r--r--math/py-arviz-stats/distinfo3
-rw-r--r--math/py-arviz-stats/files/patch-pyproject.toml20
-rw-r--r--math/py-arviz-stats/files/patch-src_arviz__stats_base_core.py18
-rw-r--r--math/py-arviz-stats/pkg-descr4
6 files changed, 83 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile
index 4ac95d00bead..8e00d7427614 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -949,6 +949,7 @@
SUBDIR += py-apgl
SUBDIR += py-arviz
SUBDIR += py-arviz-base
+ SUBDIR += py-arviz-stats
SUBDIR += py-arybo
SUBDIR += py-autograd
SUBDIR += py-awkward
diff --git a/math/py-arviz-stats/Makefile b/math/py-arviz-stats/Makefile
new file mode 100644
index 000000000000..d7edd8c04e12
--- /dev/null
+++ b/math/py-arviz-stats/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= arviz-stats
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.0.0
+CATEGORIES= math python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Statistical computation and diagnostics for ArviZ
+WWW= https://python.arviz.org/projects/stats/en/latest/ \
+ https://github.com/arviz-devs/arviz-stats
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>0:devel/py-flit-core@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy1>=1.26.4:math/py-numpy1@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}scipy>=1.13:science/py-scipy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}arviz-base>=1.0.0:math/py-arviz-base@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}xarray-einstats>=0:devel/py-xarray-einstats@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}xarray>=2024.11.0:devel/py-xarray@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}h5netcdf>0:science/py-h5netcdf@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= pep517 concurrent autoplist pytest
+
+USE_GITHUB= yes
+GH_ACCOUNT= arviz-devs
+
+NO_ARCH= yes
+
+TEST_ARGS= -p no:benchmark -p no:xdist -p no:relaxed
+TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+# tests as of 1.0.0: 2449 passed, 5 skipped, 9 warnings in 47.13s
+
+.include <bsd.port.mk>
diff --git a/math/py-arviz-stats/distinfo b/math/py-arviz-stats/distinfo
new file mode 100644
index 000000000000..7af90649f022
--- /dev/null
+++ b/math/py-arviz-stats/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1776438805
+SHA256 (arviz-devs-arviz-stats-v1.0.0_GH0.tar.gz) = 656212532e86b67bbda09a72a4d238ca1ec2b282e7f3fcb64ef484bb121136d1
+SIZE (arviz-devs-arviz-stats-v1.0.0_GH0.tar.gz) = 16551088
diff --git a/math/py-arviz-stats/files/patch-pyproject.toml b/math/py-arviz-stats/files/patch-pyproject.toml
new file mode 100644
index 000000000000..9e592826f523
--- /dev/null
+++ b/math/py-arviz-stats/files/patch-pyproject.toml
@@ -0,0 +1,20 @@
+--- pyproject.toml.orig 2026-04-17 15:46:34 UTC
++++ pyproject.toml
+@@ -5,7 +5,7 @@ readme = "README.md"
+ [project]
+ name = "arviz-stats"
+ readme = "README.md"
+-requires-python = ">=3.12"
++requires-python = ">=3.11"
+ license = {file = "LICENSE"}
+ authors = [
+ {name = "ArviZ team", email = "arvizdevs@gmail.com"}
+@@ -25,7 +25,7 @@ dependencies = [
+ ]
+ dynamic = ["version", "description"]
+ dependencies = [
+- "numpy>=2",
++ "numpy>=1.26.4",
+ "scipy>=1.13",
+ ]
+
diff --git a/math/py-arviz-stats/files/patch-src_arviz__stats_base_core.py b/math/py-arviz-stats/files/patch-src_arviz__stats_base_core.py
new file mode 100644
index 000000000000..b03564941945
--- /dev/null
+++ b/math/py-arviz-stats/files/patch-src_arviz__stats_base_core.py
@@ -0,0 +1,18 @@
+--- src/arviz_stats/base/core.py.orig 2026-04-17 15:52:28 UTC
++++ src/arviz_stats/base/core.py
+@@ -118,10 +118,13 @@ class _CoreBase:
+ "Sample quantiles in statistical packages,"
+ The American Statistician, 50(4), pp. 361-365, 1996
+ """
++ _kwargs = {"axis": axis, "method": method}
++ if weights is not None:
++ _kwargs["weights"] = weights
+ if skipna:
+- result = np.nanquantile(ary, quantile, axis=axis, method=method, weights=weights)
++ result = np.nanquantile(ary, quantile, **_kwargs)
+ else:
+- result = np.quantile(ary, quantile, axis=axis, method=method, weights=weights)
++ result = np.quantile(ary, quantile, **_kwargs)
+ if np.ndim(quantile) == 0:
+ return result
+ return np.moveaxis(result, 0, -1)
diff --git a/math/py-arviz-stats/pkg-descr b/math/py-arviz-stats/pkg-descr
new file mode 100644
index 000000000000..5ecd932ac60e
--- /dev/null
+++ b/math/py-arviz-stats/pkg-descr
@@ -0,0 +1,4 @@
+arviz-stats provides statistical computation and diagnostics for ArviZ.
+It includes functions for posterior analysis, MCMC diagnostics, model
+comparison (LOO, WAIC), convergence diagnostics (R-hat, ESS), and
+other statistical summaries for Bayesian models.