pynn

A Python package for simulator-independent specification of neuronal network models.

https://github.com/neuralensemble/pynn

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    19 of 53 committers (35.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.4%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

A Python package for simulator-independent specification of neuronal network models.

Basic Info
  • Host: GitHub
  • Owner: NeuralEnsemble
  • License: other
  • Language: Python
  • Default Branch: master
  • Size: 21.7 MB
Statistics
  • Stars: 293
  • Watchers: 24
  • Forks: 133
  • Open Issues: 130
  • Releases: 6
Created about 13 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Authors Codemeta

README.rst

PyNN
====

PyNN (pronounced '*pine*') is a simulator-independent language for building
neuronal network models.

In other words, you can write the code for a model once, using the PyNN API and
the Python programming language, and then run it without modification on any
simulator that PyNN supports (currently NEURON, NEST and Brian 2) and
on a number of neuromorphic hardware systems.

The PyNN API aims to support modelling at a high-level of abstraction
(populations of neurons, layers, columns and the connections between them) while
still allowing access to the details of individual neurons and synapses when
required. PyNN provides a library of standard neuron, synapse and synaptic
plasticity models, which have been verified to work the same on the different
supported simulators. PyNN also provides a set of commonly-used connectivity
algorithms (e.g. all-to-all, random, distance-dependent, small-world) but makes
it easy to provide your own connectivity in a simulator-independent way.

Even if you don't wish to run simulations on multiple simulators, you may
benefit from writing your simulation code using PyNN's powerful, high-level
interface. In this case, you can use any neuron or synapse model supported by
your simulator, and are not restricted to the standard models.


- Home page: http://neuralensemble.org/PyNN/
- Documentation: http://neuralensemble.org/docs/PyNN/
- Mailing list: https://groups.google.com/forum/?fromgroups#!forum/neuralensemble
- Bug reports: https://github.com/NeuralEnsemble/PyNN/issues


:copyright: Copyright 2006-2024 by the PyNN team, see AUTHORS.
:license: CeCILL, see LICENSE for details.

.. image:: https://github.com/NeuralEnsemble/PyNN/actions/workflows/full-test.yml/badge.svg
   :target: https://github.com/NeuralEnsemble/PyNN/actions/workflows/full-test.yml
   :alt: Unit Test Status

.. image:: https://coveralls.io/repos/NeuralEnsemble/PyNN/badge.svg?branch=master&service=github
   :target: https://coveralls.io/github/NeuralEnsemble/PyNN?branch=master
   :alt: Test coverage

Funding
-------

Development of PyNN has been partially funded by the European Union Sixth Framework Program (FP6) under
grant agreement FETPI-015879 (FACETS), by the European Union Seventh Framework Program (FP7/2007­-2013)
under grant agreements no. 269921 (BrainScaleS) and no. 604102 (HBP),
and by the European Union’s Horizon 2020 Framework Programme for
Research and Innovation under the Specific Grant Agreements No. 720270 (Human Brain Project SGA1)
, No. 785907 (Human Brain Project SGA2) and No. 945539 (Human Brain Project SGA3).

Owner

  • Name: NeuralEnsemble
  • Login: NeuralEnsemble
  • Kind: organization

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "license": "https://spdx.org/licenses/CECILL-2.1",
  "codeRepository": "https://github.com/NeuralEnsemble/PyNN",
  "contIntegration": "https://github.com/NeuralEnsemble/PyNN/actions",
  "dateModified": "2025-04-02",
  "downloadUrl": "https://files.pythonhosted.org/packages/f2/04/371f66ed8175e41a3d5ee04d957f6253e378cc4616b485e4c6a1b9f27626/pynn-0.12.4.tar.gz",
  "issueTracker": "https://github.com/NeuralEnsemble/PyNN/issues",
  "name": "PyNN",
  "version": "0.12.4",
  "identifier": "RRID:SCR_002715",
  "description": "PyNN (pronounced 'pine') is a simulator-independent language for building neuronal network models.\n\nIn other words, you can write the code for a model once, using the PyNN API and the Python programming language, and then run it without modification on any  simulator that PyNN supports (currently NEURON, NEST and Brian 2) and on a number of neuromorphic hardware systems.\n\nThe PyNN API aims to support modelling at a high-level of abstraction (populations of neurons, layers, columns and the connections between them) while still allowing access to the details of individual neurons and synapses when required. PyNN provides a library of standard neuron, synapse and synaptic plasticity models, which have been verified to work the same on the different supported simulators. PyNN also provides a set of commonly-used connectivity algorithms (e.g. all-to-all, random, distance-dependent, small-world) but makes it easy to provide your own connectivity in a simulator-independent way.\n\nEven if you don't wish to run simulations on multiple simulators, you may benefit from writing your simulation code using PyNN's powerful, high-level interface. In this case, you can use any neuron or synapse model supported by your simulator, and are not restricted to the standard models.",
  "applicationCategory": "neuroscience",
  "releaseNotes": "http://neuralensemble.org/docs/PyNN/releases/0.12.4.html",
  "funding": "https://cordis.europa.eu/project/id/945539",
  "developmentStatus": "active",
  "referencePublication": "https://doi.org/10.3389/neuro.11.011.2008",
  "funder": {
    "@type": "Organization",
    "name": "European Commission"
  },
  "programmingLanguage": [
    "Python"
  ],
  "operatingSystem": [
    "Linux",
    "Windows",
    "macOS"
  ],
  "softwareRequirements": [
    "at least one of the supported simulators: e.g. NEURON, NEST, or Brian.",
    "Python (version 3.9-3.13)"
  ],
  "relatedLink": [
    "http://neuralensemble.org/docs/PyNN/",
    "https://groups.google.com/g/neuralensemble"
  ],
  "author": [
    {
      "@type": "Person",
      "@id": "http://orcid.org/0000-0002-4793-7541",
      "givenName": "Andrew P.",
      "familyName": "Davison"
    },
    {
      "@type": "Person",
      "givenName": "Pierre",
      "familyName": "Yger"
    },
    {
      "@type": "Person",
      "givenName": "Eilif",
      "familyName": "Muller"
    },
    {
      "@type": "Person",
      "givenName": "Jens",
      "familyName": "Kremkow"
    },
    {
      "@type": "Person",
      "givenName": "Daniel",
      "familyName": "Brderle"
    },
    {
      "@type": "Person",
      "givenName": "Laurent",
      "familyName": "Perrinet"
    },
    {
      "@type": "Person",
      "givenName": "Jochen",
      "familyName": "Eppler"
    },
    {
      "@type": "Person",
      "givenName": "Dejan",
      "familyName": "Pecevski"
    },
    {
      "@type": "Person",
      "givenName": "Nicolas",
      "familyName": "Debeissat"
    },
    {
      "@type": "Person",
      "givenName": "Mikael",
      "familyName": "Djurfeldt"
    },
    {
      "@type": "Person",
      "givenName": "Michael",
      "familyName": "Schmuker"
    },
    {
      "@type": "Person",
      "givenName": "Bernhard",
      "familyName": "Kaplan"
    },
    {
      "@type": "Person",
      "givenName": "Thomas",
      "familyName": "Natschlaeger"
    },
    {
      "@type": "Person",
      "givenName": "Subhasis",
      "familyName": "Ray"
    },
    {
      "@type": "Person",
      "givenName": "Yury",
      "familyName": "Zaytsev"
    },
    {
      "@type": "Person",
      "givenName": "Jn",
      "familyName": "Antolk"
    },
    {
      "@type": "Person",
      "givenName": "Alexandre",
      "familyName": "Gravier"
    },
    {
      "@type": "Person",
      "givenName": "Thomas",
      "familyName": "Close"
    },
    {
      "@type": "Person",
      "givenName": "Oliver",
      "familyName": "Breitwieser"
    },
    {
      "@type": "Person",
      "givenName": "Jannis",
      "familyName": "Schcker"
    },
    {
      "@type": "Person",
      "givenName": "Maximilian",
      "familyName": "Schmidt"
    },
    {
      "@type": "Person",
      "givenName": "Christian",
      "familyName": "Roessert"
    },
    {
      "@type": "Person",
      "givenName": "Shailesh",
      "familyName": "Appukuttan"
    },
    {
      "@type": "Person",
      "givenName": "Elodie",
      "familyName": "Legoue"
    },
    {
      "@type": "Person",
      "givenName": "Joffrey",
      "familyName": "Gonin"
    },
    {
      "@type": "Person",
      "givenName": "Ankur",
      "familyName": "Sinha"
    },
    {
      "@type": "Person",
      "givenName": "Hkon",
      "familyName": "Mrk"
    },
    {
      "@type": "Person",
      "givenName": "Andrei",
      "familyName": "Moise"
    },
    {
      "@type": "Person",
      "givenName": "Onur",
      "familyName": "Ates"
    },
    {
      "@type": "Person",
      "givenName": "Rmy",
      "familyName": "Cagnol"
    },
    {
      "@type": "Person",
      "givenName": "Lungsi",
      "familyName": "Sharma"
    },
    {
      "@type": "Person",
      "givenName": "Alexandre",
      "familyName": "Detiste"
    }
  ]
}

