Skip to content
/ ropt Public

A Python module for robust optimization

License

Notifications You must be signed in to change notification settings

TNO-ropt/ropt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 for pandas 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

About

A Python module for robust optimization

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages