git: 849396bd7247 - main - science/py-spml: Add py-spml 0.2.2

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sun, 28 Jun 2026 14:23:44 UTC
The branch main has been updated by sunpoet:

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

commit 849396bd724751ef921b88c9d5bdcc43d34a8ff5
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2026-06-28 14:10:43 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2026-06-28 14:18:46 +0000

    science/py-spml: Add py-spml 0.2.2
    
    Spatial modeling based on scikit-learn.
    
    The aim of the package is to provide implementations of spatially-explicit
    modelling.
    
    At the moment, spml provides a framework for prototyping geographically weighted
    extensions of regression and classification models based on scikit-learn and
    libpysal.graph and a subset of models implemented on top of this framework.
---
 science/Makefile                           |  1 +
 science/py-spml/Makefile                   | 31 ++++++++++++++++++++++++++++++
 science/py-spml/distinfo                   |  3 +++
 science/py-spml/files/patch-pyproject.toml | 11 +++++++++++
 science/py-spml/pkg-descr                  |  8 ++++++++
 5 files changed, 54 insertions(+)

diff --git a/science/Makefile b/science/Makefile
index f73bf533431c..f162a787bc68 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -461,6 +461,7 @@
     SUBDIR += py-skrebate
     SUBDIR += py-spaghetti
     SUBDIR += py-spglib
+    SUBDIR += py-spml
     SUBDIR += py-symfc
     SUBDIR += py-tensorflow
     SUBDIR += py-thewalrus
diff --git a/science/py-spml/Makefile b/science/py-spml/Makefile
new file mode 100644
index 000000000000..ba23689de266
--- /dev/null
+++ b/science/py-spml/Makefile
@@ -0,0 +1,31 @@
+PORTNAME=	spml
+PORTVERSION=	0.2.2
+CATEGORIES=	science python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Spatial machine learning
+WWW=		https://pysal.org/spml/stable/ \
+		https://github.com/pysal/spml
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=61.0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.2:devel/py-setuptools-scm@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}geopandas>=1.1.0:graphics/py-geopandas@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}joblib>=1.5.0:devel/py-joblib@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}libpysal>=4.12:science/py-libpysal@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}numpy>=2.0.0,1:math/py-numpy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pandas>=2.3.0,1:math/py-pandas@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scikit-learn>=1.5.0:science/py-scikit-learn@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scipy>=1.14.0,1:science/py-scipy@${PY_FLAVOR}
+
+USES=		python:3.12+
+USE_PYTHON=	autoplist concurrent pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/science/py-spml/distinfo b/science/py-spml/distinfo
new file mode 100644
index 000000000000..9fb408d56f93
--- /dev/null
+++ b/science/py-spml/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1782510004
+SHA256 (spml-0.2.2.tar.gz) = 3412e5bf2bb03fa2ef2a19ea1f71b87a25209a3455cfd291e0c8c7326ee08dde
+SIZE (spml-0.2.2.tar.gz) = 2223867
diff --git a/science/py-spml/files/patch-pyproject.toml b/science/py-spml/files/patch-pyproject.toml
new file mode 100644
index 000000000000..10e6038d3bd4
--- /dev/null
+++ b/science/py-spml/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+--- pyproject.toml.orig	2026-06-25 20:22:23 UTC
++++ pyproject.toml
+@@ -11,7 +11,7 @@ authors = [
+ authors = [
+    { name = "Martin Fleischmann", email = "martin@martinfleischmann.net" },
+ ]
+-license = "BSD-3-Clause"
++license = { text = "BSD-3-Clause" }
+ classifiers = [
+     "Programming Language :: Python :: 3",
+     "Operating System :: OS Independent",
diff --git a/science/py-spml/pkg-descr b/science/py-spml/pkg-descr
new file mode 100644
index 000000000000..e4c92bbe2659
--- /dev/null
+++ b/science/py-spml/pkg-descr
@@ -0,0 +1,8 @@
+Spatial modeling based on scikit-learn.
+
+The aim of the package is to provide implementations of spatially-explicit
+modelling.
+
+At the moment, spml provides a framework for prototyping geographically weighted
+extensions of regression and classification models based on scikit-learn and
+libpysal.graph and a subset of models implemented on top of this framework.