Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare release 0.102.0 #3672

Merged
merged 9 commits into from
Feb 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
155 changes: 155 additions & 0 deletions doc/releases/0.102.0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
.. _release0.102.0:

SpikeInterface 0.102.0 release notes
------------------------------------

7th February 2025

Main changes:

* Added auto-label functions in curation module (#2918)
alejoe91 marked this conversation as resolved.
Show resolved Hide resolved
* Refactored and improved auto-merge functions in curation module (#3435, #3601)
* Added `spikeinterface.load()` function to load any SpikeInterface object (#3613, #3651)
* Improved handling of time in base recording (#3509, #3623)
alejoe91 marked this conversation as resolved.
Show resolved Hide resolved
* Multi-segment handling of motion interpolation (#3659)
* Support for Numpy 2.0 (#3481)


core:

* Extend si.load capabilities (#3651)
* Use process as default in global job kwargs (#3648)
* Fix node pipeline when multiple retrievers (#3642)
* Add `get_start_time`/`get_end_time` functions and use them in `get_duration` (#3623)
* Fix dataframe index dtype due to csv in quality metrics (#3622)
* Replace `load_extractor` with `load_function` from `loading.py` (#3613)
* Adding SharedMemoryTemplates (#3580)
* Implement engine="thread" in ChunkRecordingExecutor (#3526)
* Add `shift start time` function. (#3509)
* recording_slices in run_node_pipeline() (#3506)
* Template loading average or median (#3495)
* Refactor matching with nodepiepeline (#3447)
* Improve noise level machinery (#3359)
* nodepipeline : skip chunks when no peaks inside and skip_after_n_peaks (#3356)

extractors:

* Pin `pyedflib` version after breaking change in annotations (#3644)
* Add experiment_name annotation to open ephys (#3624)
* Add `NwbTimeSeriesExtractor` to load non-electrical series data from NWB (#3587)
* Add `stream_mode` as extra_requirements for NWB when streaming (#3548)
* Fix cbin_file_path (#3524)
* Expose reading attempts in Plexon2 (#3401)
* Add neuronexus allego recording Extractor (#3235)

preprocessing:

* Check for channel_indices is None (#3636)
* Fix silence periods (#3557)
* Extend whitening tests (#3531)
* Don't let decimate mess with times and skim tests (#3519)
* Whitening fix - compute covariance matrix in float (#3505)

sorters:

* Change to default value `use_binary_file=True` for KS4 (#3614)
* Remove Non-Serializable writing of json (#3482)
* Sc2 fixes (#3250, #3518)

postprocessing:

* Add a fast correlogram merge (#3607)
* Unify template and quality metrics (#3537)
* Only load `template_metrics` extension on compute if keeping some metrics (#3478)
* Unit localization (#3476)
* Optimizations for template_similarity (numba and dependencies) (#3405)

qualitymetrics:

* Hard code `synchony_sizes` (#3559)
* Unify template and quality metrics (#3537)
* Fix dtype of quality metrics before and after merging (#3497)

curation:

* Small fixes in curation format and `apply_curation()` (#3601)
* Refactoring auto_merge (#3435)
* Automatic curation with metrics (#2918)

widgets:

* Make `time_range` conversion to array dtype `float64` (#3638)
* Fix `plot_sorting_summary` widget (#3627)
* Changes for spikeinterface-gui (#3616)
* Patch to allow ipywidget plot_unit_templates to work with sparse templates (instead of analyzer) (#3575)
* Allow `export_report` to run without waveforms (#3493)
* Add vspacing_factor as a param for TracesWidget (#3461)

generators:

* Use strings as ids in generators (#3588)


sortingcomponents:

* Split PCA (#3610)
* Adding Hanning filtering (#3604)
* Fix use of keep during run_sorter benchmark (#3556)
* Clustering components api (#3533)
* Kilosort-matching in SpikeInterface (#3488)
* Matched filtering with both peak signs simultaneously (#2914)

motion correction:

* Multi-segment handling in motion interpolation (#3659)
* MotionEstimationStudy : plot drift with the scatter plot (#3553)
* Fix a cross-band interpolation bug, and allow time_vector in interpolate_motion (#3517)

documentation:

* Fix plot_1_automated_curation.py (#3674)
* Extend templates extension docs (#3663)
* Use SpikeInterface-ported pre-trained models in doc (#3652)
* Dev Doc touchup (#3641)
* Fix precision/recall in hybrid example (#3635)
* Improve docstring of `get_neuropixels_sample_shifts` (#3620)
* Switch RTD build to fail on gallery example failure (#3619)
* Fix sphinx doc build (#3612)
* Convert generated unit_ids in docs to strings (#3600)
* Correct method default in docstring (#3570)
* Add custom tutorials index page. (#3504)
* Add error messaging around use of get data in templates (#3501)
* Fix a few typos in the curation docs (#3496)
* Improve error message for `set_probegroup`/`set_probe` (#3479)

continuous integration:

* Fix codecov tests (#3569)
* Add python 313 to CI test (#3481)

packaging:

* Support numpy 2.0 (#3640)
* Force latest hdmf-zarr version (#3639)
* Update zarr version (#3598)

testing:

* Add python Numpy2.0 to CI test (#3481)

Contributors:

* @522848942
* @JoeZiminski
* @OlivierPeron
* @alejoe91
* @anoushkajain
* @chrishalcrow
* @cwindolf
* @guptadivyansh
* @h-mayorquin
* @jakeswann1
alejoe91 marked this conversation as resolved.
Show resolved Hide resolved
* @RobertoDF
* @samuelgarcia
* @yger
* @zm711
1 change: 1 addition & 0 deletions doc/whatisnew.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Release notes
.. toctree::
:maxdepth: 1

releases/0.102.0.rst
releases/0.101.2.rst
releases/0.101.1.rst
releases/0.101.0.rst
Expand Down
16 changes: 8 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -126,16 +126,16 @@ test_core = [

# for github test : probeinterface and neo from master
# for release we need pypi, so this need to be commented
"probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git",
"neo @ git+https://github.com/NeuralEnsemble/python-neo.git",
# "probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git",
# "neo @ git+https://github.com/NeuralEnsemble/python-neo.git",
]

test_extractors = [
# Functions to download data in neo test suite
"pooch>=1.8.2",
"datalad>=1.0.2",
"probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git",
"neo @ git+https://github.com/NeuralEnsemble/python-neo.git",
# "probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git",
# "neo @ git+https://github.com/NeuralEnsemble/python-neo.git",
]

test_preprocessing = [
Expand Down Expand Up @@ -179,8 +179,8 @@ test = [

# for github test : probeinterface and neo from master
# for release we need pypi, so this need to be commented
"probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git",
"neo @ git+https://github.com/NeuralEnsemble/python-neo.git",
# "probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git",
# "neo @ git+https://github.com/NeuralEnsemble/python-neo.git",
]

docs = [
Expand All @@ -205,8 +205,8 @@ docs = [
"datalad>=1.0.2",

# for release we need pypi, so this needs to be commented
"probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git", # We always build from the latest version
"neo @ git+https://github.com/NeuralEnsemble/python-neo.git", # We always build from the latest version
# "probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git", # We always build from the latest version
# "neo @ git+https://github.com/NeuralEnsemble/python-neo.git", # We always build from the latest version

]

Expand Down
4 changes: 2 additions & 2 deletions src/spikeinterface/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,5 @@
# This flag must be set to False for release
# This avoids using versioning that contains ".dev0" (and this is a better choice)
# This is mainly useful when using run_sorter in a container and spikeinterface install
DEV_MODE = True
# DEV_MODE = False
# DEV_MODE = True
DEV_MODE = False