Software and Tools#

Core NeuroML Tools#

The NeuroML initiative supports a core set of libraries (mainly in Python and Java) to enable the creation/validation/analysis/simulation of NeuroML models as well as to facilitate adding support for the language to other applications.

jNeuroML and pyNeuroML

Fig. 47 Relationship between jLEMS, jNeuroML, the NeuroML 2 LEMS definitions, libNeuroML, pyLEMS and pyNeuroML.#

Python based applications#

For most users, pyNeuroML will provide all of the key functionality for building, validating, simulating, visualising, and converting NeuroML 2 and LEMS models. It builds on libNeuroML and pyLEMS and bundles all of the functionality of jNeuroML to provide access to this through a Python interface.

Java based applications#

jNeuroML (for validating, simulating and converting NeuroML 2 models) and jLEMS (for simulating LEMS models) are the key applications created in Java for supporting NeuroML 2/LEMS.

NeuroML support in other languages#

There are preliminary APIs for using NeuroML in C++ and MATLAB.

Other NeuroML supporting applications#

Many other simulators, applications and libraries support NeuroML. See here for more details.

A number of databases and neuroinformatics initiatives support NeuroML as a core interchange format. See here for more details.