Installation¶
camfr3 supports CPython 3.10 to 3.14.
From PyPI (Linux)¶
On Linux x86_64, pip installs a pre-built wheel that contains everything, including OpenBLAS and Blitz++, so nothing needs compiling:
python3 -m pip install camfr3
CI also builds wheels for every commit: the wheel-cpXYZ-manylinux_x86_64
artifacts of a CI run
(cp312 for Python 3.12, …) install with pip install camfr3-*.whl.
From source¶
The build needs a C++ and a Fortran compiler, Blitz++ and BLAS/LAPACK. The Python build tools (CMake, Ninja, scikit-build-core, pybind11) are fetched automatically. On Debian or Ubuntu:
sudo apt-get install g++ gfortran libblitz0-dev libblas-dev liblapack-dev
git clone https://github.com/abdelix/camfr3.git
cd camfr3
python3 -m pip install .
On Fedora the packages are gcc-c++ gcc-gfortran blitz-devel openblas-devel.
Machine-specific CMake settings (e.g. a Blitz++ in a non-standard place) go in
a local.cmake file; see local.cmake.example.
For development¶
The repository uses uv:
uv sync # .venv with an editable install and the test tools
uv run pytest # the testsuite
make dev # incremental rebuild after C++/Fortran changes
make docs # this documentation, in docs/_build/html
Checking the installation¶
python3 -c "import camfr; print(camfr.__version__)"
import camfr prints a copyright banner. Matplotlib and Pillow are installed
with camfr3 but only imported when something is plotted.