Skip to main content

iwopy

Fraunhofer IWES optimization tools in Python

IWOPY logo

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

DOI

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

  • raise an issue here,
  • or start a discussion here,
  • or contact the contributers.

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)

Source distribution for iwopy 1.0.0
File Size Uploaded
iwopy-1.0.0.tar.gz 155.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iwopy 1.0.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.9

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page