Note: this is documentation for an old release. View the latest documentation at docs.fenicsproject.org/basix/v0.9.0/install.html

Basix 0.4.1

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]