From 8d6402b29d5c65015f529dbfa62dea974c98afa7 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Wed, 2 Oct 2024 13:10:01 +0200 Subject: [PATCH 1/5] Prepare release 0.101.2 --- doc/releases/0.101.2.rst | 63 ++++++++++++++++++++++++++++++++++ doc/whatisnew.rst | 6 ++++ pyproject.toml | 12 +++---- src/spikeinterface/__init__.py | 4 +-- 4 files changed, 77 insertions(+), 8 deletions(-) create mode 100644 doc/releases/0.101.2.rst diff --git a/doc/releases/0.101.2.rst b/doc/releases/0.101.2.rst new file mode 100644 index 0000000000..7b45fee796 --- /dev/null +++ b/doc/releases/0.101.2.rst @@ -0,0 +1,63 @@ +.. _release0.101.2: + +SpikeInterface 0.101.2 release notes +------------------------------------ + +3rd October 2024 + +Minor release with bug fixes + +core: + +* Avoid warnings in `SortingAnalyzer` (#3455) +* Fix `reset_global_job_kwargs` (#3452) +* Allow to save recordingless analyzer as (#3443) +* Fix compute analyzer pipeline with tmp recording (#3433) +* Fix bug in saving zarr recordings (#3432) +* Set `run_info` to `None` for `load_waveforms` (#3430) +* Fix integer overflow in parallel computing (#3426) +* Refactor `pandas` save load and `convert_dtypes` (#3412) +* Add spike-train based lazy `SortingGenerator` (#2227) + +extractors: + +* Improve IBL recording extractors by PID (#3449) + +sorters: + +* Get default encoding for `Popen` (#3439) + +postprocessing: + +* Add `max_threads_per_process` and `mp_context` to pca by channel computation and PCA metrics (#3434) + +widgets: + +* Fix metrics widgets for convert_dtypes (#3417) +* Fix plot motion for multi-segment (#3414) + +motion correction: + +* Auto-cast recording to float prior to interpolation (#3415) + +documentation: + +* Add docstring for `generate_unit_locations` (#3418) +* Add `get_channel_locations` to the base recording API (#3403) + +continuous integration: + +* Enable testing arm64 Mac architecture in the CI (#3422) +* Add kachery_zone secret (#3416) + +testing: + +* Relax causal filter tests (#3445) + +Contributors: + +* @alejoe91 +* @h-mayorquin +* @jiumao2 +* @samuelgarcia +* @zm711 diff --git a/doc/whatisnew.rst b/doc/whatisnew.rst index c8038387f9..2851f8ab4a 100644 --- a/doc/whatisnew.rst +++ b/doc/whatisnew.rst @@ -8,6 +8,7 @@ Release notes .. toctree:: :maxdepth: 1 + releases/0.101.2.rst releases/0.101.1.rst releases/0.101.0.rst releases/0.100.8.rst @@ -44,6 +45,11 @@ Release notes releases/0.9.1.rst +Version 0.101.2 +=============== + +* Minor release with bug fixes + Version 0.101.1 =============== diff --git a/pyproject.toml b/pyproject.toml index d246520280..b4a71bdb47 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -124,16 +124,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 = [ @@ -173,8 +173,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 = [ diff --git a/src/spikeinterface/__init__.py b/src/spikeinterface/__init__.py index 306c12d516..97fb95b623 100644 --- a/src/spikeinterface/__init__.py +++ b/src/spikeinterface/__init__.py @@ -30,5 +30,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 From e3b3f02ed236d3b518fe5037805b312b70029cca Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Wed, 2 Oct 2024 13:12:10 +0200 Subject: [PATCH 2/5] Add open PR --- doc/releases/0.101.2.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/releases/0.101.2.rst b/doc/releases/0.101.2.rst index 7b45fee796..22e0113cb7 100644 --- a/doc/releases/0.101.2.rst +++ b/doc/releases/0.101.2.rst @@ -9,6 +9,8 @@ Minor release with bug fixes core: +* Fix `random_spikes_selection()` (#3456) +* Expose `backend_options` at the analyzer level to set `storage_options` and `saving_options` (#3446) * Avoid warnings in `SortingAnalyzer` (#3455) * Fix `reset_global_job_kwargs` (#3452) * Allow to save recordingless analyzer as (#3443) @@ -19,6 +21,7 @@ core: * Refactor `pandas` save load and `convert_dtypes` (#3412) * Add spike-train based lazy `SortingGenerator` (#2227) + extractors: * Improve IBL recording extractors by PID (#3449) From 76fa01ec78b381d510895a6cb10608ce6697e435 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Thu, 3 Oct 2024 15:55:16 +0200 Subject: [PATCH 3/5] Fix docs --- doc/how_to/combine_recordings.rst | 2 +- doc/how_to/load_matlab_data.rst | 2 +- doc/how_to/load_your_data_into_sorting.rst | 4 ++-- doc/how_to/process_by_channel_group.rst | 2 +- doc/how_to/viewers.rst | 2 +- src/spikeinterface/core/sortinganalyzer.py | 10 ++++++++-- 6 files changed, 14 insertions(+), 8 deletions(-) diff --git a/doc/how_to/combine_recordings.rst b/doc/how_to/combine_recordings.rst index db37e28382..4a088f01b1 100644 --- a/doc/how_to/combine_recordings.rst +++ b/doc/how_to/combine_recordings.rst @@ -1,4 +1,4 @@ -Combine Recordings in SpikeInterface +Combine recordings in SpikeInterface ==================================== In this tutorial we will walk through combining multiple recording objects. Sometimes this occurs due to hardware diff --git a/doc/how_to/load_matlab_data.rst b/doc/how_to/load_matlab_data.rst index 1f24fb66d3..eab1e0a300 100644 --- a/doc/how_to/load_matlab_data.rst +++ b/doc/how_to/load_matlab_data.rst @@ -1,4 +1,4 @@ -Export MATLAB Data to Binary & Load in SpikeInterface +Export MATLAB data to binary & load in SpikeInterface ======================================================== In this tutorial, we will walk through the process of exporting data from MATLAB in a binary format and subsequently loading it using SpikeInterface in Python. diff --git a/doc/how_to/load_your_data_into_sorting.rst b/doc/how_to/load_your_data_into_sorting.rst index 4e434ecb7a..e250cfa6e9 100644 --- a/doc/how_to/load_your_data_into_sorting.rst +++ b/doc/how_to/load_your_data_into_sorting.rst @@ -1,5 +1,5 @@ -Load Your Own Data into a Sorting -================================= +Load your own data into a Sorting object +======================================== Why make a :code:`Sorting`? diff --git a/doc/how_to/process_by_channel_group.rst b/doc/how_to/process_by_channel_group.rst index bac0de4d0c..08a87ab738 100644 --- a/doc/how_to/process_by_channel_group.rst +++ b/doc/how_to/process_by_channel_group.rst @@ -1,4 +1,4 @@ -Process a Recording by Channel Group +Process a recording by channel group ==================================== In this tutorial, we will walk through how to preprocess and sort a recording diff --git a/doc/how_to/viewers.rst b/doc/how_to/viewers.rst index c7574961bd..7bb41cadb6 100644 --- a/doc/how_to/viewers.rst +++ b/doc/how_to/viewers.rst @@ -1,4 +1,4 @@ -Visualize Data +Visualize data ============== There are several ways to plot signals (raw, preprocessed) and spikes. diff --git a/src/spikeinterface/core/sortinganalyzer.py b/src/spikeinterface/core/sortinganalyzer.py index 14b4f73eaf..55cbe6070a 100644 --- a/src/spikeinterface/core/sortinganalyzer.py +++ b/src/spikeinterface/core/sortinganalyzer.py @@ -2245,9 +2245,15 @@ def _save_data(self): elif HAS_PANDAS and isinstance(ext_data, pd.DataFrame): df_group = extension_group.create_group(ext_data_name) # first we save the index - df_group.create_dataset(name="index", data=ext_data.index.to_numpy()) + indices = ext_data.index.to_numpy() + if indices.dtype.kind == "O": + indices = indices.astype(str) + df_group.create_dataset(name="index", data=indices) for col in ext_data.columns: - df_group.create_dataset(name=col, data=ext_data[col].to_numpy()) + col_data = ext_data[col].to_numpy() + if col_data.dtype.kind == "O": + col_data = col_data.astype(str) + df_group.create_dataset(name=col, data=col_data) df_group.attrs["dataframe"] = True else: # any object From dc46a2e47bacda1fa2dd8f1cc93e26bc4b4e2259 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Thu, 3 Oct 2024 17:36:23 +0200 Subject: [PATCH 4/5] Add stylistic convention for docs titles --- doc/development/development.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/development/development.rst b/doc/development/development.rst index 246a2bcb9a..a91818a271 100644 --- a/doc/development/development.rst +++ b/doc/development/development.rst @@ -192,6 +192,7 @@ Miscelleaneous Stylistic Conventions #. Avoid using abbreviations in variable names (e.g. use :code:`recording` instead of :code:`rec`). It is especially important to avoid single letter variables. #. Use index as singular and indices for plural following the NumPy convention. Avoid idx or indexes. Plus, id and ids are reserved for identifiers (i.e. channel_ids) #. We use file_path and folder_path (instead of file_name and folder_name) for clarity. +#. For the titles of documentation pages, only capitalize the first letter of the first word and classes or software packages. For example, "How to use a SortingAnalyzer in SpikeInterface". #. For creating headers to divide sections of code we use the following convention (see issue `#3019 `_): From b1ba8efba7cecc09e3b06634572818f4003f5983 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Fri, 4 Oct 2024 10:50:29 +0200 Subject: [PATCH 5/5] Update doc/releases/0.101.2.rst --- doc/releases/0.101.2.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/releases/0.101.2.rst b/doc/releases/0.101.2.rst index 22e0113cb7..e54546ddfb 100644 --- a/doc/releases/0.101.2.rst +++ b/doc/releases/0.101.2.rst @@ -3,7 +3,7 @@ SpikeInterface 0.101.2 release notes ------------------------------------ -3rd October 2024 +4th October 2024 Minor release with bug fixes