Skip to content

Commit

Permalink
Merge pull request #1626 from zm711/update-copyright
Browse files Browse the repository at this point in the history
0.14.0 release notes
  • Loading branch information
zm711 authored Jan 20, 2025
2 parents e9a710d + c6e79e7 commit 3583279
Show file tree
Hide file tree
Showing 6 changed files with 76 additions and 31 deletions.
11 changes: 6 additions & 5 deletions codemeta.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
"license": "https://spdx.org/licenses/BSD-3-Clause",
"codeRepository": "https://github.com/NeuralEnsemble/python-neo",
"contIntegration": "https://github.com/NeuralEnsemble/python-neo/actions",
"dateModified": "2024-10-14",
"downloadUrl": "https://files.pythonhosted.org/packages/e0/0d/e973b7e8464b6f1d88022c46040f203d93c0b080af0e33702bb11873dbbb/neo-0.13.4.tar.gz",
"dateModified": "2025-01-17",
"downloadUrl": "",
"issueTracker": "https://github.com/NeuralEnsemble/python-neo/issues",
"name": "Neo",
"version": "0.13.4",
"version": "0.14.0",
"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.13.4.html",
"releaseNotes": "https://neo.readthedocs.io/en/latest/releases/0.14.0.html",
"funding": "https://cordis.europa.eu/project/id/945539",
"developmentStatus": "active",
"referencePublication": "https://doi.org/10.3389/fninf.2014.00010",
Expand Down Expand Up @@ -113,6 +113,7 @@
{ "@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": "Nikhil", "familyName": "Chandra"},
{"@type": "Person", "givenName": "Luigi", "familyName": "Petrucco"}
]
}
2 changes: 2 additions & 0 deletions doc/source/authors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ and may not be the current affiliation of a contributor.
* Anthony Pinto [41]
* Xin Niu
* Nikhil Chandra [40]
* Luigi Petrucco [42]

1. Centre de Recherche en Neuroscience de Lyon, CNRS UMR5292 - INSERM U1028 - Universite Claude Bernard Lyon 1
2. Unité de Neuroscience, Information et Complexité, CNRS UPR 3293, Gif-sur-Yvette, France
Expand Down Expand Up @@ -131,6 +132,7 @@ and may not be the current affiliation of a contributor.
39. Massachusetts General Hospital, Department of Molecular Biology
40. Plexon Inc.
41. Paris Brain Institute
42. Istituto Italiano di Tecnologia (IIT), Italy



Expand Down
1 change: 1 addition & 0 deletions doc/source/releases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Release notes
.. toctree::
:maxdepth: 1

releases/0.14.0.rst
releases/0.13.4.rst
releases/0.13.3.rst
releases/0.13.2.rst
Expand Down
40 changes: 40 additions & 0 deletions doc/source/releases/0.14.0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
========================
Neo 0.14.0 release notes
========================

17 January 2025

This release of Neo is now compatible with NumPy 2.0 for core and IOs (with the exception of :class:`MedIO`) as well as Python 3.13,
and includes IO bug fixes with an eye toward a 1.0 release.

See all `pull requests`_ included in this release and the `list of closed issues`_.

Updated dependencies
--------------------

Neo now has a limit of NumPy >= 1.22.4

CI Improvements
---------------

To ensure compatiblility between pre- and post- NumPy 2.0 the CI was changed to test on the lowest supported Python (3.9) and
the highest supported Python (3.13) each with NumPy 1.26 as well as NumPy 2.0 for all :code:`RawIO` and :code:`IO` tests.

We also no longer use a cached conda env for testing as we see that there is no speed benefit to caching and we had some issues
with the caches getting corrupted.

Testing of additional Python-NumPy combinations for core tests were added (NumPy 2.0 and 2.1 with their respective Python versions).

Bug fixes and improvements in IO modules
----------------------------------------

Bug fixes and/or improvements have been made to :class:`NeuroNexusIO`, :class:`OpenEphysBinaryIO`, :class:`MicromedIO`, :class:`IntanIO` and :class:`SpikeGLX`.

Acknowledgements
----------------

Thanks to Zach McKenzie, Heberto Mayorquin, Andrew Davison, Luigi Petrucco, Alessio Buccino, and Samuel Garcia.

.. _`pull requests` : https://github.com/NeuralEnsemble/python-neo/pulls?q=is%3Apr+is%3Aclosed+milestone%3A0.14.0
.. _`list of closed issues` : https://github.com/NeuralEnsemble/python-neo/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A0.14.0
48 changes: 24 additions & 24 deletions examples/plot_igorio.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""
IgorProIO Demo
===========================
IgorProIO Demo (BROKEN)
=======================
"""

Expand All @@ -17,25 +17,25 @@
# Downloaded from Human Brain Project Collaboratory
# Digital Reconstruction of Neocortical Microcircuitry (nmc-portal)
# http://microcircuits.epfl.ch/#/animal/8ecde7d1-b2d2-11e4-b949-6003088da632


datafile_url = "https://microcircuits.epfl.ch/data/released_data/B95.zip"
filename_zip = "B95.zip"
filename = "grouped_ephys/B95/B95_Ch0_IDRest_107.ibw"
urlretrieve(datafile_url, filename_zip)

zip_ref = zipfile.ZipFile(filename_zip) # create zipfile object
zip_ref.extract(path=".", member=filename) # extract file to dir
zip_ref.close()

######################################################
# Once we have our data we can use `get_io` to find an
# io (Igor in this case). Then we read the analogsignals
# Finally we will make some nice plots
reader = get_io(filename)
signal = reader.read_analogsignal()
plt.plot(signal.times, signal)
plt.xlabel(signal.sampling_period.dimensionality)
plt.ylabel(signal.dimensionality)

plt.show()
# NOTE: this dataset is not found as the link is broken.

# datafile_url = "https://microcircuits.epfl.ch/data/released_data/B95.zip"
# filename_zip = "B95.zip"
# filename = "grouped_ephys/B95/B95_Ch0_IDRest_107.ibw"
# urlretrieve(datafile_url, filename_zip)

# zip_ref = zipfile.ZipFile(filename_zip) # create zipfile object
# zip_ref.extract(path=".", member=filename) # extract file to dir
# zip_ref.close()

# ######################################################
# # Once we have our data we can use `get_io` to find an
# # io (Igor in this case). Then we read the analogsignals
# # Finally we will make some nice plots
# reader = get_io(filename)
# signal = reader.read_analogsignal()
# plt.plot(signal.times, signal)
# plt.xlabel(signal.sampling_period.dimensionality)
# plt.ylabel(signal.dimensionality)

# plt.show()
5 changes: 3 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "neo"
version = "0.14.0.dev0"
version = "0.14.0"
authors = [{name = "Neo authors and contributors"}]
description = "Neo is a package for representing electrophysiology data in Python, together with support for reading a wide range of neurophysiology file formats"
readme = "README.rst"
Expand All @@ -18,6 +18,7 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3 :: Only",
]

Expand Down Expand Up @@ -48,7 +49,7 @@ test = [
# "dhn_med_py<2.0", # ci failing with 2.0 test future version when stable
"pytest",
"pytest-cov",
# datalad # this dependency is covered by conda (environment_testing.yml)
# datalad # this dependency is covered by conda (environment_testing.yml)-- maybe moving straight to ci
"scipy>=1.0.0",
"pyedflib",
"h5py",
Expand Down

0 comments on commit 3583279

Please sign in to comment.