Skip to main content

IOHinspector banner


Tests Codacy Badge Codacy Badge PyPI - Version PyPI - Downloads

IOHinspector is a Python package designed for processing, analyzing, and visualizing benchmark data from iterative optimization heuristics (IOHs). Whether you're working with single-objective or multi-objective optimization problems, IOHinspector provides a collection of tools to gain insights into algorithm performance.

IOHinspector is a work-in-progress, and as such some features might be incomplete or have their call signatures changed or expanded when new updates release. As part of the IOHprofiler framework, our aim is to achieve feature parity with the IOHanalyzer web-version. Additionally, this package serves as the basis for large-scale data processing, which is currently unspported on the web version.

Features

  • Data Processing: Efficient import and process benchmark data. We currently only support the file structure from IOHexperimenter, but this will be expanded in future releases. By utlizing polars and the meta-data split, large sets of data can be handled efficiently.
  • Analysis: Perform in-depth analyses of single- and multi-objective optimization results. For the multi-objective scenario, a variety of performance indicators are supported (hypervolume, igd+, R2, epsilon), each with the option to flexibly change reference points/set as required.
  • Visualization: Create informative plots to better understand the optimization process. This included standard fixed-budget and fixed-target plots, EAF and ECDF visualization and more.

Installation

The minamal suported Python version is 3.10. Install IOHinspector via pip:

pip install iohinspector

Basic usage

The basic usage of the framework is through the data manager object. A simple example is given below. This assumes that a folder created via the IOHexperimenter called test_data exists and contains profiling data. This can be generated via the file generate_test_data.py in the tests folder.

import os
from iohinspector import DataManager, plot_ecdf

# Creating a data manager
manager = DataManager()
data_folders = [os.path.join('test_data', x) for x in os.listdir('test_data')]
manager.add_folders(data_folders)

# Loading & selecting data 
selection = manager.select(function_ids=[1], algorithms=['algorithm_A', 'algorithm_B'])
df = selection.load(monotonic=True, include_meta_data=True)

# Creating an ECDF plot
plot_ecdf(df)

ecdf

Tutorials

To highlight the usage of IOHinspector, we have created two tutorials in the form of jupyter notebooks:

License

This project is licensed under a standard BSD-3 clause License. See the LICENSE file for details.

Acknowledgments

This work has been estabilished as a collaboration between:

  • Diederick Vermetten
  • Jeroen Rook
  • Oliver L. Preuß
  • Jacob de Nobel
  • Carola Doerr
  • Manuel López-Ibañez
  • Heike Trautmann
  • Thomas Bäck

Cite us

Citation information coming soon!

Metadata

Release files for iohinspector 0.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iohinspector 0.0.8
File Size Uploaded
iohinspector-0.0.8.tar.gz 40.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iohinspector 0.0.8
File Interpreter ABI Platform
iohinspector-0.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 92.3 kB

Release files / iohinspector-0.0.8.tar.gz

Download URL iohinspector-0.0.8.tar.gz
Size 40.5 kB
Tags Source
SHA-256 checksum
How to use checksums
da1dbc098ccef05ce4a823ea7f390f5bf03b4d6ddaab71991731ffad41213437
BLAKE2b-256 checksum
How to use checksums
b572eb73a28fb00d824ceb39ebb4e2ecffd72a712829bcba00afb9555a7d3d58
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 Aug 4, 2026.

Transparency log

Release files / iohinspector-0.0.8-py3-none-any.whl

Download URL iohinspector-0.0.8-py3-none-any.whl
Size 51.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bc8f1bb1edd5622882224a0aa6ba586863fae158f7cced299399d514a1a0d93b
BLAKE2b-256 checksum
How to use checksums
8bbe9fdcede43f65c14f63c0a143d851a141743ecf0b24f5d8b102f910bc236e
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 Aug 4, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.8 This release

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

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