git: 6aed6e90482e - main - devel/py-mystic: Add py-mystic 0.4.0

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Tue, 18 Apr 2023 18:08:11 UTC
The branch main has been updated by sunpoet:

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

commit 6aed6e90482ef4198bf509c154b1c33b4c2932b9
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2023-04-18 17:51:35 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2023-04-18 18:00:41 +0000

    devel/py-mystic: Add py-mystic 0.4.0
    
    The mystic framework provides a collection of optimization algorithms and tools
    that allows the user to more robustly (and easily) solve hard optimization
    problems. All optimization algorithms included in mystic provide workflow at the
    fitting layer, not just access to the algorithms as function calls. mystic gives
    the user fine-grained power to both monitor and steer optimizations as the fit
    processes are running. Optimizers can advance one iteration with Step, or run to
    completion with Solve. Users can customize optimizer stop conditions, where both
    compound and user-provided conditions may be used. Optimizers can save state,
    can be reconfigured dynamically, and can be restarted from a saved solver or
    from a results file. All solvers can also leverage parallel computing, either
    within each iteration or as an ensemble of solvers.
---
 devel/Makefile            |  1 +
 devel/py-mystic/Makefile  | 27 +++++++++++++++++++++++++++
 devel/py-mystic/distinfo  |  3 +++
 devel/py-mystic/pkg-descr | 11 +++++++++++
 4 files changed, 42 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 921fb473867e..3041613f3668 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4939,6 +4939,7 @@
     SUBDIR += py-mypy-boto3-s3
     SUBDIR += py-mypy-protobuf
     SUBDIR += py-mypy_extensions
+    SUBDIR += py-mystic
     SUBDIR += py-naiveBayesClassifier
     SUBDIR += py-nanotime
     SUBDIR += py-natsort
diff --git a/devel/py-mystic/Makefile b/devel/py-mystic/Makefile
new file mode 100644
index 000000000000..c029b6a9ed9a
--- /dev/null
+++ b/devel/py-mystic/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	mystic
+PORTVERSION=	0.4.0
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Highly-constrained non-convex optimization and uncertainty quantification
+WWW=		https://github.com/uqfoundation/mystic
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=42:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}dill>=0.3.6:devel/py-dill@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}klepto>=0.2.3:devel/py-klepto@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}mpmath>=0.19:math/py-mpmath@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}numpy>=1.0,1:math/py-numpy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}sympy>=0.6.7:math/py-sympy@${PY_FLAVOR}
+
+USES=		python:3.7+
+USE_PYTHON=	autoplist concurrent cython pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-mystic/distinfo b/devel/py-mystic/distinfo
new file mode 100644
index 000000000000..84eec4c609fb
--- /dev/null
+++ b/devel/py-mystic/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1681052886
+SHA256 (mystic-0.4.0.tar.gz) = 04027c856f776b1724b18deab9dd222f0602c20b54dbaadbff7a255006cfadce
+SIZE (mystic-0.4.0.tar.gz) = 556775
diff --git a/devel/py-mystic/pkg-descr b/devel/py-mystic/pkg-descr
new file mode 100644
index 000000000000..606c10e85719
--- /dev/null
+++ b/devel/py-mystic/pkg-descr
@@ -0,0 +1,11 @@
+The mystic framework provides a collection of optimization algorithms and tools
+that allows the user to more robustly (and easily) solve hard optimization
+problems. All optimization algorithms included in mystic provide workflow at the
+fitting layer, not just access to the algorithms as function calls. mystic gives
+the user fine-grained power to both monitor and steer optimizations as the fit
+processes are running. Optimizers can advance one iteration with Step, or run to
+completion with Solve. Users can customize optimizer stop conditions, where both
+compound and user-provided conditions may be used. Optimizers can save state,
+can be reconfigured dynamically, and can be restarted from a saved solver or
+from a results file. All solvers can also leverage parallel computing, either
+within each iteration or as an ensemble of solvers.