git: c4a6ac08f562 - main - math/py-Py-BOBYQA: New port: Flexible derivative-free solver for general objective minimization

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 12 Nov 2023 04:49:15 UTC
The branch main has been updated by yuri:

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

commit c4a6ac08f5623e023e872eca1d96ad88973ebe9c
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-11-12 04:29:05 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-11-12 04:49:07 +0000

    math/py-Py-BOBYQA: New port: Flexible derivative-free solver for general objective minimization
---
 math/Makefile               |  1 +
 math/py-Py-BOBYQA/Makefile  | 21 +++++++++++++++++++++
 math/py-Py-BOBYQA/distinfo  |  3 +++
 math/py-Py-BOBYQA/pkg-descr |  5 +++++
 4 files changed, 30 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index 06653c0c70fc..bd3acc4964e2 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -880,6 +880,7 @@
     SUBDIR += py-GridDataFormats
     SUBDIR += py-MutatorMath
     SUBDIR += py-PuLP
+    SUBDIR += py-Py-BOBYQA
     SUBDIR += py-PyMetis
     SUBDIR += py-PySCIPOpt
     SUBDIR += py-PyWavelets
diff --git a/math/py-Py-BOBYQA/Makefile b/math/py-Py-BOBYQA/Makefile
new file mode 100644
index 000000000000..7962468627e9
--- /dev/null
+++ b/math/py-Py-BOBYQA/Makefile
@@ -0,0 +1,21 @@
+PORTNAME=	Py-BOBYQA
+DISTVERSION=	1.4
+CATEGORIES=	math python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Flexible derivative-free solver for general objective minimization
+WWW=		https://numericalalgorithmsgroup.github.io/pybobyqa/build/html/index.html
+
+LICENSE=	GPLv3
+
+RUN_DEPENDS=	${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}pandas>=0.17:math/py-pandas@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scipy>=0.17:science/py-scipy@${PY_FLAVOR}
+		# extras: trustregion
+
+USES=		python
+USE_PYTHON=	distutils autoplist
+
+.include <bsd.port.mk>
diff --git a/math/py-Py-BOBYQA/distinfo b/math/py-Py-BOBYQA/distinfo
new file mode 100644
index 000000000000..20cf78f3bc80
--- /dev/null
+++ b/math/py-Py-BOBYQA/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1699762548
+SHA256 (Py-BOBYQA-1.4.tar.gz) = 71090cad226e25192c797abd63cdba4c6f1c45114328b1a30619eb541d8e132a
+SIZE (Py-BOBYQA-1.4.tar.gz) = 38165
diff --git a/math/py-Py-BOBYQA/pkg-descr b/math/py-Py-BOBYQA/pkg-descr
new file mode 100644
index 000000000000..b99998b8907d
--- /dev/null
+++ b/math/py-Py-BOBYQA/pkg-descr
@@ -0,0 +1,5 @@
+Py-BOBYQA is a flexible package for finding local solutions to nonlinear,
+nonconvex minimization problems (with optional bound constraints), without
+requiring any derivatives of the objective. Py-BOBYQA is a Python implementation
+of the BOBYQA solver by Powell (documentation here). It is particularly useful
+when evaluations of the objective function are expensive and/or noisy.