Platforms and dependencies

Read side by side

On this page

Base package

The supported CPU targets are Linux and Windows on Python 3.11, 3.12 and 3.13. The base package requires NumPy 1.26 or newer. JAX, PyTorch, CuPy, SciPy, SymPy and LaTeX are optional.

The release matrix checks both source execution and clean installations of one common wheel and source distribution on all six platform/Python targets. Each installed job rebuilds a wheel from the source distribution and executes the same runtime profile against both wheels. The release guide defines those checks and their records.

Optional dependencies

Extra Requirement Use
exact SymPy 1.14 or newer Symbolic algorithms and Smith transformation matrices
scientific SciPy 1.11 or newer, mpmath 1.3 or newer Scientific and high precision routines
plot Matplotlib 3.8 or newer Plotting examples
yaml PyYAML 6.0 or newer YAML input and output
jax JAX 0.4 or newer Directional automatic differentiation
torch PyTorch 2.1 or newer Directional automatic differentiation
autodiff JAX and PyTorch Both derivative adapters
all Exact, scientific, plotting and YAML extras Combined mathematical dependencies

Directed quadratic-form enclosures specifically require mpmath==1.3.0. That arithmetic trust requirement is narrower than the general scientific extra's version range. The all extra does not install autodiff, CUDA or development tools.

The minimum CPU dependency job uses Python 3.11 with NumPy 1.26.4, SymPy 1.14.0, SciPy 1.11.4 and mpmath 1.3.0. It tests that combination, rather than every combination allowed by the metadata. Exact environments used for a release are recorded with its qualification results.

Native backends

JAX and PyTorch are loaded lazily. Availability requires a successful child-interpreter import and the directional JVP capability used by the adapter. Finding an installed package is insufficient. See backend isolation.

CuPy is installed separately because its distribution must match the local CUDA line. The CUDA installation guide describes the environment boundary, and GPU validation describes the checked computations.

Additional environments

macOS, Windows ARM64, Linux ARM64, native Windows JAX GPU and other unrecorded platforms are outside the declared release matrix. They require their own execution records before a support claim is made. A constraints file records one reproduced environment. It does not make every listed dependency mandatory for the base package.