Home Installation Demos C++ docs Python docs
Installation
Standard
Basix can be installed using
pip install .
Advanced
In the standard install, the C++ library is built and installed inside the Python package. This method is suitable for the majority of use cases.
It is also possible to install the C++ and Python interfaces separately (see below). This is useful if you only need the C++ interface, and can be helpful during development.
C++ library
In the cpp/ directory:
cmake -DCMAKE_BUILD_TYPE=Release -B build-dir -S .
cmake --build build-dir
cmake --install build-dir
You may need to use sudo for the final install step. Using the CMake
build type Release is strongly recommended for performance.
Python interface
After installing the C++ library, install the Python interface by running in
the directory python/:
pip install .
Running the unit tests
To install Basix and the extra depedencies required to run the Python unit tests:
pip install .[test]
From the directory python/ the tests can be run with:
pytest test/
Dependencies
C++
Basix depends on xtensor, BLAS
and LAPACK. CMake will download xtensor if it cannot be found.
Python
When using the standard install approach all build and runtime dependencies for the C++ and Python parts of Basix will be fetched automatically.
Building the Python interface requires
pybind11.
At runtime Basix requires numpy.
Basix specifies sets of optional extras docs, lint, optional, test, and
ci for building documentation, linting, enabling optional features, testing
and for continuous integration, respectively, e.g.:
pip install .[docs,lint] 