This article is part of the Research Topic Python in neuroscience

Original Research ARTICLE

Front. Neuroinform., 27 January 2009 | doi: 10.3389/neuro.11.011.2008

PyNN: a common interface for neuronal network simulators

Unité de Neurosciences Intégratives et Computationelles, CNRS, Gif sur Yvette, France
Kirchhoff Institute for Physics, University of Heidelberg, Heidelberg, Germany
Honda Research Institute Europe GmbH, Offenbach, Germany
Berstein Center for Computational Neuroscience, Albert-Ludwigs-University, Freiburg, Germany
Neurobiology and Biophysics, Institute of Biology III, Albert-Ludwigs-University, Freiburg, Germany
Institut de Neurosciences Cognitives de la Méditerranée, CNRS, Marseille, France
Laboratory of Computational Neuroscience, Ecole Polytechnique Fédérale de Lausanne, Lausanne, Switzerland
Institute for Theoretical Computer Science, Graz University of Technology, Graz, Austria
Computational neuroscience has produced a diversity of software for simulations of networks of spiking neurons, with both negative and positive consequences. On the one hand, each simulator uses its own programming or configuration language, leading to considerable difficulty in porting models from one simulator to another. This impedes communication between investigators and makes it harder to reproduce and build on the work of others. On the other hand, simulation results can be cross-checked between different simulators, giving greater confidence in their correctness, and each simulator has different optimizations, so the most appropriate simulator can be chosen for a given modelling task. A common programming interface to multiple simulators would reduce or eliminate the problems of simulator diversity while retaining the benefits. PyNN is such an interface, making it possible to write a simulation script once, using the Python programming language, and run it without modification on any supported simulator (currently NEURON, NEST, PCSIM, Brian and the Heidelberg VLSI neuromorphic hardware). PyNN increases the productivity of neuronal network modelling by providing high-level abstraction, by promoting code sharing and reuse, and by providing a foundation for simulator-agnostic analysis, visualization and data-management tools. PyNN increases the reliability of modelling studies by making it much easier to check results on multiple simulators. PyNN is open-source software and is available from .
Python, interoperability, large-scale models, simulation, parallel computing, reproducibility, computational neuroscience, translation
Davison AP, Brüderle D, Eppler J, Kremkow J, Muller E, Pecevski D, Perrinet L and Yger P (2009). PyNN: a common interface for neuronal network simulators. Front. Neuroinform. 2:11. doi: 10.3389/neuro.11.011.2008
21 September 2008;
 Paper pending published:
21 October 2008;
22 December 2008;
 Published online:
27 January 2009.

Edited by:

Rolf Kötter, Radboud University Nijmegen, The Netherlands

Reviewed by:

Graham Cummins, Montana State University, USA
Fred Howell, Textensor Limited, UK
© 2009 Davison, Brüderle, Eppler, Kremkow, Muller, Pecevski, Perrinet and Yger. This is an open-access article subject to an exclusive license agreement between the authors and the Frontiers Research Foundation, which permits unrestricted use, distribution, and reproduction in any medium, provided the original authors and source are credited.
Andrew Davison, UNIC, Bât. 32/33, CNRS, 1 Avenue de la Terrasse, 91198 Gif sur Yvette, France. e-mail:
Back to top