Installation¶
Supported platforms¶
| Status | |
|---|---|
| Linux | x86-64, glibc 2.28 or newer |
| Windows 10 | x86-64, needs the Visual C++ Redistributable |
| Python | 3.11 or newer |
Only 64-bit architectures are supported. macOS is not supported.
Installing from PyPI¶
Each wheel carries the intrepid library for its platform, so there is nothing
else to install. pip install intrepyd[plots] also installs matplotlib, which
intrepyd.plots needs. For an isolated environment:
Working from source¶
make bootstrap_linux installs make, git, python3-venv and python3-pip
with sudo apt, creates a virtualenv in venv/, and runs make install_dev
in it. That installs intrepyd in editable mode together with the dev
dependency group of pyproject.toml (pylint, coverage, the release tools,
matplotlib). In a virtualenv of your own, run make install_dev directly; it
needs pip 25.1 or newer.
Activating the virtualenv is optional for make: when venv/ exists and no
other virtualenv is active, every target uses venv/bin/python. Pass
PYTHON=... to pick another interpreter, and HOST_PYTHON=... to choose the
one the bootstrap targets create venv/ with.
The intrepid library
intrepyd/api.py loads the library from intrepyd/ itself, where
make fetch_intrepid puts it. That downloads, for the current platform,
the release named in INTREPID_VERSION from the
formalmethods/intrepid
releases. The repository is private, so the download needs a GitHub token
with read access to it, from GITHUB_TOKEN or from gh auth login.
To work against a local checkout of intrepid instead, build it there and
point INTREPID_DIR at it:
The INTREPID_LIBRARY environment variable overrides all of this at run
time: set it to the path of a library file and intrepyd.api loads that
one.
Troubleshooting¶
ImportError: Cannot find the intrepid library
intrepyd/libintrepid.so (intrepid.dll on Windows) is missing: run
make fetch_intrepid, or set INTREPID_LIBRARY to the path of a library.
fetch_intrepid fails with HTTP Error 404
Either the token cannot read the private intrepid repository, or the
release named in INTREPID_VERSION does not exist, or has no package for
this platform.
ensurepip is not available when creating the virtualenv
Debian and Ubuntu ship venv separately: install python3-venv and delete
the half-created venv/ before running make bootstrap_linux again.
A test fails with an error mentioning trace.cpp
On an error, the intrepid library writes the API calls made so far to
trace.cpp in the current directory, as a C++ program that replays them.
It is a debugging aid, and safe to delete.