python-neo
Neo is a package for representing electrophysiology data in Python, together with support for reading a wide range of neurophysiology file formats
Science Score: 62.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found 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
17 of 112 committers (15.2%) from academic institutions -
✓Institutional organization owner
Organization neuralensemble has institutional domain (neuralensemble.org) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.7%) to scientific vocabulary
Keywords from Contributors
neuroscience
gtk
qt
tk
wx
neuroimaging
closember
bids
meg
eeg
Last synced: 6 months ago
·
JSON representation
·
Repository
Neo is a package for representing electrophysiology data in Python, together with support for reading a wide range of neurophysiology file formats
Basic Info
- Host: GitHub
- Owner: NeuralEnsemble
- License: bsd-3-clause
- Language: Python
- Default Branch: master
- Homepage: http://neo.readthedocs.io/en/latest/
- Size: 109 MB
Statistics
- Stars: 347
- Watchers: 31
- Forks: 259
- Open Issues: 146
- Releases: 13
Created almost 14 years ago
· Last pushed 6 months ago
Metadata Files
Readme
Contributing
License
Code of conduct
Citation
Authors
Codemeta
README.rst
=== Neo === Neo is a Python package for working with electrophysiology data in Python, together with support for reading a wide range of neurophysiology file formats, including Spike2, NeuroExplorer, AlphaOmega, Axon, Blackrock, Plexon, Tdt, and support for writing to a subset of these formats plus non-proprietary formats including HDF5. The goal of Neo is to improve interoperability between Python tools for analyzing, visualizing and generating electrophysiology data by providing a common, shared object model. In order to be as lightweight a dependency as possible, Neo is deliberately limited to represention of data, with no functions for data analysis or visualization. Neo is used by a number of other software tools, including SpykeViewer_ (data analysis and visualization), Elephant_ (data analysis), the G-node_ suite (databasing), PyNN_ (simulations), tridesclous_ (spike sorting) and ephyviewer_ (data visualization). OpenElectrophy_ (data analysis and visualization) uses an older version of neo. Neo implements a hierarchical data model well adapted to intracellular and extracellular electrophysiology and EEG data with support for multi-electrodes (for example tetrodes). Neo's data objects build on the quantities package, which in turn builds on NumPy by adding support for physical dimensions. Thus Neo objects behave just like normal NumPy arrays, but with additional metadata, checks for dimensional consistency and automatic unit conversion. A project with similar aims but for neuroimaging file formats is `NiBabel`_. Neo is a `NumFocus Affiliated Project`_. Code status ----------- .. image:: https://img.shields.io/pypi/v/neo.svg :target: https://pypi.python.org/pypi/neo :alt: PyPI Release Version .. image:: https://github.com/NeuralEnsemble/python-neo/actions/workflows/core-test.yml/badge.svg?event=push&branch=master :target: https://github.com/NeuralEnsemble/python-neo/actions?query=event%3Apush+branch%3Amaster :alt: Core Test Status (Github Actions) .. image:: https://github.com/NeuralEnsemble/python-neo/actions/workflows/io-test_trigger.yml/badge.svg?event=push&branch=master :target: https://github.com/NeuralEnsemble/python-neo/actions?query=event%3Apush+branch%3Amaster :alt: IO Test Status (Github Actions) .. image:: https://coveralls.io/repos/NeuralEnsemble/python-neo/badge.png :target: https://coveralls.io/r/NeuralEnsemble/python-neo :alt: Unit Test Coverage More information ---------------- - Home page: http://neuralensemble.org/neo - Mailing list: http://neuralensemble.org/community - Documentation: http://neo.readthedocs.io/ - Bug reports: https://github.com/NeuralEnsemble/python-neo/issues For installation instructions, see doc/source/install.rst To cite Neo in publications, see CITATION.txt :copyright: Copyright 2010-2025 by the Neo team, see doc/source/authors.rst. :license: 3-Clause Revised BSD License, see LICENSE.txt for details. Funding ------- Development of Neo 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), and by the European Union's Research and Innovation Program Horizon Europe Grant Agreement No. 101147319 (EBRAINS 2.0). .. _OpenElectrophy: https://github.com/OpenElectrophy/OpenElectrophy .. _Elephant: http://neuralensemble.org/elephant .. _G-node: http://www.g-node.org/ .. _Neuroshare: http://neuroshare.org/ .. _SpykeViewer: https://spyke-viewer.readthedocs.org/en/latest/ .. _NiBabel: http://nipy.sourceforge.net/nibabel/ .. _PyNN: http://neuralensemble.org/PyNN .. _quantities: http://pypi.python.org/pypi/quantities .. _`NeuralEnsemble mailing list`: http://neuralensemble.org/community .. _`issue tracker`: https://github.c .. _tridesclous: https://github.com/tridesclous/tridesclous .. _ephyviewer: https://github.com/NeuralEnsemble/ephyviewer .. _`NumFocus Affiliated Project`: https://numfocus.org/sponsored-projects/affiliated-projects
Owner
- Name: NeuralEnsemble
- Login: NeuralEnsemble
- Kind: organization
- Website: http://neuralensemble.org
- Repositories: 25
- Profile: https://github.com/NeuralEnsemble
Citation (CITATION.txt)
To cite Neo in publications, please use:
Garcia S., Guarino D., Jaillet F., Jennings T.R., Pröpper R., Rautenberg P.L.,
Rodgers C., Sobolev A.,Wachtler T., Yger P. and Davison A.P. (2014)
Neo: an object model for handling electrophysiology data in multiple formats.
Frontiers in Neuroinformatics 8:10: doi:10.3389/fninf.2014.00010
A BibTeX entry for LaTeX users is::
@article{neo14,
author = {Garcia S. and Guarino D. and Jaillet F. and Jennings T.R. and Pröpper R. and
Rautenberg P.L. and Rodgers C. and Sobolev A. and Wachtler T. and Yger P.
and Davison A.P.},
doi = {10.3389/fninf.2014.00010},
full_text = {http://www.frontiersin.org/Journal/10.3389/fninf.2014.00010/abstract},
journal = {Frontiers in Neuroinformatics},
month = {February},
title = {Neo: an object model for handling electrophysiology data in multiple formats},
volume = {8:10},
year = {2014}
}
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"license": "https://spdx.org/licenses/BSD-3-Clause",
"codeRepository": "https://github.com/NeuralEnsemble/python-neo",
"contIntegration": "https://github.com/NeuralEnsemble/python-neo/actions",
"dateModified": "2025-10-13",
"downloadUrl": "https://files.pythonhosted.org/packages/12/74/2906034ce92f7fb76dac5f095dcbb2b061f55b1f6eda53fc45335c1689e2/neo-0.14.3.tar.gz",
"issueTracker": "https://github.com/NeuralEnsemble/python-neo/issues",
"name": "Neo",
"version": "0.14.3",
"identifier": "RRID:SCR_000634",
"description": "Neo is a Python package for working with electrophysiology data in Python, together with support for reading a wide range of neurophysiology file formats, including Spike2, NeuroExplorer, AlphaOmega, Axon, Blackrock, Plexon, Tdt, and support for writing to a subset of these formats plus non-proprietary formats including HDF5.\n\nThe goal of Neo is to improve interoperability between Python tools for analyzing, visualizing and generating electrophysiology data by providing a common, shared object model. In order to be as lightweight a dependency as possible, Neo is deliberately limited to represention of data, with no functions for data analysis or visualization.\n\nNeo is used by a number of other software tools, including SpykeViewer (data analysis and visualization), Elephant (data analysis), the G-node suite (databasing), PyNN (simulations), tridesclous_ (spike sorting) and ephyviewer (data visualization).\n\nNeo implements a hierarchical data model well adapted to intracellular and extracellular electrophysiology and EEG data with support for multi-electrodes (for example tetrodes). Neo's data objects build on the quantities package, which in turn builds on NumPy by adding support for physical dimensions. Thus Neo objects behave just like normal NumPy arrays, but with additional metadata, checks for dimensional consistency and automatic unit conversion.",
"applicationCategory": "neuroscience",
"releaseNotes": "https://neo.readthedocs.io/en/latest/releases/0.14.3.html",
"funding": "https://cordis.europa.eu/project/id/945539",
"developmentStatus": "active",
"referencePublication": "https://doi.org/10.3389/fninf.2014.00010",
"funder": {
"@type": "Organization",
"name": "European Commission"
},
"programmingLanguage": [
"Python"
],
"operatingSystem": [
"Linux",
"Windows",
"macOS"
],
"softwareRequirements": [
"Python (version 3.9+)",
"see https://github.com/NeuralEnsemble/python-neo/blob/master/pyproject.toml"
],
"relatedLink": [
"https://neo.readthedocs.io",
"https://neuralensemble.org/community"
],
"author": [
{
"@type": "Person",
"givenName": "Samuel",
"familyName": "Garcia"
},
{
"@type": "Person",
"@id": "http://orcid.org/0000-0002-4793-7541",
"givenName": "Andrew P.",
"familyName": "Davison"
},
{
"@type": "Person",
"givenName": "Chris",
"familyName": "Rodgers"
},
{
"@type": "Person",
"givenName": "Pierre",
"familyName": "Yger"
},
{
"@type": "Person",
"givenName": "Yann",
"familyName": "Mahnoun"
},
{
"@type": "Person",
"givenName": "Luc",
"familyName": "Estabanez"
},
{
"@type": "Person",
"givenName": "Andrey",
"familyName": "Sobolev"
},
{
"@type": "Person",
"givenName": "Thierry",
"familyName": "Brizzi"
},
{
"@type": "Person",
"givenName": "Florent",
"familyName": "Jaillet"
},
{
"@type": "Person",
"givenName": "Philipp",
"familyName": "Rautenberg"
},
{
"@type": "Person",
"givenName": "Thomas",
"familyName": "Wachtler"
},
{
"@type": "Person",
"givenName": "Cyril",
"familyName": "Dejean"
},
{
"@type": "Person",
"givenName": "Robert",
"familyName": "Prpper"
},
{
"@type": "Person",
"givenName": "Domenico",
"familyName": "Guarino"
},
{
"@type": "Person",
"givenName": "Achilleas",
"familyName": "Koutsou"
},
{
"@type": "Person",
"givenName": "Erik",
"familyName": "Li"
},
{
"@type": "Person",
"givenName": "Georg",
"familyName": "Raiser"
},
{
"@type": "Person",
"givenName": "Joffrey",
"familyName": "Gonin"
},
{
"@type": "Person",
"givenName": "Kyler",
"familyName": "Brown"
},
{
"@type": "Person",
"givenName": "Mikkel Elle",
"familyName": "Lepperd"
},
{
"@type": "Person",
"givenName": "C Daniel",
"familyName": "Meliza"
},
{
"@type": "Person",
"givenName": "Michael",
"familyName": "Denker"
},
{
"@type": "Person",
"givenName": "Julia",
"familyName": "Sprenger"
},
{
"@type": "Person",
"givenName": "Maximilian",
"familyName": "Schmidt"
},
{
"@type": "Person",
"givenName": "Johanna",
"familyName": "Senk"
},
{
"@type": "Person",
"givenName": "Carlos",
"familyName": "Canova"
},
{
"@type": "Person",
"givenName": "Hlissande",
"familyName": "Fragnaud"
},
{
"@type": "Person",
"givenName": "Mark",
"familyName": "Hollenbeck"
},
{
"@type": "Person",
"givenName": "Mieszko",
"familyName": "Grodzicki"
},
{
"@type": "Person",
"givenName": "Rick",
"familyName": "Gerkin"
},
{
"@type": "Person",
"givenName": "Matthieu",
"familyName": "Snoville"
},
{
"@type": "Person",
"givenName": "Chadwick",
"familyName": "Boulay"
},
{
"@type": "Person",
"givenName": "Bjrn",
"familyName": "Mller"
},
{
"@type": "Person",
"givenName": "William",
"familyName": "Hart"
},
{
"@type": "Person",
"alternateName": "erikli(github)"
},
{
"@type": "Person",
"givenName": "Jeffrey",
"familyName": "Gill"
},
{
"@type": "Person",
"givenName": "Lucas",
"alternateName": "lkoelman@github"
},
{
"@type": "Person",
"givenName": "Mark",
"familyName": "Histed"
},
{
"@type": "Person",
"givenName": "Mike",
"familyName": "Sintsov"
},
{
"@type": "Person",
"givenName": "Scott W",
"familyName": "Harden"
},
{
"@type": "Person",
"givenName": "Chek Yin",
"familyName": "Choi",
"alternateName": "hkchekc@github"
},
{
"@type": "Person",
"givenName": "Corentin",
"familyName": "Fragnaud"
},
{
"@type": "Person",
"givenName": "Alexander",
"familyName": "Kleinjohann"
},
{
"@type": "Person",
"givenName": "Christian",
"familyName": "Kothe"
},
{
"@type": "Person",
"alternateName": "rishidhingra@github"
},
{
"@type": "Person",
"givenName": "Hugo",
"familyName": "van Kemenade"
},
{
"@type": "Person",
"givenName": "Aitor",
"familyName": "Morales-Gregorio"
},
{
"@type": "Person",
"givenName": "Peter N",
"familyName": "Steinmetz"
},
{
"@type": "Person",
"givenName": "Shashwat",
"familyName": "Sridhar"
},
{
"@type": "Person",
"givenName": "Alessio",
"familyName": "Buccino"
},
{
"@type": "Person",
"givenName": "Regimantas",
"familyName": "Jurkus"
},
{
"@type": "Person",
"givenName": "Steffen",
"familyName": "Buergers"
},
{
"@type": "Person",
"givenName": "Etienne",
"familyName": "Combrisson"
},
{
"@type": "Person",
"givenName": "Ben",
"familyName": "Dichter"
},
{
"@type": "Person",
"givenName": "Elodie",
"familyName": "Legoue"
},
{
"@type": "Person",
"givenName": "Heberto",
"familyName": "Mayorquin"
},
{
"@type": "Person",
"givenName": "Thomas",
"familyName": "Perret"
},
{
"@type": "Person",
"givenName": "Zach",
"familyName": "McKenzie"
},
{
"@type": "Person",
"givenName": "Moritz Alexander",
"familyName": "Kern"
},
{
"@type": "Person",
"givenName": "Joscha",
"familyName": "Schmiedt"
},
{
"@type": "Person",
"givenName": "Daniel P.",
"familyName": "Crepeau"
},
{
"@type": "Person",
"givenName": "Divyansh",
"familyName": "Gupta"
},
{
"@type": "Person",
"givenName": "Nate",
"familyName": "Dolensek"
},
{
"@type": "Person",
"givenName": "Philipp",
"familyName": "Hornauer"
},
{
"@type": "Person",
"givenName": "Robert",
"familyName": "Wolff"
},
{
"@type": "Person",
"givenName": "Jules",
"familyName": "Lebert"
},
{
"@type": "Person",
"givenName": "Benjamin",
"familyName": "Heasly"
},
{
"@type": "Person",
"givenName": "Baptiste",
"familyName": "Grimaud"
},
{
"@type": "Person",
"givenName": "Cody",
"familyName": "Baker"
},
{
"@type": "Person",
"givenName": "Fernando J.",
"familyName": "Chaure"
},
{
"@type": "Person",
"alternateName": "Filipe@github"
},
{
"@type": "Person",
"givenName": "Matthias",
"familyName": "Klumpp"
},
{
"@type": "Person",
"givenName": "Greg",
"familyName": "Knoll"
},
{
"@type": "Person",
"givenName": "Chris",
"familyName": "Halcrow"
},
{
"@type": "Person",
"givenName": "Szonja",
"familyName": "Weigl"
},
{
"@type": "Person",
"givenName": "Teo",
"familyName": "Lohrer"
},
{
"@type": "Person",
"givenName": "Kyu Hun",
"familyName": "Lee"
},
{
"@type": "Person",
"givenName": "Xin",
"familyName": "Niu"
},
{
"@type": "Person",
"givenName": "Anthony",
"familyName": "Pinto"
},
{
"@type": "Person",
"givenName": "Chris",
"familyName": "Heydrick"
},
{
"@type": "Person",
"givenName": "Nikhil",
"familyName": "Chandra"
},
{
"@type": "Person",
"givenName": "Luigi",
"familyName": "Petrucco"
},
{
"@type": "Person",
"givenName": "Tommaso",
"familyName": "Lambresa"
},
{
"@type": "Person",
"givenName": "Rmi",
"familyName": "Proville"
},
{
"@type": "Person",
"givenName": "Nina",
"familyName": "Kudryashova"
},
{
"@type": "Person",
"givenName": "Paul",
"familyName": "Adkisson"
},
{
"@type": "Person",
"givenName": "Akshaj",
"familyName": "Verma"
},
{
"@type": "Person",
"givenName": "Letizia",
"familyName": "Signorelli"
},
{
"@type": "Person",
"givenName": "Daniel",
"familyName": "Parthier"
}
]
}
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 3,175
- Total Committers: 112
- Avg Commits per committer: 28.348
- Development Distribution Score (DDS): 0.861
Top Committers
| Name | Commits | |
|---|---|---|
| Samuel Garcia | s****e@g****m | 441 |
| Andrew Davison | a****n@u****r | 318 |
| sgarcia | s****a@a****a | 259 |
| Julia Sprenger | j****r@r****e | 218 |
| Björn Müller | b****r@f****e | 199 |
| Achilleas Koutsou | a****k@g****m | 158 |
| sprenger | j****r@u****r | 152 |
| Todd Jennings | t****n@g****m | 132 |
| Peter N. Steinmetz | P****z@s****g | 124 |
| Samuel Garcia | s****e@g****m | 70 |
| kleinjohann | a****n@f****e | 68 |
| Andrew Davison | a****n@c****r | 64 |
| apdavison | a****n@a****a | 60 |
| Jeffrey Gill | j****l@g****m | 57 |
| Alessio Buccino | a****7@g****m | 55 |
| Michael Denker | m****r@f****e | 51 |
| Mikkel Elle Lepperød | l****k@g****m | 50 |
| crodger | c****r@a****a | 47 |
| Elodie Legouée | e****e@u****r | 45 |
| Thomas Perret | t****t@i****r | 35 |
| teogale | c****d@g****m | 28 |
| Robert Pröpper | r****r@g****m | 27 |
| ygordon | y****n@a****a | 26 |
| Chadwick Boulay | c****y@g****m | 26 |
| mgr0dzicki | m****b@g****m | 25 |
| sbuergers | s****s@g****m | 24 |
| Regimantas Jurkus | r****s@g****m | 22 |
| h-mayorquin | h****n@g****m | 22 |
| amchagas | a****s@g****m | 21 |
| Chek Yin Choi | c****7@g****m | 20 |
| and 82 more... | ||
Committer Domains (Top 20 + Academic)
fz-juelich.de: 6
unic.cnrs-gif.fr: 3
rwth-aachen.de: 2
steinmetz.org: 2
cnrs.fr: 2
blackfynn.com: 2
univ-amu.fr: 1
isc.cnrs.fr: 1
janelia.hhmi.org: 1
mike.mike: 1
sgarcia-laptop.(none): 1
live.de: 1
gerkin.org: 1
oist.jp: 1
asu.edu: 1
onerussian.com: 1
openred-13.(none): 1
meliza.org: 1
visor.udg.edu: 1
jochen.sprickerhof.de: 1
stanford.edu: 1
ufl.edu: 1
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 282
- Total pull requests: 583
- Average time to close issues: over 1 year
- Average time to close pull requests: about 1 month
- Total issue authors: 138
- Total pull request authors: 59
- Average comments per issue: 3.55
- Average comments per pull request: 3.09
- Merged pull requests: 425
- Bot issues: 1
- Bot pull requests: 60
Past Year
- Issues: 56
- Pull requests: 175
- Average time to close issues: 12 days
- Average time to close pull requests: 3 days
- Issue authors: 33
- Pull request authors: 26
- Average comments per issue: 2.89
- Average comments per pull request: 1.79
- Merged pull requests: 110
- Bot issues: 1
- Bot pull requests: 29
Top Authors
Issue Authors
- JuliaSprenger (44)
- zm711 (15)
- apdavison (14)
- h-mayorquin (14)
- samuelgarcia (14)
- luiztauffer (5)
- rgutzen (4)
- mdenker (4)
- bendichter (4)
- nikhilchandra (3)
- PeterNSteinmetz (3)
- sanjayankur31 (3)
- eduardosand (3)
- alejoe91 (3)
- RobertoDF (3)
Pull Request Authors
- zm711 (154)
- h-mayorquin (64)
- github-actions[bot] (60)
- JuliaSprenger (60)
- alejoe91 (46)
- apdavison (36)
- PeterNSteinmetz (24)
- samuelgarcia (22)
- luiztauffer (8)
- cboulay (8)
- nikhilchandra (7)
- mahlzahn (6)
- easy-electrophysiology (5)
- guptadivyansh (5)
- gkBCCN (4)
Top Labels
Issue Labels
bug (99)
enhancement (49)
IO (44)
Documentation (16)
Core (13)
good-for-beginners (7)
needs-input (6)
question (5)
continuous-integration (4)
New IO Class (4)
discussion (3)
blocker (2)
task (2)
Pull Request Labels
IO (37)
enhancement (26)
Documentation (18)
bug (16)
continuous-integration (15)
Core (14)
defect (9)
New IO Class (8)
discussion (3)
task (3)
needs-input (2)
work-in-progress (1)
Packages
- Total packages: 2
-
Total downloads:
- pypi 57,320 last-month
- Total docker downloads: 94
-
Total dependent packages: 34
(may contain duplicates) -
Total dependent repositories: 171
(may contain duplicates) - Total versions: 44
- Total maintainers: 6
pypi.org: neo
Neo is a package for representing electrophysiology data in Python, together with support for reading a wide range of neurophysiology file formats
- Documentation: https://neo.readthedocs.io/
- License: BSD 3-Clause License
-
Latest release: 0.14.2
published 8 months ago
Rankings
Dependent packages count: 0.6%
Dependent repos count: 1.2%
Average: 1.4%
Downloads: 1.6%
Docker downloads count: 2.3%
Last synced:
6 months ago
conda-forge.org: python-neo
- Homepage: http://neuralensemble.org/neo
- License: BSD-3-Clause
-
Latest release: 0.11.1
published over 3 years ago
Rankings
Forks count: 12.2%
Dependent packages count: 19.6%
Average: 20.1%
Stargazers count: 24.4%
Dependent repos count: 24.4%
Last synced:
6 months ago
Dependencies
doc/requirements_docs.txt
pypi
- docutils <0.18
- numpy >=1.16.1
- quantities >=0.12.1
setup.py
pypi
- numpy >=1.18.5
- packaging *
- quantities >=0.12.1
.github/workflows/core-test.yml
actions
- actions/checkout v3 composite
- actions/setup-python v4 composite
.github/workflows/ebrains.yml
actions
- wei/git-sync v3 composite
.github/workflows/io-test.yml
actions
- actions/cache v3 composite
- actions/checkout v3 composite
- conda-incubator/setup-miniconda v2 composite
.github/workflows/caches_cron_job.yml
actions
- actions/cache v3 composite
- actions/checkout v3 composite
- conda-incubator/setup-miniconda v2.2.0 composite
pyproject.toml
pypi
- numpy >=1.19.5
- packaging *
- quantities >=0.14.1