A selective and fast engine for exploratory landscape analysis.
Documentation · Quick start · API reference · Changelog · Contributing
orivex is a successor to pflacco
for exploratory landscape analysis (ELA). Compute individually selected features from sampled
points and objective values, with shared intermediates, explicit costs, and versioned definitions.
A NumPy/SciPy core is complemented by an optional differentiable PyTorch backend.
Python 3.10 or newer is required. Install from PyPI:
pip install orivexAdd the optional differentiable PyTorch backend with pip install "orivex[torch]".
To work from a checkout instead:
git clone https://github.com/helix-agh/orivex.git
cd orivex
uv syncWith pip, run python -m pip install -e . (add ".[torch]" for the PyTorch backend).
import numpy as np
from orivex import LandscapeSample, compute
rng = np.random.default_rng(42)
x = rng.uniform(-5.0, 5.0, size=(200, 2))
y = np.sum(x**2, axis=1)
sample = LandscapeSample(x, y, lower=[-5.0, -5.0], upper=[5.0, 5.0])
result = compute(sample, ["ela_distr.skewness", "nbc.nn_nb.mean_ratio"])
for name, item in result.values.items():
print(name, item.value, item.status.value)Objective values are min-max normalized by default. Pass y_normalization=None to use raw
canonical objectives. Undefined features return an invalid status with an explanation.
Read the documentation for installation, feature selection, normalization, fitness-distance conventions, PyTorch support, and API reference. The feature overview, contributing guide, and benchmark guide are also available.
Preview the documentation locally:
uv sync --extra docs
uv run --no-sync mkdocs serveSee documentation development for strict builds and deployment.
orivex is licensed under the MIT License.