For the default XML serialization (saving NeuroML to XML files), only lxml is required:

sudo pip install lxml

Alternatively, on Linux you can use:

sudo apt-get install python-lxml

To use the other serializations (e.g. HDF5, JSON, see Vella et al. 2014) the following will also be required:

sudo apt-get install libhdf5-serial-dev
sudo pip install cython
sudo pip install numpy
sudo pip install numexpr
sudo pip install jsonpickle
sudo pip install pymongo
sudo pip install simplejson
sudo pip install tables

See .travis.yml for the latest requirements on libraries etc.

Install libNeuroML via pip

pip install libNeuroML

This is always the latest stable branch from GitHub.

Install using a local copy of libNeuroML source

Install git and type:

git clone git://
cd libNeuroML

More details about the git repository and making your own branch/fork are here.

Use the standard install method for Python packages:

sudo python install

To use the latest development version of libNeuroML, switch to the development branch:

git checkout development
sudo python install

Run an example

Some sample scripts are included in neuroml/examples, e.g. :

cd neuroml/examples

The standard examples can also be found here

Unit tests

To run unit tests cd to the directory ‘/neuoroml/test’ and use the python unittest module discover method:

python -m unittest discover

If everything worked your output should look something like this:

Ran 55 tests in 40.1s


Alternatively install and use nosetests:

nosetests -v