The ropt ensemble optimizer module
Project description
ropt
ropt
is a Python module for running robust optimization workflows.
ropt
is developed by the Netherlands Organisation for Applied Scientific
Research (TNO). All files in this repository are released under the GNU General
Public License v3.0 (a copy is provided in the LICENSE file).
Detailed documentation and examples can be found in the online manual.
Dependencies
ropt
has been tested with Python versions 3.8-3.12.
ropt
requires one or more optimization plugins to function. By default, a
plugin based on optimizers included with SciPy is
installed.
Installation
From PyPI:
pip install ropt
The following optional-dependencies can be installed to enable extra functionality:
pandas
: Enables support forpandas
export and tabular output.xarray
: Enables support for xarray and writing netCDF files.parsl
: Enables the parsl-based evaluator functionality.
Install with:
pip install ropt[<dep>]
where <dep> is one of the optional dependencies listed above. To install all:
pip install ropt[pandas,xarray,parsl]
Development
The ropt
source distribution can be found on
GitHub. It uses a standard pyproject.toml
file, which contains build information and configuration settings for various
tools. A development environment can be set up with compatible tools of your
choice.
The uv package manager offers an easy way to
install ropt
in its own virtual environment:
uv sync # or:
uv sync --all-extras # To add all optional dependencies
The ropt
package uses ruff (for formatting and
linting), mypy (for static typing), and
pytest (for running the test suite).
The documentation is written using MkDocs and
mkdocstrings. To view the documentation
locally, start the built-in server within the ropt
distribution directory:
mkdocs serve
All development and documentation tools are declared in pyproject.toml
as uv
development dependencies and can be installed using the --dev
flag:
uv sync --dev
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.