iwopy
Fraunhofer IWES optimization tools in Python
Overview
Define your optimization problem once and use native or external solvers through a shared Python interface. Available external integrations include:
iwopy's GG and SLSQP optimizers are included. LocalFD supplies finite-difference
derivatives; DiscretizeRegGrid is the regular-grid problem wrapper. Population
evaluation batches candidates or derivative points when the chosen backend supports it.
The optimizer catalog lists every selectable optimizer with a short description and a runnable, explicit Python setup.
Documentation: https://fraunhoferiwes.github.io/iwopy
Source code: https://github.com/FraunhoferIWES/iwopy
PyPi reference: https://pypi.org/project/iwopy/
Anaconda reference: https://anaconda.org/conda-forge/iwopy
Citation
Please cite the JOSS paper IWOPY: Fraunhofer IWES optimization tools in Python
BibTeX is available on the citation page.
Requirements
Supported Python versions: 3.10 through 3.14. NumPy, SciPy, and matplotlib are base dependencies.
Installation
Install in an active virtual environment:
pip install iwopy
Optional extras are cma, nevergrad, optuna, deap, pymoo, and pygmo;
use pip install 'iwopy[opt]' for all backends. SciPy differential evolution
needs no extra. Nevergrad currently requires NumPy below 2.4.
Conda users can install the conda-forge package:
conda install -c conda-forge iwopy
See the installation guide for environment setup and development-branch installation.
Optimizer Creation
Select a backend family and algorithm through the standalone factory:
from iwopy.benchmarks import QuadraticProblem
from iwopy import create_optimizer
solver = create_optimizer(
family="iwopy",
optimizer="SLSQP",
problem=QuadraticProblem(),
max_iterations=100,
)
solver.initialize(verbosity=0)
results = solver.solve(verbosity=0)
Optimizer classes use explicit parameters and flat native keyword options. Existing class names remain available. See the creation API for all families, including SciPy methods and PyGMO-backed NLopt solvers. The shared parameter table explains population/batch units and supported native termination limits.
Development
git clone https://github.com/FraunhoferIWES/iwopy.git
cd iwopy
uv sync --extra dev --extra test --extra opt --upgrade
uv run pre-commit install
uv run pre-commit run --all-files
uv run pytest tests
Follow AGENTS.md and docs/development.md for test ownership and completion gates. Contributions are welcome through pull requests.
Support
For trouble shooting and support, please
Thanks for your help with improving iwopy!
Metadata
Release files for iwopy 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iwopy-1.0.0.tar.gz | 155.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iwopy-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 386.3 kB
Release files / iwopy-1.0.0.tar.gz
| Download URL | iwopy-1.0.0.tar.gz |
|---|---|
| Size | 155.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4112dabd84ff39abf16cd1656e6056e5c3573e8e87092583bd6979fa30c69115
|
|
BLAKE2b-256 checksum How to use checksums |
982518201b70ff7d37d56790f4496dc093511a0d1c0d42158ce1d19a574a30f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logRelease files / iwopy-1.0.0-py3-none-any.whl
| Download URL | iwopy-1.0.0-py3-none-any.whl |
|---|---|
| Size | 230.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ce6276b2ba6c8a0765dae850c30ed436d4e26c0217eaa70cfe0ea451231911b1
|
|
BLAKE2b-256 checksum How to use checksums |
bb216e673870102b127c929d3f58ab4acd1b0f71af0a6e91c821713724277769
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency log