Installation#

Precompiled Wheels#

The fastobo Python module is implemented in Rust, but the Rust compiler is only required if your platform does not have precompiled wheels available. Currently, we provide wheels for the following platforms:

  • Linux: x86-64 and Aarch64

  • MacOS: x86-64 and Aarch64

  • Windows: x86-64 only.

The supported Python versions are provided with the cibuildwheel tool. Downloading and installing from a wheel is then as simple as:

$ pip install fastobo --user

If your platform and implementation is not listed above, you will need to build from source (see next section).

Conda package#

fastobo is also available for Conda in the conda-forge channel:

$ conda install conda-forge::fastobo

Piwheels#

fastobo works on Raspberry Pi computers, and pre-built wheels are compiled for armv7l on piwheels. Run the following command to install these instead of compiling from source:

$ pip3 install fastobo --extra-index-url https://www.piwheels.org/simple

Check the piwheels documentation for more information.

Building from source#

In order to build the code from source, you will need to have the Rust compiler installed and available in your $PATH. See documentation on rust-lang.org to learn how to install Rust on your machine.

Then installing with pip will build the pacakge:

$ pip install fastobo --user -v --no-binary :all:

Be patient, it can take a long time on lower-end machine!

Note that this will install a static library that have been built with most feature flags disabled for compatibility purposes. If you wish to build the optimized library from source, with all feature flags enabled, make sure to have -C target-cpu=native in your $RUSTFLAGS environment while building:

$ RUSTFLAGS="-Ctarget-cpu=native" pip install fastobo --user --no-binary :all: