git: 60a95f184088 - main - misc/py-gymnasium: New port: API for reinforcement learning & diverse set of reference environments

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 01 Sep 2025 08:14:30 UTC
The branch main has been updated by yuri:

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

commit 60a95f1840880320165986b8402821f8f5df0b83
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-09-01 07:09:57 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-09-01 08:14:27 +0000

    misc/py-gymnasium: New port: API for reinforcement learning & diverse set of reference environments
---
 misc/Makefile               |  1 +
 misc/py-gymnasium/Makefile  | 31 +++++++++++++++++++++++++++++++
 misc/py-gymnasium/distinfo  |  3 +++
 misc/py-gymnasium/pkg-descr |  4 ++++
 4 files changed, 39 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index 9b542d4f7d8a..9d8fb792d908 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -451,6 +451,7 @@
     SUBDIR += py-gguf
     SUBDIR += py-google-ai-generativelanguage
     SUBDIR += py-gpiozero
+    SUBDIR += py-gymnasium
     SUBDIR += py-halo
     SUBDIR += py-hf-doc-builder
     SUBDIR += py-hf-xet
diff --git a/misc/py-gymnasium/Makefile b/misc/py-gymnasium/Makefile
new file mode 100644
index 000000000000..16d5d7adf979
--- /dev/null
+++ b/misc/py-gymnasium/Makefile
@@ -0,0 +1,31 @@
+PORTNAME=	gymnasium
+DISTVERSION=	1.2.0
+CATEGORIES=	misc python # machine-learning
+MASTER_SITES=	PYPI # no tarball
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	API for reinforcement learning & diverse set of reference environments
+WWW=		https://gymnasium.farama.org/ \
+		https://github.com/Farama-Foundation/Gymnasium
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}cloudpickle>=1.2.0:devel/py-cloudpickle@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}farama-notifications>=0.0.1:devel/py-Farama-Notifications@${PY_FLAVOR} \
+		${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.3.0:devel/py-typing-extensions@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	pep517 autoplist pytest
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+NO_ARCH=	yes
+
+# tests as of 1.2.0: 9 passed in 2.09s
+
+.include <bsd.port.mk>
diff --git a/misc/py-gymnasium/distinfo b/misc/py-gymnasium/distinfo
new file mode 100644
index 000000000000..cfbc20e6a57c
--- /dev/null
+++ b/misc/py-gymnasium/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1756708596
+SHA256 (gymnasium-1.2.0.tar.gz) = 344e87561012558f603880baf264ebc97f8a5c997a957b0c9f910281145534b0
+SIZE (gymnasium-1.2.0.tar.gz) = 821142
diff --git a/misc/py-gymnasium/pkg-descr b/misc/py-gymnasium/pkg-descr
new file mode 100644
index 000000000000..f2561eca94dc
--- /dev/null
+++ b/misc/py-gymnasium/pkg-descr
@@ -0,0 +1,4 @@
+Gymnasium is an open source Python library for developing and comparing
+reinforcement learning algorithms by providing a standard API to communicate
+between learning algorithms and environments, as well as a standard set of
+environments compliant with that API.