FURY supports Python 3.5+. You can currently still use Python 2.7 but it will soon stop being supported as the Python 2.7 end of life is on December 31st 2019.


The mandatory dependencies are:

  • numpy >= 1.7.1

  • vtk >= 8.1.0

  • scipy >= 0.9

The optional dependencies are:

  • matplotlib >= 2.0.0

  • dipy >= 0.16.0

Installation with PyPi

In a terminal, issue the following command

pip install fury

Installation with Conda

Our conda package is on the Conda-Forge channel. You will need to run the following command

conda install -c conda-forge fury

Installation via Source

Step 1. Get the latest source by cloning this repo

git clone

Step 2. Install requirements

pip install -r requirements/default.txt

Step 3. Install fury via

pip install .


pip install -e .

Step 4: Enjoy!

Test the Installation

You can check your installation via this command

python -c "from fury import get_info; print(get_info())"

This command will give you important information about FURY’s installation. The next step will be to run a tutorial.

Running the Tests

Let’s install all required packages for the running the test

pip install -r requirements/default.txt
pip install -r requirements/test.txt

There are two ways to run FURY tests:

  • From the command line. You need to be on the FURY package folder

pytest -svv fury
  • To run a specific test file

pytest -svv fury/tests/
  • To run a specific test directory

pytest -svv fury/tests
  • To run a specific test function

pytest -svv -k "test_my_function_name"

Running the Tests Offscreen

FURY is based on VTK which uses OpenGL for all its rendering. For a headless rendering, we recommend to install and use Xvfb software on linux or OSX. Since Xvfb will require an X server (we also recommend to install XQuartz package on OSX). After Xvfb is installed you have 2 options to run FURY tests:

  • First option

export DISPLAY=:0
Xvfb :0 -screen 1920x1080x24 > /dev/null 2>1 &
pytest -svv fury
  • Second option

export DISPLAY=:0
xvfb-run --server-args="-screen 0 1920x1080x24" pytest -svv fury

Populating our Documentation

Folder Structure

Let’s start by showcasing the docs folder structure:

├── docs
│ ├── build
│ ├── make.bat
│ ├── Makefile
│ ├──
│ ├──
│ ├── demos
│ ├── tutorials
│ ├── experimental
│ └── source
├── requirements.txt
├── fury
│ ├──
│ ├── …
│── …

In our docs folder structure above:

  • source is the folder that contains all *.rst files.

  • tutorials is the directory where we have all python scripts that describe how to use the api.

  • demos being the FURY app showcases.

  • experimental directory contains experimental Python scripts. The goal is to keep a trace of expermiental work.

Building the documentation

Step 1. Install all required packages for the documentation generation

pip install -U -r requirements/default.txt
pip install -U -r requirements/optional.txt
pip install -U -r requirements/docs.txt

Step 2. Go to the docs folder and run the following command to generate it (Linux and macOS)

make -C . clean && make -C . html

To generate the documentation without running the examples

make -C . clean && make -C . html-no-examples

or under Windows

make clean
make html

To generate the documentation without running the examples under Windows

make clean
make html-no-examples

Step 3. Congratulations! the build folder has been generated! Go to build/html and open with browser index.html to see your generated documentation.