Optilab
Optilab is a lightweight and flexible python framework for testing black-box optimization.
Features
- ✅ Intuitive interface to quickly prototype and run optimizers and metamodels.
- 📚 High quality documentation.
- 📈 Objective functions, optimizers, plotting and data handling.
- ⋙ CLI functionality to easily summarize results of previous experiments.
- 🚀 Multiprocessing for faster computation.
How to install
Optilab has been tested to work on python versions 3.11 and above. To install it from PyPI, run:
pip install optilab
You can also install from source by cloning this repo and running:
make install
Try the demos
Learn how to use optilab and fit it to your needs with demo notebooks in demo directory.
CLI tool
Optilab comes with a powerful CLI tool to easily summarize your experiments. It allows for plotting the results and performing statistical testing to check for statistical significance in optimization results.
usage: optilab [-h] [--aggregate_pvalues] [--aggregate_stats] [--entries ENTRIES [ENTRIES ...]]
[--hide_outliers] [--hide_plots] [--no_save] [--raw_values]
[--save_path SAVE_PATH] [--siginificance SIGINIFICANCE] [--test_evals] [--test_y]
pickle_path
Optilab CLI utility.
positional arguments:
pickle_path Path to pickle file or directory with optimization runs.
options:
-h, --help show this help message and exit
--aggregate_pvalues Aggregate pvalues of stat tests against run 0 in each pickle file into
one table.
--aggregate_stats Aggregate median and iqr for all processed runs into one table.
--entries ENTRIES [ENTRIES ...]
Space separated list of indexes of entries to include in analysis.
--hide_outliers If specified, outliers will not be shown in the box plot.
--hide_plots Hide plots when running the script.
--no_save If specified, no artifacts will be saved.
--raw_values If specified, y values below tolerance are not substituted by tolerance
value.
--save_path SAVE_PATH
Path to directory to save the artifacts. Default is the user's working
directory.
--significance SIGNIFICANCE
Statistical significance of the U tests. Default value is 0.05.
--test_evals Perform Mann-Whitney U test on eval values.
--test_y Perform Mann-Whitney U test on y values.
Docker
This project comes with a docker container. You can pull it from dockerhub:
docker pull mlojek/optilab
Or build it yourself:
make docker
Metadata
Release files for optilab 24
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| optilab-24-py3-none-any.whl | Python 3 | none | any | Details |
Release files / optilab-24-py3-none-any.whl
| Download URL | optilab-24-py3-none-any.whl |
|---|---|
| Size | 55.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
81fb2346f92567e09809a2f62fe13f80e10ebbecd44d1d1bf5cf3674bd54a78d
|
|
BLAKE2b-256 checksum How to use checksums |
d45c670b203eee898818eeafa2c83bd35be720ab008ace971dc024483ee59f1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 Jul 28, 2025.
Transparency log