GitHub Events

Total
  • Issues event: 10
  • Watch event: 17
  • Delete event: 1
  • Issue comment event: 24
  • Push event: 20
  • Pull request event: 10
  • Pull request review event: 2
  • Pull request review comment event: 3
  • Fork event: 10
  • Create event: 2
Last Year
  • Issues event: 10
  • Watch event: 17
  • Delete event: 1
  • Issue comment event: 24
  • Push event: 20
  • Pull request event: 10
  • Pull request review event: 2
  • Pull request review comment event: 3
  • Fork event: 10
  • Create event: 2

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 2,113
  • Total Committers: 53
  • Avg Commits per committer: 39.868
  • Development Distribution Score (DDS): 0.397
Past Year
  • Commits: 77
  • Committers: 4
  • Avg Commits per committer: 19.25
  • Development Distribution Score (DDS): 0.052
Top Committers
Name Email Commits
Andrew Davison a****n@u****r 1,274
Pierre Yger p****r@u****r 207
Andrew Davison a****n@c****r 139
JoelChavas j****s@u****r 83
appukuttan-shailesh a****h@g****m 63
Tom Close t****e@o****p 60
Padraig Gleeson p****n@g****m 44
Eilif Muller e****r@e****h 43
Jens Kremkow k****w@b****e 21
Jan Antolik a****n@g****m 15
Oliver Breitwieser o****r@g****m 14
Daniel Brüderle b****e@k****e 13
Onur Ates o****s@u****r 12
Maximilian Schmidt m****t@f****e 12
Maximilian Schmidt m****t@f****e 10
Mike Hull m****k@g****m 8
Håkon Mørk h****k@n****o 7
Ankur Sinha (Ankur Sinha Gmail) s****r@g****m 5
tomish t****h@g****m 5
jschuecker j****r@f****e 5
Joffrey Gonin J****n@g****m 5
Laurent Perrinet l****t@g****m 5
RCagnol r****l@g****m 5
Elodie Legouée e****e@u****r 5
C.A.P. Linssen c****l@t****m 4
Jochen Eppler e****r@b****e 4
Nicolas Debeissat N****t@s****r 4
Dejan Pecevski d****n@i****t 4
Mikael Djurfeldt m****l@d****m 3
Laurent Perrinet l****t@u****r 3
and 23 more...

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 39
  • Total pull requests: 65
  • Average time to close issues: 4 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 24
  • Total pull request authors: 14
  • Average comments per issue: 1.64
  • Average comments per pull request: 1.29
  • Merged pull requests: 47
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 11
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 6 days
  • Issue authors: 4
  • Pull request authors: 6
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.73
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Christian-B (8)
  • apdavison (4)
  • penguinpee (3)
  • RCagnol (2)
  • ChrisHuyck (2)
  • chaoming0625 (2)
  • rowleya (2)
  • otcathatsya (1)
  • ZackWave (1)
  • hanbuck30 (1)
  • mdjurfeldt (1)
  • Sean535 (1)
  • hamanpa (1)
  • dietriro (1)
  • appukuttan-shailesh (1)
