Skip to content

Commit f9b1803

Browse files
authored
Merge branch 'NeuralEnsemble:master' into master
2 parents 97afdab + 7244efc commit f9b1803

File tree

94 files changed

+3131
-1267
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+3131
-1267
lines changed

.github/workflows/core-test.yml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,32 @@ jobs:
2626
matrix:
2727
os: ["ubuntu-latest", "windows-latest"]
2828
# "macos-latest",
29-
python-version: ['3.8', '3.9', '3.10', '3.11']
30-
numpy-version: ['1.20.3', '1.21.6', '1.22.4', '1.23.5', '1.24.1', '1.25.1']
29+
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
30+
numpy-version: ['1.20.3', '1.21.6', '1.22.4', '1.23.5', '1.24.1', '1.25.1', '1.26.4']
3131
exclude:
3232
- python-version: '3.8'
3333
numpy-version: '1.25.1'
34+
- python-version: '3.8'
35+
numpy-version: '1.26.4'
3436
- python-version: '3.10'
3537
numpy-version: '1.20.3'
3638
- python-version: '3.11'
3739
numpy-version: '1.20.3'
3840
- python-version: '3.11'
3941
numpy-version: '1.21.6'
42+
- python-version: '3.12'
43+
numpy-version: '1.20.3'
44+
# python 3.12 only works on latest numpy
45+
- python-version: '3.12'
46+
numpy-version: '1.21.6'
47+
- python-version: '3.12'
48+
numpy-version: '1.22.4'
49+
- python-version: '3.12'
50+
numpy-version: '1.23.5'
51+
- python-version: '3.12'
52+
numpy-version: '1.24.1'
53+
- python-version: '3.12'
54+
numpy-version: '1.25.1'
4055
steps:
4156
- name: Set up Python ${{ matrix.python-version }}
4257
uses: actions/setup-python@v4

.github/workflows/io-test.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ concurrency: # Cancel previous workflows on the same pull request
1313

