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¶
- Run both core workflows in the Quick Start.
- Check supported score interfaces in Detector Compatibility.
- Review the API Stability Contract before building a reusable integration.