Installation
Fiducio requires Python ≥ 3.10 and PyTorch ≥ 2.10.
From PyPI
Fiducio is published on PyPI:
or, in an existing uv application:
The core install depends only on numpy and torch.
If PyTorch is missing, pip installs its default build for your platform. This can include a CUDA runtime and several gigabytes of dependencies. For a CPU-only environment, install CPU PyTorch first:
With compatible PyTorch already present, pip keeps that build and adds Fiducio and any missing dependencies.
Why PyTorch ≥ 2.10
The floor is a security choice, not a tested-compatibility limit. Saved
calibrators are read with torch.load(..., weights_only=True), and 2.10 is the
first release that includes the fixes for CVE-2025-32434 and CVE-2026-24747
(see SECURITY.md).
CI tests the minimum (2.10.0) and the locked release. If your environment is
pinned to an older PyTorch, upgrade it, or open an issue describing the constraint.
From GitHub
To install the development version directly from the repository:
Or with pip:
Developing from a checkout
Use uv 0.12.3 and the committed uv.lock:
git clone https://github.com/fiducio-ai/Fiducio.git
cd Fiducio
uv sync --locked --extra docs --group build
uv run --no-sync pytest
The checkout defaults to Python 3.12 and CPU PyTorch for development and CI. The wheel does not impose that backend: applications using CUDA should install Fiducio into their own compatible PyTorch environment. The development lockfile is not inherited by downstream applications.
Optional extras
Heavy or domain-specific dependencies are kept out of the core install and loaded only when you ask for them:
| Extra | Installs | For |
|---|---|---|
fiducio[plots] |
matplotlib |
reliability-diagram plots |
fiducio[docs] |
MkDocs Material + mkdocstrings | building the docs |
fiducio[dev] |
pytest, pytest-cov, ruff, mypy, build, matplotlib | development |
fiducio[all] |
all of the above | everything |
A minimal install can import fiducio and use every calibrator and metric
without matplotlib present; matplotlib is only needed for the optional
plotting helpers.