1414
jobs:
1515
build-and-test:
16-
name: Test on (${{ inputs.os }})
16+
name: Test on (${{ inputs.os }}) (${{ matrix.python-version}})
1717
runs-on: ${{ inputs.os }}
1818
strategy:
1919
fail-fast: true
2020
matrix:
21-
python-version: ['3.9', ]
21+
python-version: ['3.9', '3.11']
2222
defaults:
2323
# by default run in bash mode (required for conda usage)
2424
run:
@@ -75,6 +75,7 @@ jobs:
7575
if: steps.cache-conda-env.outputs.cache-hit != 'true'
7676
run: |
7777
conda env update --name neo-test-env --file environment_testing.yml --prune
78+
conda install python=${{ matrix.python-version }}
7879
7980
- name: Configure git
8081
run: |
@@ -107,6 +108,14 @@ jobs:
107108
sudo apt-get update -qq
108109
sudo apt-get install -yqq --allow-downgrades libc6:i386 libgcc-s1:i386 libstdc++6:i386 wine
109110
111+
- name: Pip list
112+
run: |
113+
pip list
114+
115+
- name: Conda list
116+
run: |
117+
conda list
118+
110119
- name: Test with pytest
111120
env:
112121
HDF5_PLUGIN_PATH: ${{ github.workspace }}/hdf5_local_plugin_path

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,8 @@ doc/*.plx
7676
doc/*.nev
7777
doc/*.ns5
7878
doc/*.nix
79-
doc/*.nwb
79+
doc/*.nwb
80+
*.plx
81+
*.smr
82+
B95.zip
83+
grouped_ephys

codemeta.json

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
"license": "https://spdx.org/licenses/BSD-3-Clause",
55
"codeRepository": "https://github.com/NeuralEnsemble/python-neo",
66
"contIntegration": "https://github.com/NeuralEnsemble/python-neo/actions",
7-
"dateModified": "2024-02-02",
8-
"downloadUrl": "https://files.pythonhosted.org/packages/b2/07/b8653dd235919dc13671fc31bd8bcbb57571e72d75e4cb04dc1347416357/neo-0.13.0.tar.gz",
7+
"dateModified": "2024-05-07",
8+
"downloadUrl": "https://files.pythonhosted.org/packages/8b/75/a9a841dc8f5a4198fe3f7174f096726a8b71444670be3abd6ac168de44d8/neo-0.13.1.tar.gz",
99
"issueTracker": "https://github.com/NeuralEnsemble/python-neo/issues",
1010
"name": "Neo",
11-
"version": "0.13.0",
11+
"version": "0.13.1",
1212
"identifier": "RRID:SCR_000634",
1313
"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.",
1414
"applicationCategory": "neuroscience",
15-
"releaseNotes": "https://neo.readthedocs.io/en/stable/releases/0.13.0.html",
15+
"releaseNotes": "https://neo.readthedocs.io/en/stable/releases/0.13.1.html",
1616
"funding": "https://cordis.europa.eu/project/id/945539",
1717
"developmentStatus": "active",
1818
"referencePublication": "https://doi.org/10.3389/fninf.2014.00010",
@@ -54,6 +54,7 @@
5454
{ "@type": "Person", "givenName": "Kyler", "familyName": "Brown" },
5555
{ "@type": "Person", "givenName": "Mikkel Elle", "familyName": "Lepperød" },
5656
{ "@type": "Person", "givenName": "C Daniel", "familyName": "Meliza" },
57+
{ "@type": "Person", "givenName": "Michael", "familyName": "Denker" },
5758
{ "@type": "Person", "givenName": "Julia", "familyName": "Sprenger" },
5859
{ "@type": "Person", "givenName": "Maximilian", "familyName": "Schmidt" },
5960
{ "@type": "Person", "givenName": "Johanna", "familyName": "Senk" },
@@ -103,6 +104,9 @@
103104
{ "@type": "Person", "givenName": "Cody", "familyName": "Baker" },
104105
{ "@type": "Person", "givenName": "Fernando J.", "familyName": "Chaure" },
105106
{ "@type": "Person", "alternateName": "Filipe@github" },
106-
{ "@type": "Person", "givenName": "Matthias Klumpp" }
107+
{ "@type": "Person", "givenName": "Matthias", "familyName": "Klumpp" },
108+
{ "@type": "Person", "givenName": "Greg", "familyName": "Knoll" },
109+
{ "@type": "Person", "givenName": "Chris", "familyName": "Halcrow" },
110+
{ "@type": "Person", "givenName": "Szonja", "familyName": "Weigl" }
107111
]
108112
}

doc/source/authors.rst

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ and may not be the current affiliation of a contributor.
2727
* Kyler Brown
2828
* Mikkel Elle Lepperød [11]
2929
* C Daniel Meliza [12]
30+
* Michael Denker [13, 29]
3031
* Julia Sprenger [13, 6]
3132
* Maximilian Schmidt [13]
3233
* Johanna Senk [13]
@@ -54,7 +55,7 @@ and may not be the current affiliation of a contributor.
5455
* Aitor Morales-Gregorio [13]
5556
* Peter N Steinmetz [22]
5657
* Shashwat Sridhar
57-
* Alessio Buccino [23]
58+
* Alessio Buccino [23, 24, 38]
5859
* Regimantas Jurkus [13]
5960
* Steffen Buergers [24]
6061
* Etienne Combrisson [6]
@@ -65,20 +66,23 @@ and may not be the current affiliation of a contributor.
6566
* Thomas Perret [25]
6667
* Kyle Johnsen [26, 27]
6768
* Zach McKenzie [28]
68-
* Moritz Alexander Kern
69+
* Moritz Alexander Kern [29]
6970
* Joscha Schmiedt
70-
* Daniel P. Crepeau
71-
* Divyansh Gupta
72-
* Nate Dolensek
73-
* Philipp Hornauer
71+
* Daniel P. Crepeau [30]
72+
* Divyansh Gupta [31]
73+
* Nate Dolensek [3]
74+
* Philipp Hornauer [32]
7475
* Robert Wolff
75-
* Jules Lebert
76+
* Jules Lebert [33]
7677
* Benjamin Heasly
77-
* Baptiste Grimaud
78-
* Cody Baker
79-
* Fernando J. Chaure
78+
* Baptiste Grimaud [34]
79+
* Cody Baker [24]
80+
* Fernando J. Chaure [35]
8081
* Filipe*github
8182
* Matthias Klumpp
83+
* Greg Knoll [36]
84+
* Chris Halcrow [37]
85+
* Szonja Weigl [24]
8286

8387
1. Centre de Recherche en Neuroscience de Lyon, CNRS UMR5292 - INSERM U1028 - Universite Claude Bernard Lyon 1
8488
2. Unité de Neuroscience, Information et Complexité, CNRS UPR 3293, Gif-sur-Yvette, France
@@ -108,6 +112,17 @@ and may not be the current affiliation of a contributor.
108112
26. Georgia Institute of Technology
109113
27. Emory University
110114
28. Harvard Medical School
115+
29. Institute for Advanced Simulation (IAS-6), Forschungszentrum Jülich, Germany
116+
30. Dark Horse Neuro, Inc.
117+
31. IST Austria
118+
32. Department of Biosystems Science and Engineering, ETH Zürich, Basel, Switzerland
119+
33. University College London
120+
34. École Normale Supérieure Paris-Saclay
121+
35. Institute of Biomedical Engineering, University of Buenos Aires, Argentina
122+
36. Bernstein Center for Computational Neuroscience, Berlin, Germany
123+
37. University of Edinburgh
124+
38. Allen Institute for Neural Dynamics, Seattle, WA, United States
125+
111126

112127
If we've somehow missed you off the list we're very sorry - please let us know.
113128

doc/source/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,7 @@
252252
)
253253

254254
sphinx_gallery_conf = {
255+
# 'only_warn_on_example_error': True, # helps with debugging broken examples
255256
"examples_dirs": "../../examples", # path to your example scripts
256257
"gallery_dirs": "examples", # path to where to save gallery generated output
257258
}

doc/source/contributing.rst

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,28 @@ The first time this is run, all of the Neo test files will be downloaded to your
208208
so the run time can be an hour or more.
209209
For subsequent runs, the files are already there, so the tests will run much faster.
210210

211+
Because Neo downloads datasets this can lead to issues in the course of offline development or
212+
for packaging Neo (e.g. for a Linux distribution). In order to not download datasets and to skip
213+
tests which require downloaded datasets the environment variable :code:`NEO_TESTS_NO_NETWORK` can
214+
be set to any truthy value (e.g. :code:`'True'``).
215+
216+
For macOS/Linux this can be done by doing:
217+
218+
.. code-block:: bash
219+
220+
NEO_TESTS_NO_NETWORK='True' pytest .
221+
222+
For Windows this can be done by doing:
223+
224+
.. code-block:: bat
225+
226+
set NEO_TESTS_NO_NETWORK=true
227+
228+
pytest .
229+
230+
This can also be done with a conda environment variable if developing in a conda env. To configure these
231+
see the docs at `conda env vars documentation`_.
232+
211233
It is often helpful to run only parts of the test suite. To test only the :mod:`neo.core` module,
212234
which is much quicker than testing :mod:`neo.io`, run::
213235

@@ -465,4 +487,5 @@ Making a release
465487
.. _PyPI: https://pypi.org/project/neo
466488
.. _`continuous integration server`: https://github.com/NeuralEnsemble/python-neo/actions
467489
.. _`Read the Docs`: https://neo.readthedocs.io/en/latest/
468-
.. _`docs configuration page`: https://readthedocs.org/projects/neo/
490+
.. _`docs configuration page`: https://readthedocs.org/projects/neo/
491+
.. _`conda env vars documentation`: https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#activating-an-environment

doc/source/releases.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Release notes
66
.. toctree::
77
:maxdepth: 1
88

9+
releases/0.13.1.rst
910
releases/0.13.0.rst
1011
releases/0.12.0.rst
1112
releases/0.11.1.rst

doc/source/releases/0.13.1.rst

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
========================
2+
Neo 0.13.1 release notes
3+
========================
4+
5+
7th May 2024
6+
7+
8+
This release of Neo contains a lot of improvements to code quality and documentation,
9+
still with a focus on the planned 1.0 release,
10+
together with, as usual, bug fixes and performance improvements in IO modules.
11+
12+
See all `pull requests`_ included in this release and the `list of closed issues`_.
13+
14+
Code and documentation quality
15+
------------------------------
16+
17+
Particular thanks go to Zach McKenzie, who has checked, and rewritten if necessary, every docstring in the project,
18+
to ensure they all have a consistent style.
19+
Zach has also updated and improved the :doc:`../examples/index` in the Sphinx documentation.
20+
21+
The Neo code base contained a lot of ``assert``\s that should be exceptions.
22+
These have all been replaced with appropriate exceptions (again by Zach McKenzie).
23+
A new exception class, :class:`NeoReadWriteError` has been introduced.
24+
25+
Bug fixes and improvements in IO modules
26+
----------------------------------------
27+
28+
Bug fixes and/or improvements have been made to :class:`SpikeGLXIO`, :class:`OpenEphysIO`, :class:`SpikeGadgetsIO`,
29+
:class:`MaxwellIO`, :class:`AxonIO`, :class:`IntanIO`, :class:`TDTIO`, :class:`NeuralynxIO` and :class:`BlackrockIO`.
30+
31+
32+
Acknowledgements
33+
----------------
34+
35+
Thanks to Zach McKenzie, Andrew Davison, Heberto Mayorquin, Alessio Buccino, Samuel Garcia, Peter N. Steinmetz,
36+
Aitor Morales-Gregorio, Greg Knoll, Chris Halcrow and Szonja Weigl for their contributions to this release.
37+
38+
.. generated with git shortlog --since=2024-02-02 -sne then checking Github for PRs merged since the last release but with commits before then
39+
40+
.. _`list of closed issues`: https://github.com/NeuralEnsemble/python-neo/issues?q=is%3Aissue+milestone%3A0.13.1+is%3Aclosed
41+
.. _`pull requests`: https://github.com/NeuralEnsemble/python-neo/pulls?q=is%3Apr+is%3Aclosed+merged%3A%3E2024-02-02+milestone%3A0.13.1
42+
.. _`examples gallery`: https://neo.readthedocs.io/en/latest/examples/

0 commit comments

Comments
 (0)