Skip to content

Commit b070be2

Browse files
author
Kyle
committed
Support NeuroConv 0.9.1
Key changes: - Bump neuroconv from 0.6.1 to 0.9.1 across all environments - Sync ElectrodeColumns/UnitColumns metadata with all schema properties (incl. data_type inference) - Fix Table.js: value == '' was true for 0 (JS coercion bug) - Add metadata/conversion_options kwargs to temporally_align_data_interfaces (0.7.0 API change) - Add _ensure_dandi_staging_alias() for dandi >= 0.74.0 compat - Update automatic_dandi_upload param: staging → sandbox (0.9.0 API change) - Pin h5py < 3.13 on macOS arm64 (HDF5 symbol mismatch with pytables) - Remove deprecated macos-13 CI runners from all workflows - Update E2E tests: SpikeGLX now uses folder_path + stream_id (0.9.0 API change) - Loosen ndx-pose (>= 0.1.1) and nwbinspector (>= 0.6.2) pins - Remove neo and pandas pins (no longer needed with neuroconv >= 0.8.0)
1 parent c12d968 commit b070be2

16 files changed

Lines changed: 114 additions & 46 deletions

.github/workflows/build_and_deploy_mac.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ on:
77

88
jobs:
99
deploy-on-mac:
10-
runs-on: macos-13
10+
runs-on: macos-latest
1111
# NOTE: macos-latest is an arm64 mac, and the dependency sonpy (Spike2RecordingInterface) has a .so file that
12-
# works only on mac x64. This causes issues building and deploying on mac arm64. So we use macos-13 (x64)
12+
# Mac runner
1313
# to build and deploy both the x64 and arm64 versions of the app.
1414
# NOTE: if changing this to macos-latest, make sure to use the apple-silicon conda environment.
1515

.github/workflows/example_data_cache.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
fail-fast: false
2222
matrix:
2323
python-version: ["3.12"]
24-
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
24+
os: [ubuntu-latest, windows-latest, macos-latest]
2525

2626
steps:
2727

.github/workflows/testing_dev.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ jobs:
2626
- os: macos-latest # Mac arm64 runner
2727
label: environments/environment-MAC-apple-silicon.yml
2828

29-
- os: macos-13 # Mac x64 runner
30-
label: environments/environment-MAC-intel.yml
3129

3230
- os: windows-latest
3331
label: environments/environment-Windows.yml

.github/workflows/testing_dev_e2e_with_live_services.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,6 @@ jobs:
2727

2828
- os: macos-latest # Mac arm64 runner
2929
label: environments/environment-MAC-apple-silicon.yml
30-
31-
- os: macos-13 # Mac x64 runner
32-
label: environments/environment-MAC-intel.yml
33-
3430
- os: windows-latest
3531
label: environments/environment-Windows.yml
3632

.github/workflows/testing_dev_with_live_services.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ jobs:
2626
- os: macos-latest # Mac arm64 runner
2727
label: environments/environment-MAC-apple-silicon.yml
2828

29-
- os: macos-13 # Mac x64 runner
30-
label: environments/environment-MAC-intel.yml
3129

3230
- os: windows-latest
3331
label: environments/environment-Windows.yml

.github/workflows/testing_flask_build_and_dist.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ jobs:
2222
- os: macos-latest # Mac arm64 runner
2323
label: environments/environment-MAC-apple-silicon.yml
2424

25-
- os: macos-13 # Mac x64 runner
26-
label: environments/environment-MAC-intel.yml
2725

2826
- os: windows-latest
2927
label: environments/environment-Windows.yml
@@ -76,7 +74,7 @@ jobs:
7674
run: pip uninstall matplotlib --yes
7775

7876
# Fix for macos build - remove bad sonpy file
79-
- if: matrix.os == 'macos-latest' || matrix.os == 'macos-13'
77+
- if: matrix.os == 'macos-latest'
8078
run: rm -f "$CONDA_PREFIX/lib/python3.9/site-packages/sonpy/linux/sonpy.so"
8179

8280
- name: Build PyFlask distribution

.github/workflows/testing_pipelines.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ jobs:
2424
- os: macos-latest # Mac arm64 runner
2525
label: environments/environment-MAC-apple-silicon.yml
2626

27-
- os: macos-13 # Mac x64 runner
28-
label: environments/environment-MAC-intel.yml
2927

3028
- os: windows-latest
3129
label: environments/environment-Windows.yml

environments/environment-Linux.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,11 @@ dependencies:
1515
- flask-cors == 4.0.0
1616
- flask_restx == 1.1.0
1717
- werkzeug < 3.0 # werkzeug 3.0 deprecates features used by flask 2.3.2. Remove this when updating flask.
18-
- neuroconv[dandi,compressors,ecephys,ophys,behavior,text] == 0.6.1
19-
- pandas < 3.0 # pandas 3.0 returns read-only arrays, breaking spikeinterface Phy extractor
20-
- neo == 0.14.1 # 0.14.2 is not compatible with neuroconv < 0.7.5
18+
- neuroconv[dandi,compressors,ecephys,ophys,behavior,text] == 0.9.1
2119
- scikit-learn == 1.4.0 # Tutorial data generation
2220
- tqdm_publisher >= 0.0.1 # Progress bars
2321
- tzlocal >= 5.2 # Frontend timezone handling
24-
- ndx-pose == 0.1.1
25-
- nwbinspector == 0.6.2
22+
- ndx-pose >= 0.1.1
23+
- nwbinspector >= 0.6.2
2624
- tables
2725
- numcodecs < 0.16.0 # numcodecs 0.16.0 is not compatible with zarr 2.18.5

environments/environment-MAC-apple-silicon.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ dependencies:
99
- lxml = 4.9.3 # PyPI build fails due to x64/arm64 mismatch so install from conda-forge
1010
- pyedflib = 0.1.38 # PyPI build fails due to x64/arm64 mismatch so install from conda-forge
1111
- numpy # May have x64/arm64 mismatch issues so install from conda-forge
12-
- pytables = 3.9.1 # PyPI build fails on arm64; must be <3.9.2 per neuroconv 0.6.1 constraint
12+
- pytables = 3.10.2 # PyPI build fails on arm64 so install from conda-forge (used by neuroconv deps)
1313
- jsonschema = 4.18.0 # Also installs jsonschema-specifications
1414
- pip
1515
- pip:
@@ -23,12 +23,11 @@ dependencies:
2323
- werkzeug < 3.0 # werkzeug 3.0 deprecates features used by flask 2.3.2. Remove this when updating flask.
2424
# NOTE: the NeuroConv wheel on PyPI includes sonpy which is not compatible with arm64, so build and install
2525
# NeuroConv from GitHub, which will remove the sonpy dependency when building from Mac arm64
26-
- neuroconv[dandi,compressors,ecephys,ophys,behavior,text] == 0.6.1
27-
- pandas < 3.0 # pandas 3.0 returns read-only arrays, breaking spikeinterface Phy extractor
28-
- neo == 0.14.1 # 0.14.2 is not compatible with neuroconv < 0.7.5
26+
- h5py < 3.13 # 3.13+ uses HDF5 1.14.4 features not in pytables 3.10.2's bundled HDF5 1.14.2
27+
- neuroconv[dandi,compressors,ecephys,ophys,behavior,text] == 0.9.1
2928
- scikit-learn == 1.4.0 # Tutorial data generation
3029
- tqdm_publisher >= 0.0.1 # Progress bars
3130
- tzlocal >= 5.2 # Frontend timezone handling
32-
- ndx-pose == 0.1.1
33-
- nwbinspector == 0.6.2
31+
- ndx-pose >= 0.1.1
32+
- nwbinspector >= 0.6.2
3433
- numcodecs < 0.16.0 # numcodecs 0.16.0 is not compatible with zarr 2.18.5

environments/environment-MAC-intel.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,12 @@ dependencies:
1818
- flask-cors == 4.0.0
1919
- flask_restx == 1.1.0
2020
- werkzeug < 3.0 # werkzeug 3.0 deprecates features used by flask 2.3.2. Remove this when updating flask.
21-
- neuroconv[dandi,compressors,ecephys,ophys,behavior,text] == 0.6.1
22-
- pandas < 3.0 # pandas 3.0 returns read-only arrays, breaking spikeinterface Phy extractor
23-
- neo == 0.14.1 # 0.14.2 is not compatible with neuroconv < 0.7.5
21+
- neuroconv[dandi,compressors,ecephys,ophys,behavior,text] == 0.9.1
2422
- scikit-learn == 1.4.0 # Tutorial data generation
2523
- tqdm_publisher >= 0.0.1 # Progress bars
2624
- tzlocal >= 5.2 # Frontend timezone handling
27-
- ndx-pose == 0.1.1
28-
- nwbinspector == 0.6.2
25+
- ndx-pose >= 0.1.1
26+
- nwbinspector >= 0.6.2
2927
- numcodecs < 0.16.0 # numcodecs 0.16.0 is not compatible with zarr 2.18.5
3028
- h5py == 3.12.1 # 3.13.0 uses features in hdf5 1.14.4 that is not available in earlier hdf5 libs packaged
3129
# with tables==3.9.1 (latest that can be used by neuroconv 0.6.0).

0 commit comments

Comments
 (0)