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

or under Windows:

$ ./make.bat clean
$ ./make.bat html

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