Installation
Install pyINLA and download the INLA binary for your platform.
Install the Python package
pip install pyinla
We recommend using a virtual environment (uv, conda, or venv) to keep dependencies isolated.
The INLA binary
pyINLA is a Python interface to the INLA C/C++ engine. The engine is distributed as a pre-compiled binary and must be downloaded separately after installing the Python package.
Automatic download: The binary is auto-detected and downloaded the first time you run a model. On Linux, pyINLA reads /etc/os-release to pick the correct distro-specific build automatically.
Recommended: Download the binary explicitly before fitting models, especially in Jupyter notebooks or Docker containers, so any network issues are caught early.
Download the binary
Run this once after pip install pyinla:
import pyinla # Auto-detect your platform and download pyinla.download_binary()
pyINLA uses a built-in manifest (binaries.json) to select the correct binary for your OS and architecture. On Linux, it reads /etc/os-release to pick a distro-specific build (Ubuntu, Fedora, Rocky, etc.).
To force a re-download (e.g. to update to a newer version):
pyinla.download_binary(force=True)
Supported distros: Ubuntu 22.04/24.04/25.04, Fedora, Rocky 8/9/10, CentOS 7, macOS (Intel and Apple Silicon), Windows. If your distro isn't listed, pyINLA uses the default Linux build.
Debian, Mint, Pop!_OS, etc.: These Ubuntu-based distros are matched automatically to the closest Ubuntu build. If auto-detection fails, use download_binary_from_url() with a specific URL from the R-INLA server (see below).
Changelog
Version history and updates for pyINLA.
v0.1.8 Latest May 2026 · INLA 26.05.10, Debian/Mint/Pop!_OS routing, sha256 verification
INLA engine upgraded to 26.05.10. The bundled manifest now points at the new build for every supported platform (Ubuntu 22/24, Fedora, Rocky 8/9/10, macOS Intel + Apple Silicon, Windows; Linux aarch64 via Ubuntu 24). Two platforms remain pinned at older builds because no native 26.05.10 exists upstream: Ubuntu 25.04 (25.12.16) and CentOS 7 (26.02.06).
Distro auto-routing for Debian, Mint, Pop!_OS, AlmaLinux, Oracle Linux. download_binary() now reads ID_LIKE from /etc/os-release and routes Debian-family distros to the closest Ubuntu build, and RHEL-family distros to Rocky 9 (instead of CentOS 7), with explicit fallback ordering for each family.
SHA-256 verification. Every entry in binaries.json ships with a precomputed sha256; downloads that don't match are rejected before extraction.
v0.1.7 May 2026 · Safety-layer hardening, expanded link-function coverage
Safety-layer hardening: cross-family control['family']['hyper'] uniformity check, expanded link-function coverage (gaussian / beta / betabinomial accept logit, log, cauchit, loga; poisson accepts quantile and logoffset; nbinomial rejects quantile cleanly before the C engine crashes). Schema introspection now pins to.theta / from.theta overrides for sn / stochvolsn / tweedie. INLA.Expert / INLA.stiles / INLA.taucs Model.ini sections fully emitted.
v0.1.6 March 2026 · Initial public release
Initial public release.