Pull Request Authors
  • apdavison (41)
  • HarshKhilawala (10)
  • sanjayankur31 (6)
  • lungsi (3)
  • appukuttan-shailesh (3)
  • jiegec (3)
  • clinssen (3)
  • RCagnol (2)
  • rnwatanabe (2)
  • a-detiste (2)
  • kavilac (1)
  • tomglk (1)
  • sdivyanshu90 (1)
  • hartmutschmidt (1)
Top Labels
Issue Labels
defect (7) documentation (6) Windows (4) NEURON (3) Brian2 (2) question (2) NEST (1) testing (1) multicompartment (1) awaiting feedback (1) Arbor (1)
Pull Request Labels
NEST (11) enhancement (9) defect (8) Brian2 (5) NEURON (4) testing (4) Arbor (2) MPI (2) documentation (1) Windows (1) task (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 2,410 last-month
  • Total dependent packages: 2
  • Total dependent repositories: 5
  • Total versions: 28
  • Total maintainers: 1
pypi.org: pynn

A Python package for simulator-independent specification of neuronal network models

  • Versions: 28
  • Dependent Packages: 2
  • Dependent Repositories: 5
  • Downloads: 2,410 Last month
Rankings
Dependent packages count: 3.2%
Average: 5.0%
Downloads: 5.3%
Dependent repos count: 6.6%
Maintainers (1)
Last synced: 9 months ago

Dependencies

requirements.txt pypi
  • Jinja2 >=2.6
  • docutils >=0.10
  • h5py *
  • lazyarray >=0.5.0
  • mock >1.0
  • neo master
  • nose *
  • numpy >=1.16.0
  • quantities >=0.12.1
  • setuptools >=20.5
setup.py pypi
  • lazyarray >=0.5.0
  • neo >=0.10.0
  • numpy >=1.16.1
  • quantities >=0.12.1
.github/workflows/full-test.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite