Skip to content

Commit 56975a2

Browse files
authored
Merge branch 'main' into node_pipeline_skip_no_peaks
2 parents 1f52715 + d904363 commit 56975a2

52 files changed

Lines changed: 1651 additions & 397 deletions

Some content is hidden

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

.github/scripts/determine_testing_environment.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
sortingcomponents_changed = False
3232
generation_changed = False
3333
stream_extractors_changed = False
34+
github_actions_changed = False
3435

3536

3637
for changed_file in changed_files_in_the_pull_request_paths:
@@ -78,9 +79,12 @@
7879
sorters_internal_changed = True
7980
else:
8081
sorters_changed = True
82+
elif ".github" in changed_file.parts:
83+
if "workflows" in changed_file.parts:
84+
github_actions_changed = True
8185

8286

83-
run_everything = core_changed or pyproject_toml_changed or neobaseextractor_changed
87+
run_everything = core_changed or pyproject_toml_changed or neobaseextractor_changed or github_actions_changed
8488
run_generation_tests = run_everything or generation_changed
8589
run_extractor_tests = run_everything or extractors_changed or plexon2_changed
8690
run_preprocessing_tests = run_everything or preprocessing_changed
@@ -96,7 +100,7 @@
96100
run_sorters_test = run_everything or sorters_changed
97101
run_internal_sorters_test = run_everything or run_sortingcomponents_tests or sorters_internal_changed
98102

99-
run_streaming_extractors_test = stream_extractors_changed
103+
run_streaming_extractors_test = stream_extractors_changed or github_actions_changed
100104

101105
install_plexon_dependencies = plexon2_changed
102106

.github/workflows/all-tests.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ on:
1212
env:
1313
KACHERY_CLOUD_CLIENT_ID: ${{ secrets.KACHERY_CLOUD_CLIENT_ID }}
1414
KACHERY_CLOUD_PRIVATE_KEY: ${{ secrets.KACHERY_CLOUD_PRIVATE_KEY }}
15+
KACHERY_ZONE: ${{ secrets.KACHERY_ZONE }}
1516

1617
concurrency: # Cancel previous workflows on the same pull request
1718
group: ${{ github.workflow }}-${{ github.ref }}
@@ -25,7 +26,7 @@ jobs:
2526
fail-fast: false
2627
matrix:
2728
python-version: ["3.9", "3.12"] # Lower and higher versions we support
28-
os: [macos-13, windows-latest, ubuntu-latest]
29+
os: [macos-latest, windows-latest, ubuntu-latest]
2930
steps:
3031
- uses: actions/checkout@v4
3132
- name: Setup Python ${{ matrix.python-version }}

.github/workflows/full-test-with-codecov.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
env:
99
KACHERY_CLOUD_CLIENT_ID: ${{ secrets.KACHERY_CLOUD_CLIENT_ID }}
1010
KACHERY_CLOUD_PRIVATE_KEY: ${{ secrets.KACHERY_CLOUD_PRIVATE_KEY }}
11+
KACHERY_ZONE: ${{ secrets.KACHERY_ZONE }}
1112

1213
jobs:
1314
full-tests-with-codecov:

doc/development/development.rst

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,17 @@ so that the user knows what the options are.
189189
Miscelleaneous Stylistic Conventions
190190
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
191191

192-
#. Avoid using abreviations in variable names (e.g., use :code:`recording` instead of :code:`rec`). It is especially important to avoid single letter variables.
192+
#. Avoid using abbreviations in variable names (e.g. use :code:`recording` instead of :code:`rec`). It is especially important to avoid single letter variables.
193193
#. 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)
194194
#. We use file_path and folder_path (instead of file_name and folder_name) for clarity.
195+
#. For creating headers to divide sections of code we use the following convention (see issue `#3019 <https://github.com/SpikeInterface/spikeinterface/issues/3019>`_):
196+
197+
198+
.. code:: python
199+
200+
#########################################
201+
# A header
202+
#########################################
195203
196204
197205
How to build the documentation

doc/releases/0.101.0.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
SpikeInterface 0.101.0 release notes
44
------------------------------------
55

6-
Estimated: 19th July 2024
6+
19th July 2024
77

88
Main changes:
99

doc/releases/0.101.1.rst

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
.. _release0.101.1:
2+
3+
SpikeInterface 0.101.1 release notes
4+
------------------------------------
5+
6+
16th September 2024
7+
8+
Main changes:
9+
10+
* Enabled support for consolidated Zarr-backend for `SortingAnalyzer`, including cloud support (#3314, #3318, #3349, #3351)
11+
* Improved support for Kilosort4 **ONLY VERSIONS >= 4.0.16** (#3339, #3276)
12+
* Skip recomputation of quality and template metrics if already computed (#3292)
13+
* Improved `estimate_sparsity` with new `amplitude` method and deprecated `from_ptp` option (#3369)
14+
* Dropped support for Python<3.9 (#3267)
15+
16+
core:
17+
18+
* Update the method of creating an empty file with right size when saving binary files (#3408)
19+
* Refactor pandas save load and convert dtypes (#3412)
20+
* Check run info completed only if it exists (back-compatibility) (#3407)
21+
* Fix argument spelling in check for binary compatibility (#3409)
22+
* Fix proposal for channel location when probegroup (#3392)
23+
* Fix time handling test memory (#3379)
24+
* Add `BaseRecording.reset_times()` function (#3363, #3380, #3391)
25+
* Extend `estimate_sparsity` methods and update `from_ptp`` (#3369)
26+
* Add `load_sorting_analyzer_or_waveforms` function (#3352)
27+
* Fix zarr folder suffix handling (#3349)
28+
* Analyzer extension exit status (#3347)
29+
* Lazy loading of zarr timestamps (#3318)
30+
* Enable cloud-loading for analyzer Zarr (#3314, #3351, #3378)
31+
* Refactor `set_property` in base (#3287)
32+
* Job kwargs fix (#3259)
33+
* Add `is_filtered` to annotations in `binary.json` (#3245)
34+
* Add check for None in `NoiseGeneratorRecordingSegment`` get_traces() (#3230)
35+
36+
extractors:
37+
38+
* Load phy channel_group as group (#3368)
39+
* "quality" property to be read as string instead of object in `BasePhyKilosortSortingExtractor` (#3365)
40+
41+
preprocessing:
42+
43+
* Auto-cast recording to float prior to interpolation (#3415)
44+
* Update doc handle drift + better preset (#3232)
45+
* Add causal filtering to filter.py (#3172)
46+
47+
sorters:
48+
49+
* Updates to kilosort 4: version >= 4.0.16, `bad_channels`, `clear_cache`, `use_binary_file` (#3339)
50+
* Download apptainer images without docker client (#3335)
51+
* Expose save preprocessing in ks4 (#3276)
52+
* Fix KS2/2.5/3 skip_kilosort_preprocessing (#3265)
53+
* HS: Added lowpass parameter, fixed verbose option (#3262)
54+
* Now exclusive support for HS v0.4 (Lightning) (#3210)
55+
56+
postprocessing:
57+
58+
* Add extra protection for template metrics (#3364)
59+
* Protect median against nans in get_prototype_spike (#3270)
60+
* Fix docstring and error for spike_amplitudes (#3269)
61+
62+
qualitymetrics:
63+
64+
* Do not delete quality and template metrics on recompute (#3292)
65+
* Refactor quality metrics tests to use fixture (#3249)
66+
67+
68+
curation:
69+
70+
* Clean-up identity merges in `get_potential_auto_merges` (#3346)
71+
* Fix sortingview curation no merge case (#3309)
72+
* Start apply_curation() (#3208)
73+
74+
widgets:
75+
76+
* Fix metrics widgets for convert_dtypes (#3417)
77+
* Fix plot motion for multi-segment (#3414)
78+
* Sortingview: only round float properties (#3406)
79+
* Fix widgets tests and add test on unit_table_properties (#3354)
80+
* Allow quality and template metrics in sortingview's unit table (#3299)
81+
* Add subwidget parameters for UnitSummaryWidget (#3242)
82+
* Fix `ipympl`/`widget` backend check (#3238)
83+
84+
generators:
85+
86+
* Handle case where channel count changes from probeA to probeB (#3237)
87+
88+
sortingcomponents:
89+
90+
* Update doc handle drift + better preset (#3232)
91+
* Make `InterpolateMotionRecording`` not JSON-serializable (#3341)
92+
93+
documentation:
94+
95+
* Clarify meaning of `delta_time` in `compare_sorter_to_ground_truth` (#3360)
96+
* Added sphinxcontrib-jquery (#3307)
97+
* Adding return type annotations (#3304)
98+
* More docstring updates for multiple modules (#3298)
99+
* Fix sampling frequency repr (#3294)
100+
* Proposal for adding Examples to docstrings (#3279)
101+
* More numpydoc fixes (#3275)
102+
* Fix docstring and error for spike_amplitudes (#3269)
103+
* Fix postprocessing docs (#3268)
104+
* Fix name of principal_components ext in qm docs (take 2) (#3261)
105+
* Update doc handle drift + better preset (#3232)
106+
* Add `int` type to `num_samples` on `InjectTemplatesRecording`. (#3229)
107+
108+
continuous integration:
109+
110+
* Fix streaming extractor condition in the CI (#3362)
111+
112+
packaging:
113+
114+
* Minor typing fixes (#3374)
115+
* Drop python 3.8 in pyproject.toml (#3267)
116+
117+
testing:
118+
119+
* Fix time handling test memory (#3379)
120+
* Fix streaming extractor condition in the CI (#3362)
121+
* Test IBL skip when the setting up the one client fails (#3289)
122+
* Refactor `set_property` in base (#3287)
123+
* Refactor quality metrics tests to use fixture (#3249)
124+
* Add kilosort4 wrapper tests (#3085)
125+
* Test IBL skip when the setting up the one client fails (#3289)
126+
* Add kilosort4 wrapper tests (#3085)
127+
128+
Contributors:
129+
130+
* @Djoels
131+
* @JoeZiminski
132+
* @JuanPimientoCaicedo
133+
* @alejoe91
134+
* @chrishalcrow
135+
* @cwindolf
136+
* @florian6973
137+
* @h-mayorquin
138+
* @jiumao2
139+
* @jonahpearl
140+
* @mhhennig
141+
* @rkim48
142+
* @samuelgarcia
143+
* @tabedzki
144+
* @zm711

doc/scripts/auto-release-notes.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22
if [ $# -eq 0 ]; then
3-
echo "Usage: $0 START_DATE END_DATE [LABEL] [BRANCH1,BRANCH2] [LIMIT]"
3+
echo "Usage: $0 START_DATE (format: YEAR-MM-DD) END_DATE [LABEL] [BRANCH1,BRANCH2] [LIMIT]"
44
exit 1
55
fi
66

doc/whatisnew.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Release notes
88
.. toctree::
99
:maxdepth: 1
1010

11+
releases/0.101.1.rst
1112
releases/0.101.0.rst
1213
releases/0.100.8.rst
1314
releases/0.100.7.rst
@@ -43,6 +44,16 @@ Release notes
4344
releases/0.9.1.rst
4445

4546

47+
Version 0.101.1
48+
===============
49+
50+
* Enabled support for consolidated Zarr-backend for `SortingAnalyzer`, including cloud support (#3314, #3318, #3349, #3351)
51+
* Improved support for Kilosort4 **ONLY VERSIONS >= 4.0.16** (#3339, #3276)
52+
* Skip recomputation of quality and template metrics if already computed (#3292)
53+
* Improved `estimate_sparsity` with new `amplitude` method and deprecated `from_ptp` option (#3369)
54+
* Dropped support for Python<3.9 (#3267)
55+
56+
4657
Version 0.101.0
4758
===============
4859

pyproject.toml

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ preprocessing = [
9494
full = [
9595
"h5py",
9696
"pandas",
97-
"xarray",
9897
"scipy",
9998
"scikit-learn",
10099
"networkx",
@@ -125,16 +124,16 @@ test_core = [
125124

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

132131
test_extractors = [
133132
# Functions to download data in neo test suite
134133
"pooch>=1.8.2",
135134
"datalad>=1.0.2",
136-
"probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git",
137-
"neo @ git+https://github.com/NeuralEnsemble/python-neo.git",
135+
# "probeinterface @ git+https://github.com/SpikeInterface/probeinterface.git",
136+
# "neo @ git+https://github.com/NeuralEnsemble/python-neo.git",
138137
]
139138

140139
test_preprocessing = [
@@ -148,7 +147,6 @@ test = [
148147
"pytest-dependency",
149148
"pytest-cov",
150149

151-
"xarray",
152150
"huggingface_hub",
153151

154152
# preprocessing
@@ -175,8 +173,8 @@ test = [
175173

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

182180
docs = [
@@ -193,15 +191,14 @@ docs = [
193191
"pandas", # in the modules gallery comparison tutorial
194192
"hdbscan>=0.8.33", # For sorters spykingcircus2 + tridesclous
195193
"numba", # For many postprocessing functions
196-
"xarray", # For use of SortingAnalyzer zarr format
197194
"networkx",
198195
# Download data
199196
"pooch>=1.8.2",
200197
"datalad>=1.0.2",
201198

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

206203
]
207204

src/spikeinterface/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,5 @@
3030
# This flag must be set to False for release
3131
# This avoids using versioning that contains ".dev0" (and this is a better choice)
3232
# This is mainly useful when using run_sorter in a container and spikeinterface install
33-
DEV_MODE = True
34-
# DEV_MODE = False
33+
# DEV_MODE = True
34+
DEV_MODE = False

0 commit comments

Comments
 (0)