Skip to content
Edit this page View source of this page

Installation

Requirements

  • Python 3.12 or newer
  • A supported platform for NumPy, SciPy, pandas, and scikit-learn

The core package includes batch conformal detection, FDR selection, sequential conformal monitoring, and conformal martingales.

Core installation

Use the core installation with supported scikit-learn estimators or a custom detector.

pip install nonconform
uv add nonconform

Optional extras

Install only the capabilities your application needs.

Extra Adds Needed for
[pyod] PyOD PyOD's detector collection
[data] oddball and PyArrow Packaged benchmark-dataset workflows
[fdr] online-fdr Online multiple-testing procedures such as GAI and LORD
[probabilistic] KDEpy and Optuna Probabilistic() KDE estimation and tuning
[all] Every optional dependency above Development or environments that need every feature

For PyOD models and the example datasets used throughout this site:

pip install "nonconform[pyod,data]"
uv add "nonconform[pyod,data]"

For every optional capability:

pip install "nonconform[all]"
uv add "nonconform[all]"

Sequential monitoring needs no extra

nonconform.monitoring and nonconform.martingales belong to the core installation. The [fdr] extra is for controlling false discoveries across hypotheses tested online. It is not required for conformal martingale change monitoring, and the two guarantee types are not interchangeable.

Verify the installation

import nonconform
from nonconform.martingales import SimpleJumperMartingale
from nonconform.monitoring import ExchangeabilityMonitor

print(f"nonconform {nonconform.__version__}")
print(SimpleJumperMartingale.__name__)
print(ExchangeabilityMonitor.__name__)

If an optional import fails, verify that its matching extra was installed into the same Python environment that runs your code.

Next steps