Skip to content


BMC Neuroscience

Open Access

PyNN: towards a universal neural simulator API in Python

  • Andrew Davison1Email author,
  • Pierre Yger1,
  • Jens Kremkow2, 3,
  • Laurent Perrinet2 and
  • Eilif Muller4
BMC Neuroscience20078(Suppl 2):P2

Published: 6 July 2007


Application Programming InterfaceSimulator CommunityCode SharingSoftware Development EffortSimulation Accounting

Trends in programming language development and adoption point to Python as the high-level systems integration language of choice. Python leverages a vast developer-base external to the neuroscience community, and promises leaps in simulation complexity and maintainability to any neural simulator that adopts it. PyNN strives to provide a uniform application programming interface (API) across neural simulators. Presently NEURON and NEST are supported, and support for other simulators and neuromorphic VLSI hardware is under development.

With PyNN it is possible to write a simulation script once and run it without modification on any supported simulator. It is also possible to write a script that uses capabilities specific to a single simulator. While this sacrifices simulator-independence, it adds flexibility, and can be a useful step in porting models between simulators. The design goals of PyNN include allowing access to low-level details of a simulation where necessary, while providing the capability to model at a high level of abstraction, with concomitant gains in development speed and simulation maintainability.

Another of our aims with PyNN is to increase the productivity of neuroscience modeling, by making it faster to develop models de novo, by promoting code sharing and reuse across simulator communities, and by making it much easier to debug, test and validate simulations by running them on more than one simulator. Modelers would then become free to devote more software development effort to innovation, building on the simulator core with new tools such as network topology databases, stimulus programming, analysis and visualization tools, and simulation accounting. The resulting, community-developed 'meta-simulator' system would then represent a powerful tool for overcoming the so-called complexity bottleneck that is presently a major roadblock for neural modeling.



This work is supported by the European Union through the FACETS project (contract number FP6-2004-IST-FETPI-15879).

Authors’ Affiliations

UNIC, CNRS, Gif-sur-Yvette, France
INCM, CNRS, Marseille, France
Neurobiology and Biophysics, Albert-Ludwigs-University Freiburg, Freiburg, Germany
Kirchhoff Institute for Physics, University of Heidelberg, Heidelberg, Germany


© Davison et al; licensee BioMed Central Ltd. 2007

This article is published under license to BioMed Central Ltd.