Supriya works on OSX and Unix/Linux with Python 3.3+.

Install Supriya

Install Supriya from its GitHub repository, via git and pip:

~$ git clone
~$ cd supriya
supriya$ pip install -e .

Install Optional Dependencies

With Cython support:

supriya$ pip install -e .[accelerated]

With IPython support:

supriya$ pip install -e .[ipython]

With MIDI support (via python-rtmidi):

supriya$ pip install -e .[midi]

With soundfile support (via libsndfile and wavefile):

supriya$ pip install -e .[wave]

On OSX, you can get libsndfile via HomeBrew. On Linux, consult your package manager.

With test dependencies:

supriya$ pip install -e .[test]

Install SuperCollider

Supriya uses SuperCollider as its synthesis engine. SuperCollider is available on OSX, Linux and Windows (although Supriya has not been tested on Windows).

You can download SuperCollider from

Install Graphviz (optional)

Supriya uses Graphviz, an open-source graph visualization library, to create graphs of rhythm-trees and other tree structures, and to create visualizations of class hierarchies for its documentation. Graphviz is not necessary for making sounds with Supriya.

To install Graphviz on Debian and Ubuntu:

~$ sudo apt-get install graphviz

To install Graphviz on OSX via Homebrew:

~$ brew install graphviz

Once you have install Graphviz, test if Graphviz is callable from your command-line by running the following command:

~$ dot -V
dot - graphviz version 2.38.0 (20140413.2041)

Virtual environments

We strongly recommend installing Supriya into a virtual environment, especially if you intend to hack on Supriya’s own source code. Virtual environments allow you to isolate Python packages from your systems global collection of packages. They also allow you to install Python packages without sudo. The virtualenv package provides tools for creating Python virtual environments, and the virtualenvwrapper package provides additional tools which make working with virtual environments incredibly easy.

To install and setup virtualenv and virtualenvwrapper:

~$ pip install virtualenvwrapper
~$ mkdir -p $WORKON_HOME
~$ export WORKON_HOME=~/.virtualenvs
~$ source /usr/local/bin/

Make the last two lines teaching your shell about the virtual environment tools “sticky” by adding them to your profile:

~$ echo "export WORKON_HOME=~/.virtualenvs" >> ~/.profile
~$ echo "source /usr/local/bin/" >> ~/.profile

With the virtual environment tools installed, create and activate a virtual environment. You can now install supriya into that environment:

~$ mkvirtualenv my-supriya-env
(my-supriya-env) ~$ git clone
(my-supriya-env) ~$ cd supriya
(my-supriya-env) supriya$ pip install -e ".[development]"

See the virtualenvwrapper documentation for instructions on how to use the provided tools for working creating, deleting, activating and deactivating virtual environments: mkvirtualenv, rmvirtualenv, workon and deactivate.