git: 10dfaae369a6 - main - misc/py-optuna: New port: Hyperparameter optimization framework

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 24 Jun 2024 02:45:06 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=10dfaae369a6257f530aa0e2ee0625b12687e980

commit 10dfaae369a6257f530aa0e2ee0625b12687e980
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-06-24 02:08:34 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-06-24 02:08:34 +0000

    misc/py-optuna: New port: Hyperparameter optimization framework
---
 misc/Makefile            |  1 +
 misc/py-optuna/Makefile  | 36 ++++++++++++++++++++++++++++++++++++
 misc/py-optuna/distinfo  |  3 +++
 misc/py-optuna/pkg-descr |  5 +++++
 4 files changed, 45 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index b4014c5cf184..cdc75b66cada 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -462,6 +462,7 @@
     SUBDIR += py-openpaperwork-core
     SUBDIR += py-openpaperwork-gtk
     SUBDIR += py-openvdb
+    SUBDIR += py-optuna
     SUBDIR += py-orange3-associate
     SUBDIR += py-orange3-datafusion
     SUBDIR += py-orange3-educational
diff --git a/misc/py-optuna/Makefile b/misc/py-optuna/Makefile
new file mode 100644
index 000000000000..937ea459fe3f
--- /dev/null
+++ b/misc/py-optuna/Makefile
@@ -0,0 +1,36 @@
+PORTNAME=	optuna
+DISTVERSION=	3.6.1
+CATEGORIES=	misc # machine-learning
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Hyperparameter optimization framework
+WWW=		https://optuna.org/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}alembic>=1.5.0:databases/py-alembic@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}colorlog>0:devel/py-colorlog@${PY_FLAVOR} \
+		${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}packaging>=20.0:devel/py-packaging@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}sqlalchemy14>=1.3.0:databases/py-sqlalchemy14@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tqdm>0:misc/py-tqdm@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}yaml>0:devel/py-yaml@${PY_FLAVOR}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}coverage>=0:devel/py-coverage@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}fakeredis>=0:databases/py-fakeredis@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}moto>=0:devel/py-moto@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pytorch>=0:misc/py-pytorch@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scipy>=1.9.2:science/py-scipy@${PY_FLAVOR}
+		# tests also depend on Kaleido but it isn't clear how to build it
+
+USES=		python
+USE_PYTHON=	pep517 concurrent autoplist pytest
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/misc/py-optuna/distinfo b/misc/py-optuna/distinfo
new file mode 100644
index 000000000000..ad21e8f1a05b
--- /dev/null
+++ b/misc/py-optuna/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1719076429
+SHA256 (optuna-3.6.1.tar.gz) = 146e530b57b4b9afd7526b3e642fbe65491f7e292b405913355f8e438e361ecf
+SIZE (optuna-3.6.1.tar.gz) = 292748
diff --git a/misc/py-optuna/pkg-descr b/misc/py-optuna/pkg-descr
new file mode 100644
index 000000000000..72844f8aada3
--- /dev/null
+++ b/misc/py-optuna/pkg-descr
@@ -0,0 +1,5 @@
+Optuna is an automatic hyperparameter optimization software framework,
+particularly designed for machine learning. It features an imperative,
+define-by-run style user API. Thanks to our define-by-run API, the code written
+with Optuna enjoys high modularity, and the user of Optuna can dynamically
+construct the search spaces for the hyperparameters.