MinionPy
MinionPy is the Python interface to the Minion C++ optimization library. It focuses on single-objective, derivative-free optimization. The package includes several population-based and local optimization methods, along with CEC benchmark suites that can be used for testing and comparison.
Features
-
Optimization Algorithms
- Differential Evolution-based algorithms:
- Basic Differential Evolution (DE)
- JADE
- LSHADE
- ARRDE
- and other DE variants
- Other population-based algorithms:
- Artificial Bee Colony (ABC)
- Canonical PSO, SPSO-2011, Dynamic Multi-Swarm PSO (DMS-PSO)
- CMA-ES (Covariance Matrix Adaptation Evolution Strategy)
- BIPOP-aCMAES
- RCMAES
- Classical optimization algorithms:
- Nelder-Mead
- Generalized Simulated Annealing (Dual Annealing)
- L-BFGS-B (vectorized & noise-robust)
- L-BFGS (vectorized & noise-robust)
- Differential Evolution-based algorithms:
-
Benchmark Support
The library includes benchmark functions from the CEC competitions (2011, 2014, 2017, 2019, 2020, 2022) and BBOB2009, providing a standardized environment for algorithm development, testing, and comparison. -
Performance
Most implemented algorithms are population-based, making them suitable for parallelization. MinionPy is optimized for vectorized functions, enabling efficient use of multithreading and multiprocessing capabilities. -
Explicit termination status
Optimization results exposestatusso callers can distinguish convergence, evaluation budget exhaustion, callback stops, numerical errors, and other termination reasons. The status prints as a readable string. -
Callback early stopping
Python callbacks receive aMinionResult. ReturnTrueto stop optimization early, or returnFalse/Noneto continue. -
Cross-Platform Compatibility
MinionPy is implemented in C++ with a Python wrapper, supporting usage in both languages. It has been tested on the following platforms:- Windows 11
- Linux Ubuntu 24.04
- macOS Sequoia 15
Applications
MinionPy is applicable in scenarios where single objective, bound-constrained/unconstrauned optimization is required, including engineering, physics, and machine learning. Its standardized benchmarks and high-performance algorithms make it suitable for developing and evaluating new optimization techniques as well as solving real-world optimization problems.
📖 Documentation
For full usage instructions, API reference, and examples, visit the official documentation:
Citing Minion
If you use MinionPy in your research or projects, we would be grateful if you could cite the following publication:
Muzakka, K. F., Möller, S., & Finsterbusch, M. (2025).
Minion: A high-performance derivative-free optimization library designed for solving complex optimization problems.
Zenodo. https://doi.org/10.5281/zenodo.14794239
Metadata
Release files for minionpy 1.9.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 228.5 MB
Release files / minionpy-1.9.1-cp314-cp314-win_amd64.whl
| Download URL | minionpy-1.9.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 9.3 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f637679c8c1510fc8f2d89922ab7bf35407aec9b9a26c03bacf3ef0045dc9dfd
|
|
BLAKE2b-256 checksum How to use checksums |
b5f412930d6392875d8ac0730f8ea3b43a06f0e769e761d124211d74d8c9e3f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | minionpy-1.9.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 9.6 MB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
6e9d5fb72a18861fa67d95856300730ca2a35763ab32beae90d9c7dae8328e7e
|
|
BLAKE2b-256 checksum How to use checksums |
6b16761cbc00c6ddd9b1ba15a800d7afbfeebec7b4aa4d57e4ad921a2a607058
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | minionpy-1.9.1-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.4 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8df9794c85c5124b38b5ffccc0fb0ab995d868ebbffbfef01016c5fb074adcad
|
|
BLAKE2b-256 checksum How to use checksums |
888188e606c31c847bdab1ab317babdcec7490467f2adfa9e82b28105b05bec4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp314-cp314-macosx_10_15_x86_64.whl
| Download URL | minionpy-1.9.1-cp314-cp314-macosx_10_15_x86_64.whl |
|---|---|
| Size | 9.5 MB |
| Tags | CPython 3.14 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
36f169c220c5419d15472939d45ab328d7b242a64ef4fd49406aff36f73c6a94
|
|
BLAKE2b-256 checksum How to use checksums |
3f081e0f6bd1889a65d45d468c797792623b21beeca798811925461c5964ca4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp313-cp313-win_amd64.whl
| Download URL | minionpy-1.9.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 9.6 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d1fff2563c12e689de39f84ddc3cec7f09e6ac5d44da0ec727acfdd6273a20d2
|
|
BLAKE2b-256 checksum How to use checksums |
fe6634017be6b4f21a8318afb37092d8cfabd4e6835910f177b5858a8c35be98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | minionpy-1.9.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 9.6 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c595bd65105083a111abfffec5766ff449636a58c0572ab40ad166fb60547179
|
|
BLAKE2b-256 checksum How to use checksums |
713a1eea28d4325d3d3cdd4c1ee9c6df46970e08de9424df66684a910a506de6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | minionpy-1.9.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.4 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
14c1eeec9cdbf0fe3b370a82b6b93dee0c4fb00e73429343ce79d4ed817274b7
|
|
BLAKE2b-256 checksum How to use checksums |
4b1e93d2c529541b925b85151db0123206b9ceef7bfb60e35618db8a237214b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | minionpy-1.9.1-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 9.5 MB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
24d9eadc151696ab5083e7fc6d9aaadc42fc1ec4654fb32386106ac1460f0e3f
|
|
BLAKE2b-256 checksum How to use checksums |
ecaa2809fcc92bd6c2d81ce845e0f5e26c8d6d9480bfe47f803c521ea87eff65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp312-cp312-win_amd64.whl
| Download URL | minionpy-1.9.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 9.6 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
3b5b5873bacd321ea2646939be829e3c7677f450cf21f6b2d124d38f7150a643
|
|
BLAKE2b-256 checksum How to use checksums |
5324ecbff09184fe6d1ece3e6fa36b54af3f95398b6cd9baad041a16c62f2f39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | minionpy-1.9.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 9.6 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
05cb72fec346591de0cce94627ef5b1ff91889b97a647a06f850354fa237711b
|
|
BLAKE2b-256 checksum How to use checksums |
e7df1f48c69153771eaa51a6f721a25e19eddbda65e54ae7fdefb3a3da0accbe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | minionpy-1.9.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.4 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8545394be9e2d519b36370688ad5c931f7c9d20c3e0975f9adac3bf38a812a48
|
|
BLAKE2b-256 checksum How to use checksums |
c26f408f63df8f3429ebfc1cad912f5aaf3a35f0d22f9ce4a07ea95de219a77f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | minionpy-1.9.1-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 9.5 MB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
07e960127e156032f38be9cf16c3bb558813061c99617ab4b262095b5259e516
|
|
BLAKE2b-256 checksum How to use checksums |
b155b68ad3a049a7d280db4fac9a8155f59049e8672d92278a1a14480b270c9d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp311-cp311-win_amd64.whl
| Download URL | minionpy-1.9.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 9.6 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2fbab3756db64bb25969e71d494dffe993d55b7a6da0dbf523095f527b23ad7c
|
|
BLAKE2b-256 checksum How to use checksums |
a3ad38c3fc382c1da876b81042780364a07a4d7b67104a2709e62575cab0e52c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | minionpy-1.9.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 9.6 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5acdaced1ac53bc3d083bbd8250a8d8fa7e5fca7ba57889e1d11019088244056
|
|
BLAKE2b-256 checksum How to use checksums |
ba68784f788b4632b9de0cf959a0615a8f564414db50ef15b417e138328791ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | minionpy-1.9.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.4 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c0d9b4c9cd172f7012e7ad5538e9920a85b410b1e0a22d4fcd3197de89b804d5
|
|
BLAKE2b-256 checksum How to use checksums |
2c80b6d15baff6f545b5f684f1ee0d32afb5da8f67a4d6c3c5cf7d6f103f31e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | minionpy-1.9.1-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 9.5 MB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
0339b536b674484f451a09fac72e84e555bc5843282a86bb027f4eaacc7a6204
|
|
BLAKE2b-256 checksum How to use checksums |
f4e64f3bf3c7cc7ba3ce57eefeb3797bb399d64c283e691b4326d7a45e881c0c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp310-cp310-win_amd64.whl
| Download URL | minionpy-1.9.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 9.6 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
79054e9afe593cdbe4384d4bdb1e88a3606a6a797e02db5a4e69efa720e86791
|
|
BLAKE2b-256 checksum How to use checksums |
65dd08b54ebb6776d130992f33e4af8a0d840f36cf531d81ea80c9802698fb7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | minionpy-1.9.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 9.6 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d002b3835fabc033d69340d1e1228fff70d6574942036d01c281a79ea788435c
|
|
BLAKE2b-256 checksum How to use checksums |
aa8c94e6c2da686b4955be2f2764e2dea282ff6434394b34ed2e879937a0628e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | minionpy-1.9.1-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.4 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
93a570acf1c438c20119a6ecf3630163d6d6fcf48b041ccb12d7ee6bf4f79e8b
|
|
BLAKE2b-256 checksum How to use checksums |
fb4ee275eb202495b4a0da4008b4037d157d5662d3a283c87591695691886ba3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | minionpy-1.9.1-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 9.5 MB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
a2fd75f8d2c79296f028d21b9c1123c1badb229c29ce18fcc3f80c563e465abe
|
|
BLAKE2b-256 checksum How to use checksums |
f8089bb08f3f804d4b02de515dc3c7a1d3029839c07caa26bda8baef19da745f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp39-cp39-win_amd64.whl
| Download URL | minionpy-1.9.1-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 9.6 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
533c7e594f6da77bf566dc44f52e936db998e7fe65e8febd7c609828f0cbdb54
|
|
BLAKE2b-256 checksum How to use checksums |
32dd3698ff18c7bfae57df41a05ae8d2c9bbdacd3d08db281e66cf80d3af6496
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | minionpy-1.9.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 9.6 MB |
| Tags | CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7b573be076ab6f176d9b33a406ffd7c3f6b9c91709b302e877ccc0e41c34b0d5
|
|
BLAKE2b-256 checksum How to use checksums |
6dc784ee3b6e3215b899ef297ed5d6e189db2628dc380b052970a1d39a5eb965
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | minionpy-1.9.1-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.4 MB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8be456ed0e5d58868867f74de79da6bc7a8724456b41b9de55aafcde2c108b27
|
|
BLAKE2b-256 checksum How to use checksums |
816b89557997e31a998769c8e60d2a882aaf3113b9d4a1e355a9fc1490cece29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / minionpy-1.9.1-cp39-cp39-macosx_10_9_x86_64.whl
| Download URL | minionpy-1.9.1-cp39-cp39-macosx_10_9_x86_64.whl |
|---|---|
| Size | 9.5 MB |
| Tags | CPython 3.9 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
99d0ea85158db128385b3860df063e001d80c3f363ef4b17665c08975c3c68dd
|
|
BLAKE2b-256 checksum How to use checksums |
82ab38dae0d91e9625d73f7675b1f551cd4fb1adfe17b0b1c1cf0e05990882ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Security for minionpy 1.9.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.