From dbdcb6dccc9401bc0852b95b6b54802fa482469f Mon Sep 17 00:00:00 2001 From: Ben Dichter Date: Sat, 22 Aug 2026 20:05:03 -0400 Subject: [PATCH 1/6] Re-lock every notebook for Colab's Python 3.13 runtime Colab moved its default runtime to Python 3.13 on 2026-08-19, and the install cells pinned against the 3.12 runtime stopped resolving there: ml-dtypes on 3.13 requires numpy>=2.1, and numpy 2.0.2 has no cp313 wheels, so 34 of the 35 pin sets failed at the first cell. This refreshes the Colab constraint file from the current runtime, switches the locker, the Dockerfile base, and the CI runners to 3.13, and re-locks all 44 bootstrap notebooks. The re-lock is driven by requirements.in files, so every group now has one: the 29 groups that predated the contract get theirs from a new backfill script that scans the notebooks' imports, resolves them to distribution names inside the group's published image, and carries over NWB extension packages and git pins that an import scan cannot see. Groups that use pynwb are held at pynwb<4 and hdmf<5 so that the re-lock does not double as a pynwb major upgrade; the demos notebook keeps the nwbwidgets-era stack. The Get-to-know-a-Dandiset tutorial had five outputs with an invalid key that made the notebook fail nbformat validation; they are removed. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_011NuStoQykizhQCx2KBrMCN --- .github/colab-preinstalled.txt | 505 +++---- .github/docker/Dockerfile | 2 +- .github/scripts/backfill_requirements.py | 196 +++ .github/scripts/lock_notebook.py | 4 +- .github/scripts/run_notebook.py | 2 +- .github/workflows/build-notebook-images.yml | 6 +- .../workflows/test-all-notebooks-weekly.yml | 4 +- .github/workflows/test-changed-notebooks.yml | 4 +- 000108/chunglab/demo/dashboard.ipynb | 93 +- 000108/chunglab/demo/requirements.in | 6 + 000402/MICrONS/demo/000402_microns_demo.ipynb | 163 +- 000402/MICrONS/demo/requirements.in | 13 + 000409/IBL/bwm_usage_notebook.ipynb | 155 +- 000409/IBL/requirements.in | 14 + 000458/AllenInstitute/reanalysis.ipynb | 63 +- .../000_lindi_vs_fsspec_streaming.ipynb | 98 +- .../001_summarize_contents.ipynb | 99 +- 000458/FlatironInstitute/requirements.in | 8 + .../read_avi.ipynb | 98 +- .../reproduce_figure1d.ipynb | 90 +- .../reproduce_figure1d.requirements.in | 11 + .../reproduce_figure_S1.ipynb | 167 +- .../reproduce_figure_S1.requirements.in | 14 + .../000582_Sargolini2006_demo.ipynb | 95 +- 000582/Sargolini2006/requirements.in | 10 + 000718/CaiLab/zaki_2024/000718_demo.ipynb | 96 +- 000718/CaiLab/zaki_2024/requirements.in | 9 + .../simple_data_access/reading_data.ipynb | 92 +- .../simple_data_access/requirements.in | 7 + 000728/AllenInstitute/requirements.in | 10 + .../visual_coding_ophys_tutorial.ipynb | 91 +- .../TurnerLab/public_demo/000947_demo.ipynb | 101 +- 000947/TurnerLab/public_demo/requirements.in | 10 + .../fiber_photometry_example_notebook.ipynb | 93 +- .../optogenetics_example_notebook.ipynb | 91 +- 000971/lernerlab/seiler_2024/requirements.in | 9 + 001038/DombeckLab/001038_demo.ipynb | 106 +- 001038/DombeckLab/requirements.in | 9 + 001075/001075_paper_figure_1d.ipynb | 92 +- 001075/requirements.in | 9 + 001084/HoweLab/001084_demo.ipynb | 89 +- 001084/HoweLab/requirements.in | 9 + 001172/HigleyLab/001172_demo.ipynb | 165 +- 001172/HigleyLab/requirements.in | 10 + 001528/HnaskoLab/Lotfi_2025/001528_demo.ipynb | 63 +- .../figure_1E_dspn_somatic_excitability.ipynb | 105 +- .../zhai_2025/figure_2GH_oepsc_analysis.ipynb | 105 +- .../figure_5F_acetylcholine_biosensor.ipynb | 105 +- .../zhai_2025/how_to_use_this_dataset.ipynb | 105 +- .../catalyst_neuro/zhai_2025/requirements.in | 12 + 001550/PaganLab/01_behavior_demo.ipynb | 1341 ++++++++++------- 001550/PaganLab/02_optogenetics_demo.ipynb | 146 +- 001550/PaganLab/requirements.in | 12 + .../antidromic_detection_tutorial.ipynb | 186 +-- 001636/TurnerLab/motor_cortex/requirements.in | 13 + .../motor_cortex/turner_m1_glm.ipynb | 185 +-- .../motor_cortex/turner_m1_peth.ipynb | 185 +-- .../motor_cortex/turner_m1_usage.ipynb | 186 +-- .../figure2_distance_tuning.ipynb | 63 +- .../anatomical_localization_widefield.ipynb | 162 +- ...cal_localization_widefield.requirements.in | 10 + .../public_demo/processed_widefield.ipynb | 175 +-- .../processed_widefield.requirements.in | 11 + .../public_demo/raw_widefield.ipynb | 158 +- .../public_demo/raw_widefield.requirements.in | 8 + 001754/CatalystNeuro/001754_demo.ipynb | 100 +- 001754/CatalystNeuro/requirements.in | 10 + dandi/DANDI User Guide, Part I.ipynb | 61 +- dandi/DANDI User Guide, Part II.ipynb | 87 +- .../DANDI User Guide, Part II.requirements.in | 1 + demos/NWBWidget-demo.ipynb | 83 +- docs/adding-notebooks.md | 10 +- tutorials/bcm_2024/analysis-demo.ipynb | 102 +- tutorials/bcm_2024/requirements.in | 10 + tutorials/cosyne_2023/requirements.in | 2 + .../cosyne_2023/simple_dandiset_search.ipynb | 104 +- .../advanced_asset_search.ipynb | 107 +- .../advanced_asset_search.requirements.in | 10 + .../simple_dandiset_search.ipynb | 104 +- .../simple_dandiset_search.requirements.in | 2 + .../Get-to-know-a-Dandiset.ipynb | 104 +- .../requirements.in | 9 + 82 files changed, 3651 insertions(+), 3609 deletions(-) create mode 100644 .github/scripts/backfill_requirements.py create mode 100644 000108/chunglab/demo/requirements.in create mode 100644 000402/MICrONS/demo/requirements.in create mode 100644 000409/IBL/requirements.in create mode 100644 000458/FlatironInstitute/requirements.in create mode 100644 000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure1d.requirements.in create mode 100644 000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure_S1.requirements.in create mode 100644 000582/Sargolini2006/requirements.in create mode 100644 000718/CaiLab/zaki_2024/requirements.in create mode 100644 000727/clandinin/simple_data_access/requirements.in create mode 100644 000728/AllenInstitute/requirements.in create mode 100644 000947/TurnerLab/public_demo/requirements.in create mode 100644 000971/lernerlab/seiler_2024/requirements.in create mode 100644 001038/DombeckLab/requirements.in create mode 100644 001075/requirements.in create mode 100644 001084/HoweLab/requirements.in create mode 100644 001172/HigleyLab/requirements.in create mode 100644 001538/catalyst_neuro/zhai_2025/requirements.in create mode 100644 001550/PaganLab/requirements.in create mode 100644 001636/TurnerLab/motor_cortex/requirements.in create mode 100644 001712/IBL-Widefield/public_demo/anatomical_localization_widefield.requirements.in create mode 100644 001712/IBL-Widefield/public_demo/processed_widefield.requirements.in create mode 100644 001712/IBL-Widefield/public_demo/raw_widefield.requirements.in create mode 100644 001754/CatalystNeuro/requirements.in create mode 100644 dandi/DANDI User Guide, Part II.requirements.in create mode 100644 tutorials/bcm_2024/requirements.in create mode 100644 tutorials/cosyne_2023/requirements.in create mode 100644 tutorials/neurodatarehack_2024/advanced_asset_search.requirements.in create mode 100644 tutorials/neurodatarehack_2024/simple_dandiset_search.requirements.in create mode 100644 tutorials/open_data_quick_start_2026/requirements.in diff --git a/.github/colab-preinstalled.txt b/.github/colab-preinstalled.txt index cf4765dc..0b2f859d 100644 --- a/.github/colab-preinstalled.txt +++ b/.github/colab-preinstalled.txt @@ -1,6 +1,6 @@ -# Google Colab's preinstalled package versions (Python 3.12 runtime). +# Google Colab's preinstalled package versions (Python 3.13 runtime). # Source: https://github.com/googlecolab/backend-info (pip-freeze.txt) -# Last refreshed: 2026-05-13 +# Last refreshed: 2026-08-22 # # This file is used as a uv-pip-compile --constraint when resolving each # notebook's install-cell lock. Matching Colab's versions means the notebook @@ -12,100 +12,97 @@ # version (eg `numpy<2` for a notebook that uses np.NaN), the resolver # falls back to ignoring constraints for that notebook — the lock will end # up with non-Colab versions and the user WILL need to restart. That's the -# right trade: the notebook needs the older version to function. - absl-py==1.4.0 -accelerate==1.13.0 +accelerate==1.14.0 access==1.1.10.post3 -affine==2.4.0 -aiofiles==24.1.0 -aiohappyeyeballs==2.6.1 -aiohttp==3.13.5 +affine==3.0.0 +aiofiles==25.1.0 +aiohappyeyeballs==2.7.1 +aiohttp==3.14.3 aiosignal==1.4.0 aiosqlite==0.22.1 alabaster==1.0.0 albucore==0.0.24 albumentations==2.0.8 -ale-py==0.11.2 -alembic==1.18.4 +ale-py==0.12.1 altair==5.5.0 -annotated-doc==0.0.4 -annotated-types==0.7.0 +annotated-doc==0.0.5 +annotated-types==0.8.0 antlr4-python3-runtime==4.9.3 -anyio==4.13.0 +anyio==4.14.2 anywidget==0.9.21 -apsw==3.53.0.0 -apswutils==0.1.2 +apsw==3.53.4.0 argon2-cffi==25.1.0 argon2-cffi-bindings==25.1.0 array_record==0.8.3 arrow==1.4.0 arviz==0.22.0 -astropy==7.2.0 -astropy-iers-data==0.2026.4.20.0.58.15 +astropy==7.2.2 +astropy-iers-data==0.2026.8.10.0.32.39 astunparse==1.6.3 atpublic==5.1 attrs==26.1.0 +audioop-lts==0.2.2 audioread==3.1.0 -Authlib==1.6.11 -autograd==1.8.0 +Authlib==1.7.2 +autograd==1.9.1 babel==2.18.0 backcall==0.2.0 beartype==0.22.9 beautifulsoup4==4.13.5 -betterproto==2.0.0b6 -bigframes==2.39.0 +betterproto==2.0.0b7 +bigframes==2.42.0 bigquery-magics==0.14.0 -bleach==6.3.0 +bleach==6.4.0 blinker==1.9.0 blis==1.3.3 blobfile==3.2.0 -blosc2==4.1.2 +blosc2==4.11.0 bokeh==3.8.2 Bottleneck==1.4.2 -bqplot==0.12.45 +bqplot==0.12.47 branca==0.8.2 brotli==1.2.0 CacheControl==0.14.4 cachetools==6.2.6 catalogue==2.0.10 -certifi==2026.4.22 -cffi==2.0.0 +certifi==2026.7.22 +cffi==2.1.1 chardet==5.2.0 -charset-normalizer==3.4.7 +charset-normalizer==3.4.9 clarabel==0.11.1 -click==8.3.3 -click-plugins==1.1.1.2 +click==8.4.2 cligj==0.7.2 -cloudpathlib==0.23.0 +cloudpathlib==0.24.0 cloudpickle==3.1.2 cmake==3.31.10 cmdstanpy==1.3.0 -colorcet==3.1.0 +colorcet==3.2.1 colorlover==0.3.0 community==1.0.0b1 confection==1.3.3 cons==0.4.7 contourpy==1.3.3 cramjam==2.11.0 -cryptography==43.0.3 +cryptography==50.0.0 cufflinks==0.17.3 -curl_cffi==0.15.0 +curl_cffi==0.16.0 cvxopt==1.3.2 cvxpy==1.6.7 cycler==0.12.1 cyipopt==1.5.0 cymem==2.0.13 Cython==3.0.12 -dask==2026.3.0 +dask==2026.7.1 dataproc-spark-connect==1.1.0 datasets==4.0.0 -db-dtypes==1.5.1 +db-dtypes==1.7.1 +dbus-python==1.2.18 debugpy==1.8.15 decorator==4.4.2 defusedxml==0.7.1 deprecation==2.1.0 -diffusers==0.37.1 +diffusers==0.39.0 dill==0.3.8 distro==1.9.0 dlib==19.24.6 @@ -114,7 +111,7 @@ docstring_parser==0.18.0 docutils==0.21.2 dopamine_rl==4.1.2 duckdb==1.3.2 -earthengine-api==1.7.22 +earthengine-api==1.7.39 easydict==1.13 editdistance==0.8.1 eerepr==0.1.2 @@ -124,24 +121,21 @@ esda==2.9.0 et_xmlfile==2.0.0 etils==1.14.0 etuples==0.3.10 -Farama-Notifications==0.0.4 -fastai==2.8.7 -fastapi==0.136.1 -fastcore==1.12.42 +Farama-Notifications==0.0.6 +fastai==2.8.8 +fastapi==0.141.1 +fastcore==2.2.12 fastdownload==0.0.7 -fastjsonschema==2.21.2 -fastlite==0.2.4 -fastprogress==1.1.5 +fastjsonschema==2.22.2 +fastprogress==1.1.6 fasttransform==0.0.2 -ffmpy==1.0.0 -filelock==3.29.0 -fiona==1.10.1 +filelock==3.32.3 firebase-admin==6.9.0 Flask==3.1.3 flatbuffers==25.12.19 flax==0.11.2 folium==0.20.0 -fonttools==4.62.1 +fonttools==4.63.0 fqdn==1.5.1 frozendict==2.4.7 frozenlist==1.8.0 @@ -151,66 +145,52 @@ gast==0.7.0 gcsfs==2025.3.0 GDAL==3.8.4 gdown==5.2.2 -geemap==0.37.2 +geemap==0.38.3 geocoder==1.38.1 geographiclib==2.1 -geopandas==1.1.3 +geopandas==1.1.4 geopy==2.4.1 -giddy==2.3.6 +giddy==2.3.9 gin-config==0.5.0 -gitdb==4.0.12 -GitPython==3.1.47 glob2==0.7 google==3.0.0 -google-adk==1.29.0 +google-adk==2.7.1 google-ai-generativelanguage==0.6.15 google-api-core==2.30.3 -google-api-python-client==2.194.0 -google-auth==2.47.0 -google-auth-httplib2==0.3.1 -google-auth-oauthlib==1.3.1 -google-cloud-aiplatform==1.148.1 -google-cloud-appengine-logging==1.9.0 -google-cloud-audit-log==0.5.0 -google-cloud-bigquery==3.41.0 -google-cloud-bigquery-connection==1.21.0 -google-cloud-bigquery-storage==2.37.0 -google-cloud-bigtable==2.36.0 -google-cloud-core==2.5.1 -google-cloud-dataplex==2.18.0 -google-cloud-dataproc==5.27.0 -google-cloud-datastore==2.24.0 -google-cloud-discoveryengine==0.13.12 +google-api-python-client==2.198.0 +google-auth==2.49.0 +google-auth-httplib2==0.4.1 +google-auth-oauthlib==1.4.0 +google-cloud-bigquery==3.43.0 +google-cloud-bigquery-connection==1.22.0 +google-cloud-bigquery-storage==2.39.0 +google-cloud-core==2.6.1 +google-cloud-dataproc==5.28.0 +google-cloud-datastore==2.25.0 google-cloud-firestore==2.27.0 -google-cloud-functions==1.23.0 -google-cloud-iam==2.22.0 -google-cloud-language==2.20.0 -google-cloud-logging==3.15.0 -google-cloud-monitoring==2.30.0 -google-cloud-pubsub==2.37.0 -google-cloud-resource-manager==1.17.0 -google-cloud-secret-manager==2.27.0 -google-cloud-spanner==3.65.0 -google-cloud-speech==2.38.0 -google-cloud-storage==3.10.1 -google-cloud-trace==1.19.0 -google-cloud-translate==3.26.0 +google-cloud-functions==1.24.0 +google-cloud-language==2.21.0 +google-cloud-monitoring==2.31.0 +google-cloud-resource-manager==1.18.0 +google-cloud-spanner==3.68.0 +google-cloud-storage==3.13.1 +google-cloud-translate==3.27.0 google-crc32c==1.8.0 -google-genai==1.68.0 +google-genai==2.12.1 google-generativeai==0.8.6 google-pasta==0.2.0 -google-resumable-media==2.8.2 -googleapis-common-protos==1.74.0 +google-resumable-media==2.10.1 +googleapis-common-protos==1.75.0 googledrivedownloader==1.1.0 -gradio==5.50.0 -gradio_client==1.14.0 -grain==0.2.16 +gradio==6.24.0 +gradio_client==2.6.0 +grain==0.2.18 graphviz==0.21 -greenlet==3.4.0 +greenlet==3.5.5 groovy==0.1.2 grpc-google-iam-v1==0.14.4 grpc-interceptor==0.15.4 -grpcio==1.80.0 +grpcio==1.83.0 grpcio-status==1.71.2 grpclib==0.4.9 gspread==6.2.1 @@ -219,35 +199,36 @@ gym==0.25.2 gym-notices==0.1.0 gymnasium==1.3.0 h11==0.16.0 -h2==4.3.0 +h2==4.4.1 h5netcdf==1.8.1 h5py==3.16.0 -hdbscan==0.8.42 -hf-xet==1.4.3 -highspy==1.14.0 -holidays==0.95 -holoviews==1.22.1 -hpack==4.1.0 +hdbscan==0.8.44 +hf-gradio==0.4.1 +hf-xet==1.6.0 +highspy==1.15.1 +holidays==0.103 +holoviews==1.23.1 +hpack==4.2.0 html5lib==1.1 httpcore==1.0.9 +httpcore2==2.10.0 httpimport==1.4.1 -httplib2==0.31.2 -httptools==0.7.1 +httplib2==0.32.0 +httptools==0.8.0 httpx==0.28.1 -httpx-sse==0.4.3 -huggingface_hub==1.11.0 -humanize==4.15.0 +httpx2==2.10.0 +huggingface_hub==1.27.0 +humanize==4.16.0 hyperframe==6.1.0 -hyperopt==0.2.7 +hyperopt==0.3.0 ibis-framework==9.5.0 -idna==3.13 -ImageIO==2.37.3 +idna==3.18 +ImageIO==2.37.4 imageio-ffmpeg==0.6.0 imagesize==2.0.0 -imbalanced-learn==0.14.1 +imbalanced-learn==0.14.2 immutabledict==4.3.1 -importlib_metadata==8.7.1 -importlib_resources==7.1.0 +importlib_metadata==9.0.0 imutils==0.5.4 inequality==1.1.2 inflect==7.5.0 @@ -267,16 +248,17 @@ isoduration==20.11.0 itsdangerous==2.2.0 jaraco.classes==3.4.0 jaraco.context==6.1.2 -jaraco.functools==4.4.0 +jaraco.functools==4.6.0 jax==0.7.2 jaxlib==0.7.2 jeepney==0.9.0 jieba==0.42.1 Jinja2==3.1.6 -jiter==0.14.0 +jiter==0.16.0 joblib==1.5.3 +joserfc==1.7.4 jsonpatch==1.33 -jsonpickle==4.1.1 +jsonpickle==4.1.2 jsonpointer==3.1.1 jsonschema==4.26.0 jsonschema-specifications==2025.9.1 @@ -285,201 +267,214 @@ jupyter-events==0.12.1 jupyter-leaflet==0.20.0 jupyter_client==7.4.9 jupyter_core==5.9.1 -jupyter_server==2.14.0 +jupyter_server==2.20.0 jupyter_server_terminals==0.5.4 jupyterlab_pygments==0.3.0 jupyterlab_widgets==3.0.16 -jupytext==1.19.1 +jupytext==1.19.5 kaggle==2.0.2 -kagglehub==1.0.0 -kagglesdk==0.1.20 +kagglehub==1.0.2 +kagglesdk==0.1.37 keras==3.13.2 keras-hub==0.26.0 keras-nlp==0.26.0 keyring==25.7.0 keyrings.google-artifactregistry-auth==1.1.2 kiwisolver==1.5.0 -langchain==1.2.15 -langchain-core==1.3.1 -langgraph==1.1.9 -langgraph-checkpoint==4.0.2 -langgraph-prebuilt==1.0.10 -langgraph-sdk==0.3.13 -langsmith==0.7.34 +langchain==1.3.15 +langchain-core==1.5.5 +langchain-protocol==0.0.18 +langgraph==1.2.11 +langgraph-checkpoint==4.2.0 +langgraph-prebuilt==1.1.0 +langgraph-sdk==0.4.2 +langsmith==0.11.0 lark==1.3.1 +launchpadlib==1.10.16 +lazr.restfulclient==0.14.4 +lazr.uri==1.0.6 lazy-loader==0.5 libclang==18.1.1 libpysal==4.14.1 librosa==0.11.0 lightgbm==4.6.0 linkify-it-py==2.1.0 -llvmlite==0.43.0 +llvmlite==0.44.0 locket==1.0.0 logical-unification==0.4.7 -lxml==6.1.0 -Mako==1.3.11 +lxml==6.1.1 +Mako==1.1.3 mapclassify==2.10.0 -Markdown==3.10.2 -markdown-it-py==4.0.0 +Markdown==3.10.3 +markdown-it-py==4.2.0 MarkupSafe==3.0.3 matplotlib==3.10.0 -matplotlib-inline==0.2.1 +matplotlib-inline==0.2.2 matplotlib-venn==1.1.2 -mcp==1.27.0 -mdit-py-plugins==0.5.0 +mdit-py-plugins==0.6.1 mdurl==0.1.2 mgwr==2.2.1 miniKanren==1.0.5 missingno==0.5.2 -mistune==3.2.0 +mistune==3.3.4 mizani==0.13.5 mkl==2025.3.1 -ml_dtypes==0.5.4 +ml_dtypes==0.6.0 mlxtend==0.23.4 mmh3==5.2.1 momepy==0.11.0 more-itertools==10.8.0 moviepy==1.0.3 mpmath==1.3.0 -msgpack==1.1.2 +msgpack==1.2.1 multidict==6.7.1 multipledispatch==1.0.0 multiprocess==0.70.16 multitasking==0.0.13 murmurhash==1.0.15 -music21==9.9.1 +music21==9.9.2 namex==0.1.0 -narwhals==2.20.0 +narwhals==2.24.0 natsort==8.4.0 nbclassic==1.3.3 nbclient==0.10.4 nbconvert==7.17.1 -nbformat==5.10.4 +nbformat==5.11.1 ndindex==1.10.1 nest-asyncio==1.6.0 networkx==3.6.1 +nh3==0.3.6 nibabel==5.4.2 nltk==3.9.1 notebook==6.5.7 notebook_shim==0.2.4 -numba==0.60.0 -numexpr==2.14.1 -numpy==2.0.2 -nvidia-nccl-cu12==2.30.4 +numba==0.61.2 +numexpr==2.14.2 +numpy==2.1.3 +nvidia-nccl-cu13==2.31.2 oauth2client==4.1.3 oauthlib==3.3.1 -omegaconf==2.3.0 -openai==2.32.0 -opencv-contrib-python==4.13.0.92 -opencv-python==4.13.0.92 -opencv-python-headless==4.13.0.92 +omegaconf==2.3.1 +onemkl-license==2025.3.1 +openai==2.54.0 +opencv-contrib-python==4.14.0.94 +opencv-python==5.0.0.93 +opencv-python-headless==5.0.0.93 openpyxl==3.1.5 +opentelemetry-api==1.42.1 +opentelemetry-resourcedetector-gcp==1.14.0 +opentelemetry-sdk==1.42.1 +opentelemetry-semantic-conventions==0.63b1 opt_einsum==3.4.0 optax==0.2.8 -optree==0.19.0 -orbax-checkpoint==0.11.36 -orjson==3.11.8 +optree==0.19.1 +orbax-checkpoint==0.12.4 +orjson==3.12.0 ormsgpack==1.12.2 -osqp==1.1.1 -overrides==7.7.0 -packaging==26.1 -pandas==2.2.2 -pandas-datareader==0.10.0 +osqp==1.1.3 +packaging==26.3 +pandas==2.2.3 +pandas-datareader==0.11.1 pandas-gbq==0.30.0 -pandas-stubs==2.2.2.240909 +pandas-stubs==2.2.3.250527 pandocfilters==1.5.1 -panel==1.8.10 -param==2.3.3 -parso==0.8.6 +panel==1.9.4 +panel-material-ui==0.14.2 +param==2.4.1 +parso==0.8.7 parsy==2.2 partd==1.4.2 patsy==1.0.2 -peewee==4.0.5 -peft==0.19.1 +peewee==4.3.0 +peft==0.20.0 pexpect==4.9.0 pickleshare==0.7.5 pillow==11.3.0 -platformdirs==4.9.6 +pip==24.1.2 +platformdirs==4.11.3 plotly==5.24.1 plotnine==0.14.5 pluggy==1.6.0 -plum-dispatch==2.8.0 +plum-dispatch==2.9.0 pointpats==2.5.5 polars==1.35.2 +polars-runtime-32==1.35.2 pooch==1.9.0 portpicker==1.5.2 preshed==3.0.13 -prettytable==3.17.0 +prettytable==3.18.0 proglog==0.1.12 progressbar2==4.5.0 -prometheus_client==0.25.0 +prometheus_client==0.26.0 promise==2.3 -prompt_toolkit==3.0.52 -propcache==0.4.1 -prophet==1.3.0 -proto-plus==1.27.2 +prompt_toolkit==3.0.53 +propcache==0.5.2 +prophet==1.4.0 +proto-plus==1.28.2 protobuf==5.29.6 psutil==5.9.5 psycopg2==2.9.12 psygnal==0.15.1 ptyprocess==0.7.0 -PuLP==3.3.0 +PuLP==3.3.2 py-cpuinfo==9.0.0 py4j==0.10.9.9 pyarrow==18.1.0 -pyasn1==0.6.3 +pyasn1==0.6.4 pyasn1_modules==0.4.2 +pycairo==1.29.1 pycocotools==2.0.11 pycparser==3.0 pycryptodomex==3.23.0 -pydantic==2.12.3 -pydantic-settings==2.14.0 -pydantic_core==2.41.4 +pydantic==2.13.4 +pydantic_core==2.46.4 pydata-google-auth==1.9.1 pydot==4.0.1 pydotplus==2.0.2 -PyDrive2==1.21.3 +PyDrive2==1.21.1 pydub==0.25.1 pyerfa==2.0.1.5 pygame==2.6.1 -pygit2==1.19.2 -Pygments==2.20.0 +pygit2==1.20.0 +Pygments==2.21.0 +PyGObject==3.48.2 pyiceberg==0.11.1 -PyJWT==2.12.1 -pymc==5.28.4 +PyJWT==2.13.0 +pymc==5.28.5 pynndescent==0.6.0 -pyogrio==0.12.1 -pyomo==6.10.0 +pyogrio==0.13.0 +pyomo==6.10.1 PyOpenGL==3.1.10 -pyOpenSSL==24.2.1 +pyOpenSSL==26.4.0 pyparsing==3.3.2 pyperclip==1.11.0 pyproj==3.7.2 -pyroaring==1.0.4 +pyroaring==1.1.0 pysal==25.7 -pyshp==3.0.3 +pyshp==3.1.6 PySocks==1.7.1 -pyspark==4.0.2 -pytensor==2.38.2 +pyspark==4.0.4 +pytensor==2.38.3 pytest==8.4.2 +python-apt==0.0.0 python-box==7.4.1 python-dateutil==2.9.0.post0 -python-dotenv==1.2.2 -python-fasthtml==0.12.50 -python-json-logger==4.1.0 +python-dotenv==1.2.3 +python-fasthtml==0.14.11 +python-json-logger==4.2.0 python-louvain==0.16 -python-multipart==0.0.26 +python-multipart==0.0.32 python-slugify==8.0.4 python-snappy==0.7.3 -python-utils==3.9.1 +python-utils==4.0.0 pytz==2025.2 pyviz_comms==3.0.6 PyWavelets==1.9.0 PyYAML==6.0.3 pyzmq==26.2.1 -quantecon==0.11.2 -rasterio==1.5.0 -rasterstats==0.20.0 +quantecon==0.11.4 +rasterio==1.5.1 +rasterstats==0.21.0 ratelim==0.1.6 referencing==0.37.0 regex==2025.11.3 @@ -493,13 +488,12 @@ rfc3987-syntax==1.1.0 rich==13.9.4 roman-numerals==4.1.0 roman-numerals-py==4.1.0 -rpds-py==0.30.0 +rpds-py==2026.6.3 rpy2==3.5.17 rsa==4.9.1 rtree==1.4.1 -ruff==0.15.11 safehttpx==0.1.7 -safetensors==0.7.0 +safetensors==0.8.0 scikit-image==0.25.2 scikit-learn==1.6.1 scipy==1.16.3 @@ -510,28 +504,27 @@ SecretStorage==3.5.0 segregation==2.5.4 semantic-version==2.10.0 Send2Trash==2.1.0 -sentence-transformers==5.4.1 -sentencepiece==0.2.1 -sentry-sdk==2.58.0 +sentence-transformers==5.7.0 +sentencepiece==0.2.2 +sentry-sdk==2.68.0 setuptools==75.2.0 -shap==0.51.0 +shap==0.52.0 shapely==2.1.2 shellingham==1.5.4 -simple-parsing==0.1.8 -simplejson==4.1.0 +simple-parsing==0.1.9 +simplejson==4.1.1 simsimd==6.5.16 six==1.17.0 -sklearn-compat==0.1.5 +sklearn-compat==0.1.6 sklearn-pandas==2.2.0 slicer==0.0.8 -smart_open==7.6.0 -smmap==5.0.3 +smart_open==8.0.1 sniffio==1.3.1 -snowballstemmer==3.0.1 -soundfile==0.13.1 -soupsieve==2.8.3 -soxr==1.0.0 -spacy==3.8.14 +snowballstemmer==3.1.1 +soundfile==0.14.0 +soupsieve==2.9.2 +soxr==1.1.0 +spacy==3.8.15 spacy-legacy==3.0.12 spacy-loggers==1.0.5 spaghetti==1.7.6 @@ -544,110 +537,112 @@ sphinxcontrib-htmlhelp==2.1.0 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==2.0.0 sphinxcontrib-serializinghtml==2.0.0 -spint==1.0.7 +spint==1.1.0 splot==1.1.7 spopt==0.7.0 spreg==1.9.0 -SQLAlchemy==2.0.49 -sqlalchemy-spanner==1.17.3 +SQLAlchemy==2.0.52 sqlglot==25.20.2 -sqlparse==0.5.5 +sqlparse==0.6.0 srsly==2.5.3 -sse-starlette==3.3.4 +standard-aifc==3.13.0 +standard-chunk==3.13.0 +standard-sunau==3.13.0 stanio==0.5.1 -starlette==0.52.1 +starlette==1.6.0 statsmodels==0.14.6 strictyaml==1.7.3 -stringzilla==4.6.0 -stumpy==1.13.0 +stringzilla==5.1.2 +stumpy==1.14.1 sympy==1.14.0 tables==3.10.2 tabulate==0.9.0 tbb==2022.3.1 -tcmlib==1.4.1 +tcmlib==1.5.0 tenacity==9.1.4 tensorboard==2.20.0 tensorboard-data-server==0.7.2 tensorflow==2.20.0 -tensorflow-datasets==4.9.9 +tensorflow-datasets==4.9.10 tensorflow-hub==0.16.1 -tensorflow-metadata==1.17.3 +tensorflow-metadata==1.21.0 tensorflow-probability==0.25.0 tensorflow-text==2.20.1 -tensorstore==0.1.82 +tensorstore==0.1.85 termcolor==3.3.0 terminado==0.18.1 text-unidecode==1.3 textblob==0.19.0 tf-slim==1.1.0 -tf_keras==2.20.0 +tf_keras==2.20.1 thinc==8.3.13 threadpoolctl==3.6.0 -tifffile==2026.4.11 -tiktoken==0.12.0 -timm==1.0.26 -tinycss2==1.4.0 +tifffile==2026.8.16 +tiktoken==0.14.0 +timm==1.0.28 +tinycss2==1.5.1 tobler==0.14.0 tokenizers==0.22.2 toml==0.10.2 -tomlkit==0.13.3 +tomlkit==0.14.0 toolz==0.12.1 torchao==0.10.0 torchdata==0.11.0 torchsummary==1.5.1 torchtune==0.6.1 -tornado==6.5.1 +tornado==6.5.7 tqdm==4.67.3 traitlets==5.7.1 traittypes==0.2.3 -transformers==5.0.0 +transformers==5.15.0 treescope==0.1.10 -tsfresh==0.21.1 -tweepy==4.16.0 -typeguard==4.5.1 -typer==0.24.2 -typer-slim==0.24.0 -types-pytz==2026.1.1.20260408 -types-setuptools==82.0.0.20260508 -typing-inspection==0.4.2 -typing_extensions==4.15.0 -tzdata==2026.1 -tzlocal==5.3.1 +truststore==0.10.4 +tsfresh==0.21.2 +tweepy==4.17.0 +typeguard==4.6.0 +typer==0.27.1 +types-pytz==2026.3.1.20260727 +types-setuptools==84.0.0.20260812 +typing-inspection==0.4.4 +typing_extensions==4.16.0 +tzdata==2026.3 +tzlocal==5.4.4 uc-micro-py==2.0.0 umap-learn==0.5.12 umf==1.0.3 uri-template==1.3.0 uritemplate==4.2.0 urllib3==2.5.0 -uuid_utils==0.14.1 -uvicorn==0.46.0 +uuid_utils==0.17.0 +uvicorn==0.52.3 uvloop==0.22.1 vega-datasets==0.9.0 -wandb==0.26.1 +wadllib==1.3.6 +wandb==0.28.1 wasabi==1.1.3 watchdog==6.0.0 -watchfiles==1.1.1 -wcwidth==0.6.0 +watchfiles==1.2.0 +wcwidth==0.8.2 weasel==1.0.0 webcolors==25.10.0 -webencodings==0.5.1 +webencodings==0.6.1 websocket-client==1.9.0 websockets==15.0.1 Werkzeug==3.1.8 -wheel==0.47.0 +wheel==0.48.0 widgetsnbextension==3.6.10 wordcloud==1.9.6 -wrapt==2.1.2 +wrapt==2.3.0 xarray==2025.12.0 -xarray-einstats==0.10.0 -xgboost==3.2.0 +xarray-einstats==0.11.0 +xgboost==3.4.1 xlrd==2.0.2 -xxhash==3.6.0 +xxhash==4.0.1 xyzservices==2026.3.0 -yarl==1.23.0 +yarl==1.24.5 ydf==0.15.0 ydf_tf==2.20.0 yellowbrick==1.5 yfinance==0.2.66 -zipp==3.23.1 +zipp==4.1.0 zstandard==0.25.0 diff --git a/.github/docker/Dockerfile b/.github/docker/Dockerfile index 02c973d7..5248bb4f 100644 --- a/.github/docker/Dockerfile +++ b/.github/docker/Dockerfile @@ -13,7 +13,7 @@ # # The server runs as the non-root user jovyan (uid 1000). -ARG BASE_IMAGE=python:3.12-slim@sha256:2c941e860699f878900b0edc2403613c234d4b32eda3cc9fa7036991a2a63c4a +ARG BASE_IMAGE=python:3.13-slim@sha256:ffb752e139c0a19692a43af8d8523b274222dd68eebad5d583b45c2201c6e30a FROM ${BASE_IMAGE} # libgl1/libglib2.0-0/libxcb1 are runtime needs of opencv-python and similar diff --git a/.github/scripts/backfill_requirements.py b/.github/scripts/backfill_requirements.py new file mode 100644 index 00000000..80dea125 --- /dev/null +++ b/.github/scripts/backfill_requirements.py @@ -0,0 +1,196 @@ +"""Derive requirements.in files for notebook groups that predate the contract. + +For each image group without a requirements file, collect the top-level +modules its notebooks import, then resolve those to distribution names using +`importlib.metadata.packages_distributions()` inside the group's published +container image (the exact environment the notebook was verified in, so the +mapping is not a guess). Standard-library modules and the group's own helper +files are skipped; `pkg @ git+...` pins from the install cell are direct +dependencies by definition and are carried over verbatim. + +Known incompatibilities are encoded as bounds: nwbwidgets only imports on the +pre-2024 stack, so groups that pin it get pynwb<3, hdmf<4, zarr<3. + +Usage: + python .github/scripts/backfill_requirements.py [--dry-run] [--filter REGEX] + +Requires docker and nbformat. +""" + +from __future__ import annotations + +import argparse +import json +import re +import subprocess +import sys +from pathlib import Path + +import nbformat + +sys.path.insert(0, str(Path(__file__).resolve().parent)) +from build_notebook_image import DEFAULT_IMAGE_PREFIX, collect_groups, matches # noqa: E402 +from lock_notebook import requirements_for # noqa: E402 + +IMPORT_RE = re.compile(r"^\s*(?:from\s+([A-Za-z_][\w]*)|import\s+([A-Za-z_][\w]*))", re.M) +NWBWIDGETS_BOUNDS = ["pynwb<3", "hdmf<4", "zarr<3"] +# Import names whose distribution is not discoverable by name matching. +IMPORT_ALIASES = {"skimage": "scikit-image", "cv2": "opencv-python", "PIL": "pillow", + "yaml": "pyyaml", "sklearn": "scikit-learn"} + +# Runs inside the image: maps import names to distributions, and scans the +# helper modules baked into /work (local .py files, packages, and files the +# install cell fetched with curl) for their own imports, since a notebook's +# direct dependencies include whatever its helpers import. +PROBE = r""" +import importlib.metadata as m, json, re, sys +from pathlib import Path +IMPORT_RE = re.compile(r"^\s*(?:from\s+([A-Za-z_]\w*)|import\s+([A-Za-z_]\w*))", re.M) +work = Path("/work") +helper_modules, helper_imports = set(), set() +for py in work.rglob("*.py"): + rel = py.relative_to(work) + helper_modules.add(rel.parts[0].removesuffix(".py")) + try: + for mm in IMPORT_RE.finditer(py.read_text(errors="ignore")): + helper_imports.add(mm.group(1) or mm.group(2)) + except OSError: + pass +print(json.dumps({ + "dists": m.packages_distributions(), + "stdlib": sorted(sys.stdlib_module_names), + "helper_modules": sorted(helper_modules), + "helper_imports": sorted(helper_imports), +})) +""" + + +def notebook_imports(path: Path) -> tuple[set[str], bool]: + """Top-level imports, plus whether the notebook drives the dandi CLI from shell cells.""" + nb = nbformat.read(path, as_version=4) + mods: set[str] = set() + uses_dandi_cli = False + for cell in nb.cells: + if cell.cell_type != "code": + continue + for line in cell.source.splitlines(): + stripped = line.lstrip() + if stripped.startswith("!dandi ") or stripped.startswith("!dandi\t"): + uses_dandi_cli = True + if stripped.startswith(("!", "%")): + continue + for m in IMPORT_RE.finditer(line): + mods.add(m.group(1) or m.group(2)) + return mods, uses_dandi_cli + + +def probe_image(image: str) -> dict: + subprocess.run(["docker", "pull", "-q", image], check=True, capture_output=True) + r = subprocess.run(["docker", "run", "--rm", "-i", image, "python", "-"], + input=PROBE, capture_output=True, text=True, check=True) + return json.loads(r.stdout.strip().splitlines()[-1]) + + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--dry-run", action="store_true") + parser.add_argument("--filter", default="") + parser.add_argument("--force", action="store_true", help="rewrite existing requirements files too") + args = parser.parse_args() + + repo = Path(__file__).resolve().parents[2] + for group in collect_groups(): + if not matches(group, args.filter): + continue + nb_paths = [repo / group.directory / n for n in group.notebooks] + try: + requirements_for(nb_paths[0]) + if not args.force: + continue # already has a requirements file + except FileNotFoundError: + pass + + imports: set[str] = set() + uses_dandi_cli = False + for p in nb_paths: + mods, cli = notebook_imports(p) + imports |= mods + uses_dandi_cli = uses_dandi_cli or cli + + # Probe this group's image, or a sibling group's in the same directory + # when this group has never published (same helpers, near-identical env). + siblings = [g for g in collect_groups() if g.directory == group.directory] + info = None + for candidate in [group] + [g for g in siblings if g.name != group.name]: + try: + info = probe_image(f"{DEFAULT_IMAGE_PREFIX}/{candidate.name}:latest") + break + except subprocess.CalledProcessError: + continue + if info is None: + print(f"[{group.name}] no image to probe in {group.directory}; skipping", file=sys.stderr) + continue + dists, stdlib = info["dists"], set(info["stdlib"]) + local_modules = set(info["helper_modules"]) + imports |= set(info["helper_imports"]) + if uses_dandi_cli: + direct_extra = {"dandi"} + else: + direct_extra = set() + + direct: set[str] = set(direct_extra) + unmapped: list[str] = [] + for mod in sorted(imports): + if mod in stdlib or mod in local_modules: + continue + names = dists.get(mod) + if names: + direct.update(names) + continue + # Not installed in the probed image (a sibling's): fall back to the + # group's own pins, by alias or by name with _ and - interchangeable. + wanted = IMPORT_ALIASES.get(mod, mod).lower().replace("_", "-") + pinned = [pin.split("==")[0] for pin in group.pins + if pin.split("==")[0].lower().replace("_", "-") == wanted] + if pinned: + direct.add(pinned[0]) + else: + unmapped.append(mod) + + # NWB extension packages are used through a file's cached schema and + # never imported, so the import scan cannot see them; they are only + # ever installed deliberately, so carry them over from the old lock. + for pin in group.pins: + name = pin.split("==")[0].split(" @ ")[0].strip() + if name.lower().startswith("ndx-") and " @ " not in pin: + direct.add(name) + + git_pins = [p for p in group.pins if " @ " in p] + for gp in git_pins: + name = gp.split(" @ ")[0].strip() + direct.discard(name) + lines = sorted(direct, key=str.lower) + git_pins + if any(p.startswith("nwbwidgets==") for p in group.pins): + lines += NWBWIDGETS_BOUNDS + elif "pynwb" in direct or "hdmf" in direct: + # Hold the NWB stack at the majors the fleet was last verified on; + # a Colab-driven re-lock should not double as a pynwb major upgrade. + lines += ["pynwb<4", "hdmf<5"] + + # One requirements.in per directory when the directory holds a single + # group; otherwise a per-notebook file, keyed on the first notebook. + if len(siblings) == 1: + target = repo / group.directory / "requirements.in" + else: + target = nb_paths[0].with_name(f"{nb_paths[0].stem}.requirements.in") + + rel = target.relative_to(repo) + print(f"[{group.name}] -> {rel}: {', '.join(lines)}" + + (f" (UNMAPPED imports: {', '.join(unmapped)})" if unmapped else "")) + if not args.dry_run: + target.write_text("\n".join(lines) + "\n") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/.github/scripts/lock_notebook.py b/.github/scripts/lock_notebook.py index 6531a9ac..d50ad4f1 100644 --- a/.github/scripts/lock_notebook.py +++ b/.github/scripts/lock_notebook.py @@ -56,7 +56,7 @@ ) INSTALL_HEADER = ( '#@title Installing requirements (click ▶ to run) { display-mode: "form" }\n' - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n" + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n" "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n" "# pinned below so the notebook is reproducible regardless of resolver drift.\n" "!pip install -q uv\n" @@ -80,7 +80,7 @@ def requirements_for(nb_path: Path) -> Path: def compile_pins(requirements: Path) -> list[str]: cmd = [ "uv", "pip", "compile", str(requirements), - "--python-version", "3.12", + "--python-version", "3.13", "--python-platform", "linux", "--constraint", str(CONSTRAINT), "--no-header", "--no-annotate", diff --git a/.github/scripts/run_notebook.py b/.github/scripts/run_notebook.py index db15e00f..b1fe3029 100644 --- a/.github/scripts/run_notebook.py +++ b/.github/scripts/run_notebook.py @@ -1,7 +1,7 @@ """Run one Colab-bootstrap notebook end-to-end in a fresh-ish env. Used by CI to verify that the install cell's pinned deps actually install on -Python 3.12 / linux x86_64, that any colocated helper `.py` files fetched via +Python 3.13 / linux x86_64, that any colocated helper `.py` files fetched via `!curl` resolve, and that the notebook executes without an unhandled exception. The Jupyter ZMQ kernel can be flaky in CI sandboxes, so we sidestep it: extract diff --git a/.github/workflows/build-notebook-images.yml b/.github/workflows/build-notebook-images.yml index 648db834..5cf80a39 100644 --- a/.github/workflows/build-notebook-images.yml +++ b/.github/workflows/build-notebook-images.yml @@ -48,7 +48,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: '3.12' + python-version: '3.13' - name: Install runner dependencies run: pip install --no-cache-dir nbformat @@ -90,7 +90,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: '3.12' + python-version: '3.13' - name: Install runner dependencies run: pip install --no-cache-dir nbformat @@ -210,7 +210,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: '3.12' + python-version: '3.13' - name: Install runner dependencies run: pip install --no-cache-dir nbformat diff --git a/.github/workflows/test-all-notebooks-weekly.yml b/.github/workflows/test-all-notebooks-weekly.yml index 9f18fa7d..3f830815 100644 --- a/.github/workflows/test-all-notebooks-weekly.yml +++ b/.github/workflows/test-all-notebooks-weekly.yml @@ -26,7 +26,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: '3.12' + python-version: '3.13' - name: List all testable notebooks id: list @@ -62,7 +62,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: '3.12' + python-version: '3.13' - name: Install runner dependencies run: pip install --no-cache-dir uv nbformat diff --git a/.github/workflows/test-changed-notebooks.yml b/.github/workflows/test-changed-notebooks.yml index 6eade392..fb24f602 100644 --- a/.github/workflows/test-changed-notebooks.yml +++ b/.github/workflows/test-changed-notebooks.yml @@ -27,7 +27,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: '3.12' + python-version: '3.13' - name: List changed .ipynb files (after exclusions) id: list @@ -61,7 +61,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: '3.12' + python-version: '3.13' - name: Install runner dependencies run: pip install --no-cache-dir uv nbformat diff --git a/000108/chunglab/demo/dashboard.ipynb b/000108/chunglab/demo/dashboard.ipynb index c2cd4a88..5f3fd75f 100644 --- a/000108/chunglab/demo/dashboard.ipynb +++ b/000108/chunglab/demo/dashboard.ipynb @@ -28,57 +28,58 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", " \"bokeh==3.8.2\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.75.1\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==4.3.1\" \\\n", - " \"hdmf-zarr==0.12.0\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"hdmf==6.2.0\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", " \"jinja2==3.1.6\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -88,57 +89,55 @@ " \"kiwisolver==1.5.0\" \\\n", " \"markupsafe==3.0.3\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", - " \"narwhals==2.20.0\" \\\n", + " \"narwhals==2.24.0\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.7.1\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pynwb==3.1.3\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pynwb==4.1.0\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"seaborn==0.13.2\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", - " \"tornado==6.5.1\" \\\n", + " \"tensorstore==0.1.85\" \\\n", + " \"tornado==6.5.7\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", " \"xyzservices==2026.3.0\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] }, diff --git a/000108/chunglab/demo/requirements.in b/000108/chunglab/demo/requirements.in new file mode 100644 index 00000000..53be8322 --- /dev/null +++ b/000108/chunglab/demo/requirements.in @@ -0,0 +1,6 @@ +bokeh +dandi +matplotlib +numpy +pandas +seaborn diff --git a/000402/MICrONS/demo/000402_microns_demo.ipynb b/000402/MICrONS/demo/000402_microns_demo.ipynb index 72645e80..03bc61fd 100644 --- a/000402/MICrONS/demo/000402_microns_demo.ipynb +++ b/000402/MICrONS/demo/000402_microns_demo.ipynb @@ -28,156 +28,203 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", + " \"anyio==4.14.2\" \\\n", + " \"argon2-cffi==25.1.0\" \\\n", + " \"argon2-cffi-bindings==25.1.0\" \\\n", " \"arrow==1.4.0\" \\\n", " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", " \"backcall==0.2.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"bqplot==0.12.45\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"beautifulsoup4==4.13.5\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"bleach==6.4.0\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"bqplot==0.12.47\" \\\n", + " \"ccfwidget==0.5.3\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", - " \"comm==0.2.3\" \\\n", + " \"cloudpickle==3.1.2\" \\\n", + " \"colorcet==3.2.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.74.3\" \\\n", - " \"dandischema==0.12.1\" \\\n", + " \"dandi==0.68.1\" \\\n", + " \"dandischema==0.11.1\" \\\n", + " \"dask==2026.7.1\" \\\n", + " \"debugpy==1.8.15\" \\\n", " \"decorator==4.4.2\" \\\n", + " \"defusedxml==0.7.1\" \\\n", " \"deprecated==1.3.1\" \\\n", " \"dnspython==2.8.0\" \\\n", " \"email-validator==2.3.0\" \\\n", + " \"entrypoints==0.4\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fastjsonschema==2.22.2\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", - " \"gast==0.7.0\" \\\n", " \"h5py==3.16.0\" \\\n", " \"hdmf==3.14.6\" \\\n", " \"hdmf-zarr==0.11.3\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", - " \"imageio==2.37.3\" \\\n", - " \"importlib-metadata==4.13.0\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", + " \"imageio==2.37.4\" \\\n", " \"interleave==0.3.0\" \\\n", - " \"ipydatagrid==1.4.0\" \\\n", - " \"ipydatawidgets==4.3.2\" \\\n", - " \"ipyfilechooser==0.6.0\" \\\n", + " \"ipydatawidgets==4.3.5\" \\\n", + " \"ipykernel==6.17.1\" \\\n", " \"ipympl==0.10.0\" \\\n", " \"ipython==7.34.0\" \\\n", " \"ipython-genutils==0.2.0\" \\\n", + " \"ipytree==0.2.2\" \\\n", " \"ipyvolume==0.6.3\" \\\n", - " \"ipyvue==1.12.0\" \\\n", - " \"ipyvuetify==1.11.3\" \\\n", + " \"ipyvue==3.0.0\" \\\n", + " \"ipyvuetify==3.0.0\" \\\n", " \"ipywebrtc==0.6.0\" \\\n", - " \"ipywidgets==8.1.8\" \\\n", + " \"ipywidgets==7.7.1\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", + " \"itk-core==5.4.7\" \\\n", + " \"itk-filtering==5.4.7\" \\\n", + " \"itk-meshtopolydata==0.11.1\" \\\n", + " \"itk-numerics==5.4.7\" \\\n", + " \"itkwidgets==0.32.4\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jedi==0.20.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinja2==3.1.6\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", " \"jsonschema-specifications==2025.9.1\" \\\n", + " \"jupyter-client==7.4.9\" \\\n", + " \"jupyter-core==5.9.1\" \\\n", + " \"jupyter-events==0.12.1\" \\\n", + " \"jupyter-server==2.20.0\" \\\n", + " \"jupyter-server-terminals==0.5.4\" \\\n", + " \"jupyterlab-pygments==0.3.0\" \\\n", " \"jupyterlab-widgets==3.0.16\" \\\n", " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", + " \"lark==1.3.1\" \\\n", " \"lazy-loader==0.5\" \\\n", + " \"locket==1.0.0\" \\\n", + " \"markupsafe==3.0.3\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"matplotlib-inline==0.2.1\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"matplotlib-inline==0.2.2\" \\\n", + " \"mistune==3.3.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", + " \"nbclassic==1.3.3\" \\\n", + " \"nbclient==0.10.4\" \\\n", + " \"nbconvert==7.17.1\" \\\n", + " \"nbformat==5.11.1\" \\\n", " \"ndx-grayscalevolume==0.0.2\" \\\n", " \"ndx-icephys-meta==0.1.0\" \\\n", " \"ndx-spectrum==0.2.2\" \\\n", + " \"nest-asyncio==1.6.0\" \\\n", " \"networkx==3.6.1\" \\\n", + " \"notebook==6.5.7\" \\\n", + " \"notebook-shim==0.2.4\" \\\n", " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", + " \"numpy==2.1.3\" \\\n", " \"nwbinspector==0.6.3\" \\\n", - " \"nwbwidgets==0.11.3\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", - " \"parso==0.8.6\" \\\n", + " \"nwbwidgets==0.9.1\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", + " \"pandocfilters==1.5.1\" \\\n", + " \"parso==0.8.7\" \\\n", + " \"partd==1.4.2\" \\\n", " \"pexpect==4.9.0\" \\\n", " \"pickleshare==0.7.5\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"plotly==5.13.1\" \\\n", - " \"prompt-toolkit==3.0.52\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"plotly==5.24.1\" \\\n", + " \"prometheus-client==0.26.0\" \\\n", + " \"prompt-toolkit==3.0.53\" \\\n", + " \"propcache==0.5.2\" \\\n", + " \"psutil==5.9.5\" \\\n", " \"ptyprocess==0.7.0\" \\\n", - " \"py2vega==0.7.0\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pygments==2.20.0\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pygments==2.21.0\" \\\n", " \"pynwb==2.8.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-json-logger==4.2.0\" \\\n", " \"pythreejs==2.4.2\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", + " \"pyzmq==26.2.1\" \\\n", " \"referencing==0.37.0\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", + " \"rfc3986-validator==0.1.1\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rfc3987-syntax==1.1.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"scikit-image==0.25.2\" \\\n", " \"scipy==1.16.3\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", + " \"send2trash==2.1.0\" \\\n", " \"setuptools==75.2.0\" \\\n", " \"six==1.17.0\" \\\n", + " \"soupsieve==2.9.2\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", + " \"tensorstore==0.1.85\" \\\n", + " \"terminado==0.18.1\" \\\n", " \"threadpoolctl==3.6.0\" \\\n", - " \"tifffile==2026.4.11\" \\\n", + " \"tifffile==2026.8.16\" \\\n", + " \"tinycss2==1.5.1\" \\\n", + " \"toolz==0.12.1\" \\\n", + " \"tornado==6.5.7\" \\\n", " \"tqdm==4.67.3\" \\\n", " \"traitlets==5.7.1\" \\\n", " \"traittypes==0.2.3\" \\\n", - " \"trimesh==4.12.2\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"trimesh==5.0.0\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"widgetsnbextension==4.0.15\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", + " \"webencodings==0.6.1\" \\\n", + " \"websocket-client==1.9.0\" \\\n", + " \"widgetsnbextension==3.6.10\" \\\n", + " \"wrapt==2.3.0\" \\\n", + " \"xarray==2025.12.0\" \\\n", + " \"yarl==1.24.5\" \\\n", " \"zarr==2.18.7\" \\\n", " \"zarr-checksum==0.4.7\" \\\n", - " \"zipp==3.23.1\"" + " \"zstandard==0.25.0\"" ] }, { diff --git a/000402/MICrONS/demo/requirements.in b/000402/MICrONS/demo/requirements.in new file mode 100644 index 00000000..e949a20a --- /dev/null +++ b/000402/MICrONS/demo/requirements.in @@ -0,0 +1,13 @@ +dandi +fsspec +h5py +matplotlib +ndx-grayscalevolume +ndx-icephys-meta +ndx-spectrum +numpy +nwbwidgets +pynwb +pynwb<3 +hdmf<4 +zarr<3 diff --git a/000409/IBL/bwm_usage_notebook.ipynb b/000409/IBL/bwm_usage_notebook.ipynb index 76a1d10a..4eb0a2a4 100644 --- a/000409/IBL/bwm_usage_notebook.ipynb +++ b/000409/IBL/bwm_usage_notebook.ipynb @@ -28,72 +28,67 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", - " \"anyio==4.13.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", + " \"anyio==4.14.2\" \\\n", " \"anywidget==0.9.21\" \\\n", " \"argon2-cffi==25.1.0\" \\\n", " \"argon2-cffi-bindings==25.1.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", - " \"async-lru==2.3.0\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"babel==2.18.0\" \\\n", " \"backcall==0.2.0\" \\\n", " \"beautifulsoup4==4.13.5\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"bleach==6.3.0\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"boto3==1.43.6\" \\\n", - " \"botocore==1.43.6\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"bleach==6.4.0\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"boto3==1.43.78\" \\\n", + " \"botocore==1.43.78\" \\\n", " \"brainglobe-atlasapi==2.3.1\" \\\n", " \"brainglobe-space==1.0.3\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", - " \"colorlog==6.10.1\" \\\n", + " \"colorlog==6.12.0\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.75.1\" \\\n", - " \"dandischema==0.12.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", " \"debugpy==1.8.15\" \\\n", " \"decorator==4.4.2\" \\\n", " \"defusedxml==0.7.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"entrypoints==0.4\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fastjsonschema==2.21.2\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fastjsonschema==2.22.2\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", - " \"h11==0.16.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", " \"hdmf==4.3.1\" \\\n", - " \"hdmf-zarr==0.12.0\" \\\n", - " \"httpcore==1.0.9\" \\\n", - " \"httpx==0.28.1\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"iblatlas==1.0.0\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"iblatlas==1.2.0\" \\\n", " \"iblutil==1.20.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"ipykernel==6.17.1\" \\\n", " \"ipython==7.34.0\" \\\n", @@ -103,70 +98,64 @@ " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jedi==0.20.0\" \\\n", " \"jeepney==0.9.0\" \\\n", " \"jinja2==3.1.6\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"jmespath==1.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", - " \"json5==0.14.0\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", " \"jsonschema-specifications==2025.9.1\" \\\n", - " \"jupyter==1.1.1\" \\\n", " \"jupyter-client==7.4.9\" \\\n", - " \"jupyter-console==6.6.3\" \\\n", " \"jupyter-core==5.9.1\" \\\n", " \"jupyter-events==0.12.1\" \\\n", - " \"jupyter-lsp==2.3.1\" \\\n", - " \"jupyter-server==2.14.0\" \\\n", + " \"jupyter-server==2.20.0\" \\\n", " \"jupyter-server-terminals==0.5.4\" \\\n", - " \"jupyterlab==4.5.7\" \\\n", " \"jupyterlab-pygments==0.3.0\" \\\n", - " \"jupyterlab-server==2.28.0\" \\\n", " \"jupyterlab-widgets==3.0.16\" \\\n", " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", " \"lark==1.3.1\" \\\n", - " \"llvmlite==0.43.0\" \\\n", - " \"markdown-it-py==4.0.0\" \\\n", + " \"llvmlite==0.44.0\" \\\n", + " \"markdown-it-py==4.2.0\" \\\n", " \"markupsafe==3.0.3\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"matplotlib-inline==0.2.1\" \\\n", + " \"matplotlib-inline==0.2.2\" \\\n", " \"mdurl==0.1.2\" \\\n", " \"meshio==5.3.5\" \\\n", - " \"mistune==3.2.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"mistune==3.3.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", " \"nbclassic==1.3.3\" \\\n", " \"nbclient==0.10.4\" \\\n", " \"nbconvert==7.17.1\" \\\n", - " \"nbformat==5.10.4\" \\\n", - " \"neo==0.14.4\" \\\n", + " \"nbformat==5.11.1\" \\\n", + " \"neo==0.14.5\" \\\n", " \"nest-asyncio==1.6.0\" \\\n", " \"notebook==6.5.7\" \\\n", " \"notebook-shim==0.2.4\" \\\n", - " \"numba==0.60.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", + " \"numba==0.61.2\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", " \"nwb-video-widgets==0.1.5\" \\\n", - " \"nwbinspector==0.7.1\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", " \"one-api==3.5.2\" \\\n", - " \"overrides==7.7.0\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pandocfilters==1.5.1\" \\\n", - " \"parso==0.8.6\" \\\n", + " \"parso==0.8.7\" \\\n", " \"pexpect==4.9.0\" \\\n", " \"pickleshare==0.7.5\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"prometheus-client==0.25.0\" \\\n", - " \"prompt-toolkit==3.0.52\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"prometheus-client==0.26.0\" \\\n", + " \"prompt-toolkit==3.0.53\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"psutil==5.9.5\" \\\n", " \"psychofit==1.0.0.post0\" \\\n", " \"psygnal==0.15.1\" \\\n", @@ -174,66 +163,64 @@ " \"pyarrow==18.1.0\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pygments==2.20.0\" \\\n", - " \"pynapple==0.11.2\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pygments==2.21.0\" \\\n", + " \"pynapple==0.11.4\" \\\n", " \"pynrrd==1.1.3\" \\\n", " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", - " \"python-json-logger==4.1.0\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", + " \"python-json-logger==4.2.0\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"pyzmq==26.2.1\" \\\n", " \"quantities==0.16.4\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", + " \"remfile==0.1.14\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3986-validator==0.1.1\" \\\n", " \"rfc3987==1.3.8\" \\\n", " \"rfc3987-syntax==1.1.0\" \\\n", " \"rich==13.9.4\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", - " \"ruff==0.15.11\" \\\n", - " \"s3transfer==0.17.0\" \\\n", + " \"ruff==0.16.4\" \\\n", + " \"s3transfer==0.19.2\" \\\n", " \"scipy==1.16.3\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"send2trash==2.1.0\" \\\n", " \"setuptools==75.2.0\" \\\n", " \"six==1.17.0\" \\\n", - " \"soupsieve==2.8.3\" \\\n", + " \"soupsieve==2.9.2\" \\\n", " \"tabulate==0.9.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"terminado==0.18.1\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", - " \"tifffile==2026.4.11\" \\\n", - " \"tinycss2==1.4.0\" \\\n", - " \"tornado==6.5.1\" \\\n", + " \"tifffile==2026.8.16\" \\\n", + " \"tinycss2==1.5.1\" \\\n", + " \"tornado==6.5.7\" \\\n", " \"tqdm==4.67.3\" \\\n", " \"traitlets==5.7.1\" \\\n", " \"treelib==1.8.0\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"webencodings==0.5.1\" \\\n", + " \"webencodings==0.6.1\" \\\n", " \"websocket-client==1.9.0\" \\\n", " \"widgetsnbextension==3.6.10\" \\\n", - " \"wrapt==2.1.2\" \\\n", " \"xarray==2025.12.0\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] }, diff --git a/000409/IBL/requirements.in b/000409/IBL/requirements.in new file mode 100644 index 00000000..8f2cb1e1 --- /dev/null +++ b/000409/IBL/requirements.in @@ -0,0 +1,14 @@ +brainglobe-atlasapi +dandi +h5py +iblatlas +ipython +matplotlib +numpy +nwb-video-widgets +Psychofit +pynapple +pynwb +remfile +pynwb<4 +hdmf<5 diff --git a/000458/AllenInstitute/reanalysis.ipynb b/000458/AllenInstitute/reanalysis.ipynb index 24c70291..8d94bf85 100644 --- a/000458/AllenInstitute/reanalysis.ipynb +++ b/000458/AllenInstitute/reanalysis.ipynb @@ -28,29 +28,29 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", " \"attrs==26.1.0\" \\\n", " \"bids-validator-deno==3.0.1\" \\\n", " \"bidsschematools==1.2.7\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.3.3\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", " \"dandi==0.77.0\" \\\n", " \"dandischema==0.14.0\" \\\n", @@ -60,7 +60,7 @@ " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", @@ -68,15 +68,16 @@ " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", " \"hdmf==6.2.0\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -85,28 +86,28 @@ " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", " \"numcodecs==0.16.5\" \\\n", - " \"numpy==2.0.2\" \\\n", + " \"numpy==2.1.3\" \\\n", " \"nwbinspector==0.7.2\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", " \"pynwb==4.1.0\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", @@ -114,22 +115,22 @@ " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"yarl==1.23.0\" \\\n", + " \"yarl==1.24.5\" \\\n", " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] diff --git a/000458/FlatironInstitute/000_lindi_vs_fsspec_streaming.ipynb b/000458/FlatironInstitute/000_lindi_vs_fsspec_streaming.ipynb index d6cf3d1f..2817f471 100644 --- a/000458/FlatironInstitute/000_lindi_vs_fsspec_streaming.ipynb +++ b/000458/FlatironInstitute/000_lindi_vs_fsspec_streaming.ipynb @@ -28,32 +28,34 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"backcall==0.2.0\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", - " \"cryptography==43.0.3\" \\\n", - " \"dandi==0.74.3\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"cryptography==50.0.0\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"decorator==4.4.2\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", @@ -63,17 +65,19 @@ " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==3.14.6\" \\\n", - " \"hdmf-zarr==0.11.3\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", + " \"ipython==7.34.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", + " \"jedi==0.20.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -81,52 +85,58 @@ " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", " \"lindi==0.4.6\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"matplotlib-inline==0.2.2\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.6.3\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", + " \"parso==0.8.7\" \\\n", + " \"pexpect==4.9.0\" \\\n", + " \"pickleshare==0.7.5\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"prompt-toolkit==3.0.53\" \\\n", + " \"propcache==0.5.2\" \\\n", + " \"ptyprocess==0.7.0\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pynwb==2.8.3\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pygments==2.21.0\" \\\n", + " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", - " \"scipy==1.16.3\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", + " \"setuptools==75.2.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"traitlets==5.7.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==2.18.6\" \\\n", " \"zarr-checksum==0.4.7\"" ] }, diff --git a/000458/FlatironInstitute/001_summarize_contents.ipynb b/000458/FlatironInstitute/001_summarize_contents.ipynb index 9ab3900e..02882b52 100644 --- a/000458/FlatironInstitute/001_summarize_contents.ipynb +++ b/000458/FlatironInstitute/001_summarize_contents.ipynb @@ -28,32 +28,34 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"backcall==0.2.0\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", - " \"cryptography==43.0.3\" \\\n", - " \"dandi==0.74.3\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"cryptography==50.0.0\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"decorator==4.4.2\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", @@ -63,17 +65,19 @@ " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==3.14.6\" \\\n", - " \"hdmf-zarr==0.11.3\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", + " \"ipython==7.34.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", + " \"jedi==0.20.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -81,54 +85,59 @@ " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", " \"lindi==0.4.6\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"matplotlib-inline==0.2.2\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.6.3\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", + " \"parso==0.8.7\" \\\n", + " \"pexpect==4.9.0\" \\\n", + " \"pickleshare==0.7.5\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"prompt-toolkit==3.0.53\" \\\n", + " \"propcache==0.5.2\" \\\n", + " \"ptyprocess==0.7.0\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pynwb==2.8.3\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pygments==2.21.0\" \\\n", + " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", - " \"scipy==1.16.3\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", + " \"setuptools==75.2.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"traitlets==5.7.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==2.18.6\" \\\n", " \"zarr-checksum==0.4.7\"\n", - "\n", "!curl --create-dirs -sL -o helpers/stream_nwbfile.py https://raw.githubusercontent.com/dandi/example-notebooks/master/000458/FlatironInstitute/helpers/stream_nwbfile.py" ] }, diff --git a/000458/FlatironInstitute/requirements.in b/000458/FlatironInstitute/requirements.in new file mode 100644 index 00000000..c07f25c5 --- /dev/null +++ b/000458/FlatironInstitute/requirements.in @@ -0,0 +1,8 @@ +dandi +fsspec +h5py +ipython +lindi +pynwb +pynwb<4 +hdmf<5 diff --git a/000559/dattalab/markowitz_gillis_nature_2023/read_avi.ipynb b/000559/dattalab/markowitz_gillis_nature_2023/read_avi.ipynb index 60be8fc4..49917c2a 100644 --- a/000559/dattalab/markowitz_gillis_nature_2023/read_avi.ipynb +++ b/000559/dattalab/markowitz_gillis_nature_2023/read_avi.ipynb @@ -28,17 +28,17 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", - " \"anyio==4.13.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", + " \"anyio==4.14.2\" \\\n", " \"argon2-cffi==25.1.0\" \\\n", " \"argon2-cffi-bindings==25.1.0\" \\\n", " \"arrow==1.4.0\" \\\n", @@ -47,16 +47,16 @@ " \"beautifulsoup4==4.13.5\" \\\n", " \"bids-validator-deno==3.0.1\" \\\n", " \"bidsschematools==1.2.7\" \\\n", - " \"bleach==6.3.0\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bleach==6.4.0\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.3.3\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", " \"dandi==0.77.0\" \\\n", " \"dandischema==0.14.0\" \\\n", @@ -70,8 +70,8 @@ " \"entrypoints==0.4\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fastjsonschema==2.21.2\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fastjsonschema==2.22.2\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", @@ -79,8 +79,8 @@ " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", " \"hdmf==6.2.0\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"ipykernel==6.17.1\" \\\n", " \"ipython==7.34.0\" \\\n", @@ -90,10 +90,11 @@ " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jedi==0.20.0\" \\\n", " \"jeepney==0.9.0\" \\\n", " \"jinja2==3.1.6\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -101,7 +102,7 @@ " \"jupyter-client==7.4.9\" \\\n", " \"jupyter-core==5.9.1\" \\\n", " \"jupyter-events==0.12.1\" \\\n", - " \"jupyter-server==2.14.0\" \\\n", + " \"jupyter-server==2.20.0\" \\\n", " \"jupyter-server-terminals==0.5.4\" \\\n", " \"jupyterlab-pygments==0.3.0\" \\\n", " \"jupyterlab-widgets==3.0.16\" \\\n", @@ -111,49 +112,48 @@ " \"lark==1.3.1\" \\\n", " \"markupsafe==3.0.3\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"matplotlib-inline==0.2.1\" \\\n", - " \"mistune==3.2.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"matplotlib-inline==0.2.2\" \\\n", + " \"mistune==3.3.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", " \"nbclassic==1.3.3\" \\\n", " \"nbclient==0.10.4\" \\\n", " \"nbconvert==7.17.1\" \\\n", - " \"nbformat==5.10.4\" \\\n", + " \"nbformat==5.11.1\" \\\n", " \"nest-asyncio==1.6.0\" \\\n", " \"notebook==6.5.7\" \\\n", " \"notebook-shim==0.2.4\" \\\n", " \"numcodecs==0.16.5\" \\\n", - " \"numpy==2.0.2\" \\\n", + " \"numpy==2.1.3\" \\\n", " \"nwbinspector==0.7.2\" \\\n", - " \"opencv-python==4.13.0.92\" \\\n", - " \"overrides==7.7.0\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", + " \"opencv-python==5.0.0.93\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pandocfilters==1.5.1\" \\\n", - " \"parso==0.8.6\" \\\n", + " \"parso==0.8.7\" \\\n", " \"pexpect==4.9.0\" \\\n", " \"pickleshare==0.7.5\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"prometheus-client==0.25.0\" \\\n", - " \"prompt-toolkit==3.0.52\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"prometheus-client==0.26.0\" \\\n", + " \"prompt-toolkit==3.0.53\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"psutil==5.9.5\" \\\n", " \"ptyprocess==0.7.0\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pygments==2.20.0\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pygments==2.21.0\" \\\n", " \"pynwb==4.1.0\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", - " \"python-json-logger==4.1.0\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", + " \"python-json-logger==4.2.0\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"pyzmq==26.2.1\" \\\n", @@ -163,32 +163,32 @@ " \"rfc3986-validator==0.1.1\" \\\n", " \"rfc3987==1.3.8\" \\\n", " \"rfc3987-syntax==1.1.0\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"send2trash==2.1.0\" \\\n", " \"setuptools==75.2.0\" \\\n", " \"six==1.17.0\" \\\n", - " \"soupsieve==2.8.3\" \\\n", + " \"soupsieve==2.9.2\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"terminado==0.18.1\" \\\n", - " \"tinycss2==1.4.0\" \\\n", - " \"tornado==6.5.1\" \\\n", + " \"tinycss2==1.5.1\" \\\n", + " \"tornado==6.5.7\" \\\n", " \"tqdm==4.67.3\" \\\n", " \"traitlets==5.7.1\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"webencodings==0.5.1\" \\\n", + " \"webencodings==0.6.1\" \\\n", " \"websocket-client==1.9.0\" \\\n", " \"widgetsnbextension==3.6.10\" \\\n", - " \"yarl==1.23.0\" \\\n", + " \"yarl==1.24.5\" \\\n", " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] diff --git a/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure1d.ipynb b/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure1d.ipynb index fd1dae55..43be9193 100644 --- a/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure1d.ipynb +++ b/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure1d.ipynb @@ -28,57 +28,59 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", - " \"colorcet==3.1.0\" \\\n", + " \"colorcet==3.2.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.74.3\" \\\n", - " \"dandischema==0.12.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"deprecated==1.3.1\" \\\n", " \"dnspython==2.8.0\" \\\n", " \"docstring-parser==0.18.0\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==3.14.6\" \\\n", - " \"hdmf-zarr==0.11.3\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"hdmf-zarr==0.13.0\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -87,59 +89,57 @@ " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"neuroconv==0.7.1\" \\\n", + " \"neuroconv==0.9.3\" \\\n", " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.6.3\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", - " \"parse==1.22.0\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", + " \"parse==1.22.1\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"psutil==5.9.5\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pynwb==2.8.3\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", - " \"scipy==1.16.3\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"threadpoolctl==3.6.0\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", + " \"wrapt==2.3.0\" \\\n", + " \"yarl==1.24.5\" \\\n", " \"zarr==2.18.7\" \\\n", " \"zarr-checksum==0.4.7\"\n", - "\n", "!curl -sL -o stream_nwbfile.py https://raw.githubusercontent.com/dandi/example-notebooks/master/000559/dattalab/markowitz_gillis_nature_2023/stream_nwbfile.py" ] }, diff --git a/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure1d.requirements.in b/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure1d.requirements.in new file mode 100644 index 00000000..5b49e1c4 --- /dev/null +++ b/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure1d.requirements.in @@ -0,0 +1,11 @@ +colorcet +dandi +fsspec +h5py +matplotlib +neuroconv +numpy +pandas +pynwb +pynwb<4 +hdmf<5 diff --git a/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure_S1.ipynb b/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure_S1.ipynb index 4d503058..aff046bd 100644 --- a/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure_S1.ipynb +++ b/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure_S1.ipynb @@ -28,169 +28,150 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"backcall==0.2.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"cellpose==3.1.1.3\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"cellpose==4.2.1.1\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", - " \"comm==0.2.3\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", - " \"cuda-bindings==13.2.0\" \\\n", - " \"cuda-pathfinder==1.5.4\" \\\n", - " \"cuda-toolkit==13.0.2\" \\\n", + " \"cryptography==50.0.0\" \\\n", + " \"cuda-bindings==12.9.4\" \\\n", + " \"cuda-pathfinder==1.6.1\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.74.3\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"decorator==4.4.2\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fastremap==1.19.0\" \\\n", - " \"filelock==3.29.0\" \\\n", + " \"fastremap==1.20.0\" \\\n", + " \"filelock==3.32.3\" \\\n", " \"fill-voids==2.1.2\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==3.14.6\" \\\n", - " \"hdmf-zarr==0.11.3\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", - " \"imagecodecs==2026.1.14\" \\\n", - " \"imageio==2.37.3\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", + " \"imagecodecs==2026.8.16\" \\\n", + " \"imageio==2.37.4\" \\\n", " \"interleave==0.3.0\" \\\n", - " \"ipython==7.34.0\" \\\n", - " \"ipywidgets==8.1.8\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", - " \"jedi==0.20.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", " \"jinja2==3.1.6\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", " \"jsonschema-specifications==2025.9.1\" \\\n", - " \"jupyterlab-widgets==3.0.16\" \\\n", " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", " \"lazy-loader==0.5\" \\\n", - " \"llvmlite==0.43.0\" \\\n", " \"markupsafe==3.0.3\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"matplotlib-inline==0.2.1\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"mpmath==1.3.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", " \"networkx==3.6.1\" \\\n", - " \"numba==0.60.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==1.26.4\" \\\n", - " \"nvidia-cublas==13.1.1.3\" \\\n", - " \"nvidia-cuda-cupti==13.0.85\" \\\n", - " \"nvidia-cuda-nvrtc==13.0.88\" \\\n", - " \"nvidia-cuda-runtime==13.0.96\" \\\n", - " \"nvidia-cudnn-cu13==9.20.0.48\" \\\n", - " \"nvidia-cufft==12.0.0.61\" \\\n", - " \"nvidia-cufile==1.15.1.6\" \\\n", - " \"nvidia-curand==10.4.0.35\" \\\n", - " \"nvidia-cusolver==12.0.4.66\" \\\n", - " \"nvidia-cusparse==12.6.3.3\" \\\n", - " \"nvidia-cusparselt-cu13==0.8.1\" \\\n", - " \"nvidia-nccl-cu13==2.29.7\" \\\n", - " \"nvidia-nvjitlink==13.0.88\" \\\n", - " \"nvidia-nvshmem-cu13==3.4.5\" \\\n", - " \"nvidia-nvtx==13.0.85\" \\\n", - " \"nwbinspector==0.6.3\" \\\n", - " \"opencv-python-headless==4.11.0.86\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", - " \"parso==0.8.6\" \\\n", - " \"pexpect==4.9.0\" \\\n", - " \"pickleshare==0.7.5\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nvidia-cublas-cu12==12.8.4.1\" \\\n", + " \"nvidia-cuda-cupti-cu12==12.8.90\" \\\n", + " \"nvidia-cuda-nvrtc-cu12==12.8.93\" \\\n", + " \"nvidia-cuda-runtime-cu12==12.8.90\" \\\n", + " \"nvidia-cudnn-cu12==9.10.2.21\" \\\n", + " \"nvidia-cufft-cu12==11.3.3.83\" \\\n", + " \"nvidia-cufile-cu12==1.13.1.3\" \\\n", + " \"nvidia-curand-cu12==10.3.9.90\" \\\n", + " \"nvidia-cusolver-cu12==11.7.3.90\" \\\n", + " \"nvidia-cusparse-cu12==12.5.8.93\" \\\n", + " \"nvidia-cusparselt-cu12==0.7.1\" \\\n", + " \"nvidia-nccl-cu12==2.27.5\" \\\n", + " \"nvidia-nvjitlink-cu12==12.8.93\" \\\n", + " \"nvidia-nvshmem-cu12==3.4.5\" \\\n", + " \"nvidia-nvtx-cu12==12.8.90\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"opencv-python-headless==5.0.0.93\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"prompt-toolkit==3.0.52\" \\\n", - " \"propcache==0.4.1\" \\\n", - " \"ptyprocess==0.7.0\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pygments==2.20.0\" \\\n", - " \"pynwb==2.8.3\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"roifile==2026.2.10\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"roifile==2026.7.30\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", - " \"scikit-image==0.26.0\" \\\n", + " \"scikit-image==0.25.2\" \\\n", " \"scipy==1.16.3\" \\\n", " \"seaborn==0.13.2\" \\\n", " \"secretstorage==3.5.0\" \\\n", + " \"segment-anything==1.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"setuptools==75.2.0\" \\\n", " \"six==1.17.0\" \\\n", " \"sympy==1.14.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", - " \"tifffile==2026.3.3\" \\\n", - " \"torch==2.12.0\" \\\n", + " \"tensorstore==0.1.85\" \\\n", + " \"tifffile==2026.8.16\" \\\n", + " \"torch==2.10.0\" \\\n", + " \"torchvision==0.25.0\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"traitlets==5.7.1\" \\\n", - " \"triton==3.7.0\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"triton==3.6.0\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"widgetsnbextension==4.0.15\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"\n", - "\n", "!curl -sL -o stream_nwbfile.py https://raw.githubusercontent.com/dandi/example-notebooks/master/000559/dattalab/markowitz_gillis_nature_2023/stream_nwbfile.py" ] }, diff --git a/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure_S1.requirements.in b/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure_S1.requirements.in new file mode 100644 index 00000000..c787fefb --- /dev/null +++ b/000559/dattalab/markowitz_gillis_nature_2023/reproduce_figure_S1.requirements.in @@ -0,0 +1,14 @@ +cellpose +dandi +fsspec +h5py +matplotlib +numpy +pandas +pynwb +scikit-image +scipy +seaborn +tqdm +pynwb<4 +hdmf<5 diff --git a/000582/Sargolini2006/000582_Sargolini2006_demo.ipynb b/000582/Sargolini2006/000582_Sargolini2006_demo.ipynb index b075e1fc..05e15043 100644 --- a/000582/Sargolini2006/000582_Sargolini2006_demo.ipynb +++ b/000582/Sargolini2006/000582_Sargolini2006_demo.ipynb @@ -28,33 +28,33 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", - " \"cryptography==43.0.3\" \\\n", - " \"dandi==0.75.1\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"cryptography==50.0.0\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", @@ -62,52 +62,53 @@ " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", " \"hdmf==4.3.1\" \\\n", - " \"hdmf-zarr==0.12.0\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", " \"jsonschema-specifications==2025.9.1\" \\\n", " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", - " \"llvmlite==0.43.0\" \\\n", - " \"markdown-it-py==4.0.0\" \\\n", + " \"llvmlite==0.44.0\" \\\n", + " \"markdown-it-py==4.2.0\" \\\n", " \"mdurl==0.1.2\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"neo==0.14.4\" \\\n", - " \"numba==0.60.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.7.1\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", - " \"platformdirs==4.9.6\" \\\n", + " \"neo==0.14.5\" \\\n", + " \"numba==0.61.2\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", + " \"platformdirs==4.11.3\" \\\n", " \"plotly==5.24.1\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pygments==2.20.0\" \\\n", - " \"pynapple==0.11.2\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pygments==2.21.0\" \\\n", + " \"pynapple==0.11.4\" \\\n", " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"quantities==0.16.4\" \\\n", @@ -116,7 +117,7 @@ " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", " \"rich==13.9.4\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"scipy==1.16.3\" \\\n", " \"secretstorage==3.5.0\" \\\n", @@ -124,20 +125,18 @@ " \"six==1.17.0\" \\\n", " \"tabulate==0.9.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", " \"xarray==2025.12.0\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] }, diff --git a/000582/Sargolini2006/requirements.in b/000582/Sargolini2006/requirements.in new file mode 100644 index 00000000..0223ab87 --- /dev/null +++ b/000582/Sargolini2006/requirements.in @@ -0,0 +1,10 @@ +dandi +fsspec +h5py +numpy +plotly +pynapple +pynwb +scipy +pynwb<4 +hdmf<5 diff --git a/000718/CaiLab/zaki_2024/000718_demo.ipynb b/000718/CaiLab/zaki_2024/000718_demo.ipynb index 6e6ea0bf..92599e17 100644 --- a/000718/CaiLab/zaki_2024/000718_demo.ipynb +++ b/000718/CaiLab/zaki_2024/000718_demo.ipynb @@ -28,55 +28,56 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.39.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==48.0.0\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.75.1\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", - " \"fsspec==2026.4.0\" \\\n", + " \"fsspec==2025.3.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==4.2.0\" \\\n", - " \"hdmf-zarr==0.12.0\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.14\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -84,54 +85,53 @@ " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", - " \"matplotlib==3.10.9\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", - " \"more-itertools==11.0.2\" \\\n", + " \"matplotlib==3.10.0\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", + " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.4.4\" \\\n", - " \"nwbinspector==0.7.1\" \\\n", - " \"packaging==26.2\" \\\n", - " \"pandas==3.0.3\" \\\n", - " \"pillow==12.2.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", + " \"pillow==11.3.0\" \\\n", + " \"platformdirs==4.11.3\" \\\n", " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", " \"pydantic==2.13.4\" \\\n", " \"pydantic-core==2.46.4\" \\\n", - " \"pydantic-settings==2.14.1\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", + " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", - " \"requests==2.34.0\" \\\n", + " \"remfile==0.1.14\" \\\n", + " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.83\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.2\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", - " \"urllib3==2.7.0\" \\\n", - " \"wcwidth==0.7.0\" \\\n", + " \"urllib3==2.5.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] }, diff --git a/000718/CaiLab/zaki_2024/requirements.in b/000718/CaiLab/zaki_2024/requirements.in new file mode 100644 index 00000000..f1977c91 --- /dev/null +++ b/000718/CaiLab/zaki_2024/requirements.in @@ -0,0 +1,9 @@ +dandi +h5py +matplotlib +numpy +pandas +pynwb +remfile +pynwb<4 +hdmf<5 diff --git a/000727/clandinin/simple_data_access/reading_data.ipynb b/000727/clandinin/simple_data_access/reading_data.ipynb index 01eaa76c..b2f26ca9 100644 --- a/000727/clandinin/simple_data_access/reading_data.ipynb +++ b/000727/clandinin/simple_data_access/reading_data.ipynb @@ -28,55 +28,56 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.74.3\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==3.14.6\" \\\n", - " \"hdmf-zarr==0.11.3\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -85,55 +86,52 @@ " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.6.3\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pynwb==2.8.3\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", + " \"remfile==0.1.14\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", - " \"scipy==1.16.3\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] }, diff --git a/000727/clandinin/simple_data_access/requirements.in b/000727/clandinin/simple_data_access/requirements.in new file mode 100644 index 00000000..0cba5f02 --- /dev/null +++ b/000727/clandinin/simple_data_access/requirements.in @@ -0,0 +1,7 @@ +dandi +h5py +matplotlib +pynwb +remfile +pynwb<4 +hdmf<5 diff --git a/000728/AllenInstitute/requirements.in b/000728/AllenInstitute/requirements.in new file mode 100644 index 00000000..524ffcf1 --- /dev/null +++ b/000728/AllenInstitute/requirements.in @@ -0,0 +1,10 @@ +dandi +h5py +matplotlib +numpy +pandas +pynwb +remfile +scipy +pynwb<4 +hdmf<5 diff --git a/000728/AllenInstitute/visual_coding_ophys_tutorial.ipynb b/000728/AllenInstitute/visual_coding_ophys_tutorial.ipynb index e4774183..38a9a264 100644 --- a/000728/AllenInstitute/visual_coding_ophys_tutorial.ipynb +++ b/000728/AllenInstitute/visual_coding_ophys_tutorial.ipynb @@ -28,55 +28,56 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.74.3\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==3.14.6\" \\\n", - " \"hdmf-zarr==0.11.3\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -85,55 +86,53 @@ " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.6.3\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pynwb==2.8.3\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", + " \"remfile==0.1.14\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"scipy==1.16.3\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] }, diff --git a/000947/TurnerLab/public_demo/000947_demo.ipynb b/000947/TurnerLab/public_demo/000947_demo.ipynb index e38cb008..d7a185d2 100644 --- a/000947/TurnerLab/public_demo/000947_demo.ipynb +++ b/000947/TurnerLab/public_demo/000947_demo.ipynb @@ -28,55 +28,56 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.75.1\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", " \"hdmf==4.3.1\" \\\n", - " \"hdmf-zarr==0.12.0\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -84,45 +85,46 @@ " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", - " \"llvmlite==0.43.0\" \\\n", - " \"markdown-it-py==4.0.0\" \\\n", + " \"llvmlite==0.44.0\" \\\n", + " \"markdown-it-py==4.2.0\" \\\n", " \"matplotlib==3.10.0\" \\\n", " \"mdurl==0.1.2\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"ndx-turner-metadata==0.1.0\" \\\n", - " \"numba==0.60.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.7.1\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", + " \"neo==0.14.5\" \\\n", + " \"numba==0.61.2\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pygments==2.20.0\" \\\n", - " \"pynapple==0.7.1\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pygments==2.21.0\" \\\n", + " \"pynapple==0.11.4\" \\\n", " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", + " \"quantities==0.16.4\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", + " \"remfile==0.1.14\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", " \"rich==13.9.4\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"scipy==1.16.3\" \\\n", " \"secretstorage==3.5.0\" \\\n", @@ -130,19 +132,18 @@ " \"six==1.17.0\" \\\n", " \"tabulate==0.9.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"xarray==2025.12.0\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] }, diff --git a/000947/TurnerLab/public_demo/requirements.in b/000947/TurnerLab/public_demo/requirements.in new file mode 100644 index 00000000..299931d0 --- /dev/null +++ b/000947/TurnerLab/public_demo/requirements.in @@ -0,0 +1,10 @@ +dandi +h5py +matplotlib +numpy +pandas +pynapple +pynwb +remfile +pynwb<4 +hdmf<5 diff --git a/000971/lernerlab/seiler_2024/fiber_photometry_example_notebook.ipynb b/000971/lernerlab/seiler_2024/fiber_photometry_example_notebook.ipynb index 678b9baf..2296c10c 100644 --- a/000971/lernerlab/seiler_2024/fiber_photometry_example_notebook.ipynb +++ b/000971/lernerlab/seiler_2024/fiber_photometry_example_notebook.ipynb @@ -28,55 +28,56 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.74.3\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==3.14.6\" \\\n", - " \"hdmf-zarr==0.11.3\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -85,58 +86,52 @@ " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"ndx-events==0.2.2\" \\\n", - " \"ndx-fiber-photometry==0.1.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.6.3\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pynwb==2.8.3\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", - " \"scipy==1.16.3\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"\n", - "\n", "!curl -sL -o stream_nwbfile.py https://raw.githubusercontent.com/dandi/example-notebooks/master/000971/lernerlab/seiler_2024/stream_nwbfile.py" ] }, diff --git a/000971/lernerlab/seiler_2024/optogenetics_example_notebook.ipynb b/000971/lernerlab/seiler_2024/optogenetics_example_notebook.ipynb index 5fe53447..b67724bf 100644 --- a/000971/lernerlab/seiler_2024/optogenetics_example_notebook.ipynb +++ b/000971/lernerlab/seiler_2024/optogenetics_example_notebook.ipynb @@ -28,55 +28,56 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.74.3\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==5.0.1\" \\\n", - " \"hdmf-zarr==0.12.0\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -85,56 +86,52 @@ " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"ndx-events==0.4.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.6.3\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pynwb==2.8.3\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"\n", - "\n", "!curl -sL -o stream_nwbfile.py https://raw.githubusercontent.com/dandi/example-notebooks/master/000971/lernerlab/seiler_2024/stream_nwbfile.py" ] }, diff --git a/000971/lernerlab/seiler_2024/requirements.in b/000971/lernerlab/seiler_2024/requirements.in new file mode 100644 index 00000000..d0945ec1 --- /dev/null +++ b/000971/lernerlab/seiler_2024/requirements.in @@ -0,0 +1,9 @@ +aiohttp +dandi +fsspec +h5py +matplotlib +numpy +pynwb +pynwb<4 +hdmf<5 diff --git a/001038/DombeckLab/001038_demo.ipynb b/001038/DombeckLab/001038_demo.ipynb index 1cbe3927..bc76123a 100644 --- a/001038/DombeckLab/001038_demo.ipynb +++ b/001038/DombeckLab/001038_demo.ipynb @@ -28,60 +28,60 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", - " \"asttokens==3.0.1\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"backcall==0.2.0\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.74.3\" \\\n", - " \"dandischema==0.12.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", " \"decorator==4.4.2\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", - " \"executing==2.2.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", " \"hdmf==4.3.1\" \\\n", - " \"hdmf-zarr==0.12.0\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", - " \"ipython==8.21.0\" \\\n", + " \"ipython==7.34.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jedi==0.20.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -90,63 +90,61 @@ " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"matplotlib-inline==0.2.1\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"matplotlib-inline==0.2.2\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.6.3\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", - " \"parso==0.8.6\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", + " \"parso==0.8.7\" \\\n", " \"pexpect==4.9.0\" \\\n", + " \"pickleshare==0.7.5\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"prompt-toolkit==3.0.52\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"prompt-toolkit==3.0.53\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"ptyprocess==0.7.0\" \\\n", - " \"pure-eval==0.2.3\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pygments==2.20.0\" \\\n", - " \"pynwb==3.0.0\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pygments==2.21.0\" \\\n", + " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", + " \"remfile==0.1.14\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", + " \"setuptools==75.2.0\" \\\n", " \"six==1.17.0\" \\\n", - " \"stack-data==0.6.3\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", " \"traitlets==5.7.1\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] }, diff --git a/001038/DombeckLab/requirements.in b/001038/DombeckLab/requirements.in new file mode 100644 index 00000000..a35d5723 --- /dev/null +++ b/001038/DombeckLab/requirements.in @@ -0,0 +1,9 @@ +dandi +h5py +ipython +matplotlib +pandas +pynwb +remfile +pynwb<4 +hdmf<5 diff --git a/001075/001075_paper_figure_1d.ipynb b/001075/001075_paper_figure_1d.ipynb index d05b8488..67fbfa22 100644 --- a/001075/001075_paper_figure_1d.ipynb +++ b/001075/001075_paper_figure_1d.ipynb @@ -28,55 +28,56 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.74.3\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==3.14.6\" \\\n", - " \"hdmf-zarr==0.11.3\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -85,57 +86,54 @@ " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.6.3\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pynwb==2.8.3\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", + " \"remfile==0.1.14\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"scipy==1.16.3\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"\n", - "\n", "!curl --create-dirs -sL -o utils_001075/__init__.py https://raw.githubusercontent.com/dandi/example-notebooks/master/001075/utils_001075/__init__.py\n", "!curl --create-dirs -sL -o utils_001075/_stream_nwbfile.py https://raw.githubusercontent.com/dandi/example-notebooks/master/001075/utils_001075/_stream_nwbfile.py\n", "!curl --create-dirs -sL -o utils_001075/_waterfall.py https://raw.githubusercontent.com/dandi/example-notebooks/master/001075/utils_001075/_waterfall.py" diff --git a/001075/requirements.in b/001075/requirements.in new file mode 100644 index 00000000..6af4ff97 --- /dev/null +++ b/001075/requirements.in @@ -0,0 +1,9 @@ +dandi +h5py +matplotlib +numpy +pynwb +remfile +scipy +pynwb<4 +hdmf<5 diff --git a/001084/HoweLab/001084_demo.ipynb b/001084/HoweLab/001084_demo.ipynb index 7ef427a5..9e1bd091 100644 --- a/001084/HoweLab/001084_demo.ipynb +++ b/001084/HoweLab/001084_demo.ipynb @@ -28,55 +28,56 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.74.3\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", " \"hdmf==4.3.1\" \\\n", - " \"hdmf-zarr==0.12.0\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -85,54 +86,52 @@ " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.6.3\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pynwb==3.0.0\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", + " \"remfile==0.1.14\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] }, diff --git a/001084/HoweLab/requirements.in b/001084/HoweLab/requirements.in new file mode 100644 index 00000000..f1977c91 --- /dev/null +++ b/001084/HoweLab/requirements.in @@ -0,0 +1,9 @@ +dandi +h5py +matplotlib +numpy +pandas +pynwb +remfile +pynwb<4 +hdmf<5 diff --git a/001172/HigleyLab/001172_demo.ipynb b/001172/HigleyLab/001172_demo.ipynb index d9d452a7..b264f103 100644 --- a/001172/HigleyLab/001172_demo.ipynb +++ b/001172/HigleyLab/001172_demo.ipynb @@ -28,184 +28,111 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", - " \"anyio==4.13.0\" \\\n", - " \"argon2-cffi==25.1.0\" \\\n", - " \"argon2-cffi-bindings==25.1.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", - " \"async-lru==2.3.0\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"babel==2.18.0\" \\\n", - " \"backcall==0.2.0\" \\\n", - " \"beautifulsoup4==4.13.5\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"bleach==6.3.0\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.74.3\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"debugpy==1.8.15\" \\\n", - " \"decorator==4.4.2\" \\\n", - " \"defusedxml==0.7.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", - " \"entrypoints==0.4\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fastjsonschema==2.21.2\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", - " \"h11==0.16.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==3.14.6\" \\\n", - " \"hdmf-zarr==0.11.3\" \\\n", - " \"httpcore==1.0.9\" \\\n", - " \"httpx==0.28.1\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", - " \"ipykernel==6.17.1\" \\\n", - " \"ipython==7.34.0\" \\\n", - " \"ipython-genutils==0.2.0\" \\\n", - " \"ipywidgets==7.7.1\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", - " \"jedi==0.20.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", - " \"jinja2==3.1.6\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", - " \"json5==0.14.0\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", " \"jsonschema-specifications==2025.9.1\" \\\n", - " \"jupyter==1.1.1\" \\\n", - " \"jupyter-client==7.4.9\" \\\n", - " \"jupyter-console==6.6.3\" \\\n", - " \"jupyter-core==5.9.1\" \\\n", - " \"jupyter-events==0.12.1\" \\\n", - " \"jupyter-lsp==2.3.1\" \\\n", - " \"jupyter-server==2.14.0\" \\\n", - " \"jupyter-server-terminals==0.5.4\" \\\n", - " \"jupyterlab==4.5.7\" \\\n", - " \"jupyterlab-pygments==0.3.0\" \\\n", - " \"jupyterlab-server==2.28.0\" \\\n", - " \"jupyterlab-widgets==3.0.16\" \\\n", " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", - " \"lark==1.3.1\" \\\n", - " \"markupsafe==3.0.3\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"matplotlib-inline==0.2.1\" \\\n", - " \"mistune==3.2.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", - " \"narwhals==2.22.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"nbclassic==1.3.3\" \\\n", - " \"nbclient==0.10.4\" \\\n", - " \"nbconvert==7.17.1\" \\\n", - " \"nbformat==5.10.4\" \\\n", - " \"nest-asyncio==1.6.0\" \\\n", - " \"notebook==6.5.7\" \\\n", - " \"notebook-shim==0.2.4\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", - " \"nwbinspector==0.6.3\" \\\n", - " \"overrides==7.7.0\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", - " \"pandocfilters==1.5.1\" \\\n", - " \"parso==0.8.6\" \\\n", - " \"pexpect==4.9.0\" \\\n", - " \"pickleshare==0.7.5\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", + " \"nwbinspector==0.7.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"plotly==6.8.0\" \\\n", - " \"prometheus-client==0.25.0\" \\\n", - " \"prompt-toolkit==3.0.52\" \\\n", - " \"propcache==0.4.1\" \\\n", - " \"psutil==5.9.5\" \\\n", - " \"ptyprocess==0.7.0\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"plotly==5.24.1\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pygments==2.20.0\" \\\n", - " \"pynwb==2.8.3\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", + " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", - " \"python-json-logger==4.1.0\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", - " \"pyzmq==26.2.1\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", + " \"remfile==0.1.14\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", - " \"rfc3986-validator==0.1.1\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rfc3987-syntax==1.1.0\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", - " \"scipy==1.16.3\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", - " \"send2trash==2.1.0\" \\\n", - " \"setuptools==75.2.0\" \\\n", " \"six==1.17.0\" \\\n", - " \"soupsieve==2.8.3\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"terminado==0.18.1\" \\\n", - " \"threadpoolctl==3.6.0\" \\\n", - " \"tinycss2==1.4.0\" \\\n", - " \"tornado==6.5.1\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"traitlets==5.7.1\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"webencodings==0.5.1\" \\\n", - " \"websocket-client==1.9.0\" \\\n", - " \"widgetsnbextension==3.6.10\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] }, diff --git a/001172/HigleyLab/requirements.in b/001172/HigleyLab/requirements.in new file mode 100644 index 00000000..8e23435d --- /dev/null +++ b/001172/HigleyLab/requirements.in @@ -0,0 +1,10 @@ +dandi +h5py +matplotlib +numpy +pandas +plotly +pynwb +remfile +pynwb<4 +hdmf<5 diff --git a/001528/HnaskoLab/Lotfi_2025/001528_demo.ipynb b/001528/HnaskoLab/Lotfi_2025/001528_demo.ipynb index 6def0924..21fec2a8 100644 --- a/001528/HnaskoLab/Lotfi_2025/001528_demo.ipynb +++ b/001528/HnaskoLab/Lotfi_2025/001528_demo.ipynb @@ -28,29 +28,29 @@ "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", " \"attrs==26.1.0\" \\\n", " \"bids-validator-deno==3.0.1\" \\\n", " \"bidsschematools==1.2.7\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.3.3\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", " \"dandi==0.77.0\" \\\n", " \"dandischema==0.14.0\" \\\n", @@ -60,7 +60,7 @@ " \"email-validator==2.3.0\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", @@ -68,15 +68,16 @@ " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", " \"hdmf==6.2.0\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -85,28 +86,28 @@ " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", " \"numcodecs==0.16.5\" \\\n", - " \"numpy==2.0.2\" \\\n", + " \"numpy==2.1.3\" \\\n", " \"nwbinspector==0.7.2\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"propcache==0.4.1\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", " \"pynwb==4.1.0\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", @@ -114,22 +115,22 @@ " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"yarl==1.23.0\" \\\n", + " \"yarl==1.24.5\" \\\n", " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] diff --git a/001538/catalyst_neuro/zhai_2025/figure_1E_dspn_somatic_excitability.ipynb b/001538/catalyst_neuro/zhai_2025/figure_1E_dspn_somatic_excitability.ipynb index 190c6e5b..2cdf896c 100644 --- a/001538/catalyst_neuro/zhai_2025/figure_1E_dspn_somatic_excitability.ipynb +++ b/001538/catalyst_neuro/zhai_2025/figure_1E_dspn_somatic_excitability.ipynb @@ -2,55 +2,59 @@ "cells": [ { "cell_type": "markdown", + "id": "zhai-colab-badge", "metadata": {}, "source": [ "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/dandi/example-notebooks/blob/master/001538/catalyst_neuro/zhai_2025/figure_1E_dspn_somatic_excitability.ipynb)" - ], - "id": "zhai-colab-badge" + ] }, { "cell_type": "markdown", + "id": "zhai-install-intro", "metadata": {}, "source": [ "## Installing requirements\n", "\n", "The cell below installs every Python package needed to run this notebook, at fully pinned versions, using [`uv`](https://github.com/astral-sh/uv) for fast resolution. In Colab the cell is collapsed by default — click the ▶ button to run it." - ], - "id": "zhai-install-intro" + ] }, { "cell_type": "code", "execution_count": null, - "metadata": {}, + "id": "zhai-install-cell", + "metadata": { + "cellView": "form" + }, "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.2\" \\\n", - " \"aiohttp==3.14.1\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.44.0\" \\\n", - " \"certifi==2026.5.20\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==49.0.0\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.76.4\" \\\n", - " \"dandischema==0.12.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", @@ -60,20 +64,20 @@ " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", - " \"fsspec==2026.4.0\" \\\n", + " \"fsspec==2025.3.0\" \\\n", " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==4.2.0\" \\\n", - " \"humanize==4.15.0\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.5.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", - " \"jinxed==2.0.4\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -81,68 +85,67 @@ " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", - " \"matplotlib==3.10.9\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", - " \"more-itertools==11.1.0\" \\\n", + " \"matplotlib==3.10.0\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", + " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", " \"numcodecs==0.16.5\" \\\n", - " \"numpy==2.0.2\" \\\n", + " \"numpy==2.1.3\" \\\n", " \"nwbinspector==0.7.2\" \\\n", - " \"packaging==26.2\" \\\n", - " \"pandas==2.3.3\" \\\n", - " \"pillow==12.2.0\" \\\n", - " \"platformdirs==4.10.0\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", + " \"pillow==11.3.0\" \\\n", + " \"platformdirs==4.11.3\" \\\n", " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", " \"pydantic==2.13.4\" \\\n", " \"pydantic-core==2.46.4\" \\\n", - " \"pydantic-settings==2.14.1\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", - " \"pytz==2026.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", + " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", - " \"requests==2.34.2\" \\\n", + " \"remfile==0.1.14\" \\\n", + " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==2026.5.1\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", - " \"scipy==1.17.1\" \\\n", + " \"scipy==1.16.3\" \\\n", " \"seaborn==0.13.2\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.84\" \\\n", - " \"tqdm==4.68.2\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.2\" \\\n", + " \"tensorstore==0.1.85\" \\\n", + " \"tqdm==4.67.3\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", - " \"urllib3==2.7.0\" \\\n", - " \"wcwidth==0.8.1\" \\\n", + " \"urllib3==2.5.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"yarl==1.24.2\" \\\n", + " \"yarl==1.24.5\" \\\n", " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" - ], - "id": "zhai-install-cell" + ] }, { "cell_type": "markdown", + "id": "zhai-restart-admonition", "metadata": {}, "source": [ "> **⚠️ Restart runtime after install**\n", ">\n", "> The install may upgrade packages already loaded in the kernel. Go to **Runtime → Restart session**, then **Run all cells below** (skip this install cell on re-run)." - ], - "id": "zhai-restart-admonition" + ] }, { "cell_type": "markdown", diff --git a/001538/catalyst_neuro/zhai_2025/figure_2GH_oepsc_analysis.ipynb b/001538/catalyst_neuro/zhai_2025/figure_2GH_oepsc_analysis.ipynb index c19907d5..b0884a76 100644 --- a/001538/catalyst_neuro/zhai_2025/figure_2GH_oepsc_analysis.ipynb +++ b/001538/catalyst_neuro/zhai_2025/figure_2GH_oepsc_analysis.ipynb @@ -2,55 +2,59 @@ "cells": [ { "cell_type": "markdown", + "id": "zhai-colab-badge", "metadata": {}, "source": [ "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/dandi/example-notebooks/blob/master/001538/catalyst_neuro/zhai_2025/figure_2GH_oepsc_analysis.ipynb)" - ], - "id": "zhai-colab-badge" + ] }, { "cell_type": "markdown", + "id": "zhai-install-intro", "metadata": {}, "source": [ "## Installing requirements\n", "\n", "The cell below installs every Python package needed to run this notebook, at fully pinned versions, using [`uv`](https://github.com/astral-sh/uv) for fast resolution. In Colab the cell is collapsed by default — click the ▶ button to run it." - ], - "id": "zhai-install-intro" + ] }, { "cell_type": "code", "execution_count": null, - "metadata": {}, + "id": "zhai-install-cell", + "metadata": { + "cellView": "form" + }, "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.2\" \\\n", - " \"aiohttp==3.14.1\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.44.0\" \\\n", - " \"certifi==2026.5.20\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==49.0.0\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.76.4\" \\\n", - " \"dandischema==0.12.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", @@ -60,20 +64,20 @@ " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", - " \"fsspec==2026.4.0\" \\\n", + " \"fsspec==2025.3.0\" \\\n", " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==4.2.0\" \\\n", - " \"humanize==4.15.0\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.5.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", - " \"jinxed==2.0.4\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -81,68 +85,67 @@ " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", - " \"matplotlib==3.10.9\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", - " \"more-itertools==11.1.0\" \\\n", + " \"matplotlib==3.10.0\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", + " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", " \"numcodecs==0.16.5\" \\\n", - " \"numpy==2.0.2\" \\\n", + " \"numpy==2.1.3\" \\\n", " \"nwbinspector==0.7.2\" \\\n", - " \"packaging==26.2\" \\\n", - " \"pandas==2.3.3\" \\\n", - " \"pillow==12.2.0\" \\\n", - " \"platformdirs==4.10.0\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", + " \"pillow==11.3.0\" \\\n", + " \"platformdirs==4.11.3\" \\\n", " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", " \"pydantic==2.13.4\" \\\n", " \"pydantic-core==2.46.4\" \\\n", - " \"pydantic-settings==2.14.1\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", - " \"pytz==2026.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", + " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", - " \"requests==2.34.2\" \\\n", + " \"remfile==0.1.14\" \\\n", + " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==2026.5.1\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", - " \"scipy==1.17.1\" \\\n", + " \"scipy==1.16.3\" \\\n", " \"seaborn==0.13.2\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.84\" \\\n", - " \"tqdm==4.68.2\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.2\" \\\n", + " \"tensorstore==0.1.85\" \\\n", + " \"tqdm==4.67.3\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", - " \"urllib3==2.7.0\" \\\n", - " \"wcwidth==0.8.1\" \\\n", + " \"urllib3==2.5.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"yarl==1.24.2\" \\\n", + " \"yarl==1.24.5\" \\\n", " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" - ], - "id": "zhai-install-cell" + ] }, { "cell_type": "markdown", + "id": "zhai-restart-admonition", "metadata": {}, "source": [ "> **⚠️ Restart runtime after install**\n", ">\n", "> The install may upgrade packages already loaded in the kernel. Go to **Runtime → Restart session**, then **Run all cells below** (skip this install cell on re-run)." - ], - "id": "zhai-restart-admonition" + ] }, { "cell_type": "markdown", diff --git a/001538/catalyst_neuro/zhai_2025/figure_5F_acetylcholine_biosensor.ipynb b/001538/catalyst_neuro/zhai_2025/figure_5F_acetylcholine_biosensor.ipynb index 165a49c1..f0fe376e 100644 --- a/001538/catalyst_neuro/zhai_2025/figure_5F_acetylcholine_biosensor.ipynb +++ b/001538/catalyst_neuro/zhai_2025/figure_5F_acetylcholine_biosensor.ipynb @@ -2,55 +2,59 @@ "cells": [ { "cell_type": "markdown", + "id": "zhai-colab-badge", "metadata": {}, "source": [ "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/dandi/example-notebooks/blob/master/001538/catalyst_neuro/zhai_2025/figure_5F_acetylcholine_biosensor.ipynb)" - ], - "id": "zhai-colab-badge" + ] }, { "cell_type": "markdown", + "id": "zhai-install-intro", "metadata": {}, "source": [ "## Installing requirements\n", "\n", "The cell below installs every Python package needed to run this notebook, at fully pinned versions, using [`uv`](https://github.com/astral-sh/uv) for fast resolution. In Colab the cell is collapsed by default — click the ▶ button to run it." - ], - "id": "zhai-install-intro" + ] }, { "cell_type": "code", "execution_count": null, - "metadata": {}, + "id": "zhai-install-cell", + "metadata": { + "cellView": "form" + }, "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.2\" \\\n", - " \"aiohttp==3.14.1\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.44.0\" \\\n", - " \"certifi==2026.5.20\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==49.0.0\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.76.4\" \\\n", - " \"dandischema==0.12.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", @@ -60,20 +64,20 @@ " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", - " \"fsspec==2026.4.0\" \\\n", + " \"fsspec==2025.3.0\" \\\n", " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==4.2.0\" \\\n", - " \"humanize==4.15.0\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.5.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", - " \"jinxed==2.0.4\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -81,68 +85,67 @@ " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", - " \"matplotlib==3.10.9\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", - " \"more-itertools==11.1.0\" \\\n", + " \"matplotlib==3.10.0\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", + " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", " \"numcodecs==0.16.5\" \\\n", - " \"numpy==2.0.2\" \\\n", + " \"numpy==2.1.3\" \\\n", " \"nwbinspector==0.7.2\" \\\n", - " \"packaging==26.2\" \\\n", - " \"pandas==2.3.3\" \\\n", - " \"pillow==12.2.0\" \\\n", - " \"platformdirs==4.10.0\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", + " \"pillow==11.3.0\" \\\n", + " \"platformdirs==4.11.3\" \\\n", " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", " \"pydantic==2.13.4\" \\\n", " \"pydantic-core==2.46.4\" \\\n", - " \"pydantic-settings==2.14.1\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", - " \"pytz==2026.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", + " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", - " \"requests==2.34.2\" \\\n", + " \"remfile==0.1.14\" \\\n", + " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==2026.5.1\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", - " \"scipy==1.17.1\" \\\n", + " \"scipy==1.16.3\" \\\n", " \"seaborn==0.13.2\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.84\" \\\n", - " \"tqdm==4.68.2\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.2\" \\\n", + " \"tensorstore==0.1.85\" \\\n", + " \"tqdm==4.67.3\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", - " \"urllib3==2.7.0\" \\\n", - " \"wcwidth==0.8.1\" \\\n", + " \"urllib3==2.5.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"yarl==1.24.2\" \\\n", + " \"yarl==1.24.5\" \\\n", " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" - ], - "id": "zhai-install-cell" + ] }, { "cell_type": "markdown", + "id": "zhai-restart-admonition", "metadata": {}, "source": [ "> **⚠️ Restart runtime after install**\n", ">\n", "> The install may upgrade packages already loaded in the kernel. Go to **Runtime → Restart session**, then **Run all cells below** (skip this install cell on re-run)." - ], - "id": "zhai-restart-admonition" + ] }, { "cell_type": "markdown", diff --git a/001538/catalyst_neuro/zhai_2025/how_to_use_this_dataset.ipynb b/001538/catalyst_neuro/zhai_2025/how_to_use_this_dataset.ipynb index 6e03ea4e..320c38f1 100644 --- a/001538/catalyst_neuro/zhai_2025/how_to_use_this_dataset.ipynb +++ b/001538/catalyst_neuro/zhai_2025/how_to_use_this_dataset.ipynb @@ -2,55 +2,59 @@ "cells": [ { "cell_type": "markdown", + "id": "zhai-colab-badge", "metadata": {}, "source": [ "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/dandi/example-notebooks/blob/master/001538/catalyst_neuro/zhai_2025/how_to_use_this_dataset.ipynb)" - ], - "id": "zhai-colab-badge" + ] }, { "cell_type": "markdown", + "id": "zhai-install-intro", "metadata": {}, "source": [ "## Installing requirements\n", "\n", "The cell below installs every Python package needed to run this notebook, at fully pinned versions, using [`uv`](https://github.com/astral-sh/uv) for fast resolution. In Colab the cell is collapsed by default — click the ▶ button to run it." - ], - "id": "zhai-install-intro" + ] }, { "cell_type": "code", "execution_count": null, - "metadata": {}, + "id": "zhai-install-cell", + "metadata": { + "cellView": "form" + }, "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.2\" \\\n", - " \"aiohttp==3.14.1\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"blessed==1.44.0\" \\\n", - " \"certifi==2026.5.20\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==49.0.0\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.76.4\" \\\n", - " \"dandischema==0.12.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", @@ -60,20 +64,20 @@ " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", - " \"fsspec==2026.4.0\" \\\n", + " \"fsspec==2025.3.0\" \\\n", " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", - " \"hdmf==4.2.0\" \\\n", - " \"humanize==4.15.0\" \\\n", + " \"hdmf==4.3.1\" \\\n", + " \"humanize==4.16.0\" \\\n", " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.5.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", - " \"jinxed==2.0.4\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", @@ -81,68 +85,67 @@ " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", - " \"matplotlib==3.10.9\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", - " \"more-itertools==11.1.0\" \\\n", + " \"matplotlib==3.10.0\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", + " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", " \"numcodecs==0.16.5\" \\\n", - " \"numpy==2.0.2\" \\\n", + " \"numpy==2.1.3\" \\\n", " \"nwbinspector==0.7.2\" \\\n", - " \"packaging==26.2\" \\\n", - " \"pandas==2.3.3\" \\\n", - " \"pillow==12.2.0\" \\\n", - " \"platformdirs==4.10.0\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", + " \"pillow==11.3.0\" \\\n", + " \"platformdirs==4.11.3\" \\\n", " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", " \"pydantic==2.13.4\" \\\n", " \"pydantic-core==2.46.4\" \\\n", - " \"pydantic-settings==2.14.1\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", - " \"pytz==2026.2\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", + " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", - " \"requests==2.34.2\" \\\n", + " \"remfile==0.1.14\" \\\n", + " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rpds-py==2026.5.1\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", - " \"scipy==1.17.1\" \\\n", + " \"scipy==1.16.3\" \\\n", " \"seaborn==0.13.2\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", " \"six==1.17.0\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.84\" \\\n", - " \"tqdm==4.68.2\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.2\" \\\n", + " \"tensorstore==0.1.85\" \\\n", + " \"tqdm==4.67.3\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", - " \"urllib3==2.7.0\" \\\n", - " \"wcwidth==0.8.1\" \\\n", + " \"urllib3==2.5.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"yarl==1.24.2\" \\\n", + " \"yarl==1.24.5\" \\\n", " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" - ], - "id": "zhai-install-cell" + ] }, { "cell_type": "markdown", + "id": "zhai-restart-admonition", "metadata": {}, "source": [ "> **⚠️ Restart runtime after install**\n", ">\n", "> The install may upgrade packages already loaded in the kernel. Go to **Runtime → Restart session**, then **Run all cells below** (skip this install cell on re-run)." - ], - "id": "zhai-restart-admonition" + ] }, { "cell_type": "markdown", diff --git a/001538/catalyst_neuro/zhai_2025/requirements.in b/001538/catalyst_neuro/zhai_2025/requirements.in new file mode 100644 index 00000000..3d81b79a --- /dev/null +++ b/001538/catalyst_neuro/zhai_2025/requirements.in @@ -0,0 +1,12 @@ +dandi +h5py +matplotlib +numpy +pandas +pynwb +remfile +scipy +seaborn +tqdm +pynwb<4 +hdmf<5 diff --git a/001550/PaganLab/01_behavior_demo.ipynb b/001550/PaganLab/01_behavior_demo.ipynb index 2d87520a..61cc8c5d 100644 --- a/001550/PaganLab/01_behavior_demo.ipynb +++ b/001550/PaganLab/01_behavior_demo.ipynb @@ -1,17 +1,4 @@ { - "nbformat": 4, - "nbformat_minor": 5, - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "name": "python", - "version": "3.12.0" - } - }, "cells": [ { "cell_type": "markdown", @@ -33,181 +20,123 @@ }, { "cell_type": "code", + "execution_count": null, "id": "b12de9b0", "metadata": { "cellView": "form" }, - "execution_count": null, "outputs": [], "source": [ "#@title Installing requirements (click ▶ to run) { display-mode: \"form\" }\n", - "# Colab provides Python 3.12. We install with `uv --system` because Colab's\n", + "# Colab provides Python 3.13. We install with `uv --system` because Colab's\n", "# kernel runs outside a virtualenv. All versions (direct + transitive) are\n", "# pinned below so the notebook is reproducible regardless of resolver drift.\n", "!pip install -q uv\n", "!uv pip install --system \\\n", " \"acres==0.5.0\" \\\n", - " \"aiohappyeyeballs==2.6.1\" \\\n", - " \"aiohttp==3.13.5\" \\\n", + " \"aiohappyeyeballs==2.7.1\" \\\n", + " \"aiohttp==3.14.3\" \\\n", " \"aiosignal==1.4.0\" \\\n", - " \"annotated-types==0.7.0\" \\\n", - " \"anyio==4.13.0\" \\\n", - " \"argon2-cffi==25.1.0\" \\\n", - " \"argon2-cffi-bindings==25.1.0\" \\\n", + " \"annotated-types==0.8.0\" \\\n", " \"arrow==1.4.0\" \\\n", - " \"asciitree==0.3.3\" \\\n", " \"attrs==26.1.0\" \\\n", - " \"backcall==0.2.0\" \\\n", - " \"beautifulsoup4==4.13.5\" \\\n", - " \"bids-validator-deno==2.4.1\" \\\n", - " \"bidsschematools==1.2.2\" \\\n", - " \"bleach==6.3.0\" \\\n", - " \"blessed==1.38.0\" \\\n", - " \"certifi==2026.4.22\" \\\n", - " \"cffi==2.0.0\" \\\n", - " \"charset-normalizer==3.4.7\" \\\n", + " \"bids-validator-deno==3.0.1\" \\\n", + " \"bidsschematools==1.2.7\" \\\n", + " \"blessed==1.48.0\" \\\n", + " \"certifi==2026.7.22\" \\\n", + " \"cffi==2.1.1\" \\\n", + " \"charset-normalizer==3.4.9\" \\\n", " \"ci-info==0.4.0\" \\\n", - " \"click==8.1.8\" \\\n", + " \"click==8.4.2\" \\\n", " \"click-didyoumean==0.3.1\" \\\n", " \"contourpy==1.3.3\" \\\n", - " \"cryptography==43.0.3\" \\\n", + " \"cryptography==50.0.0\" \\\n", " \"cycler==0.12.1\" \\\n", - " \"dandi==0.76.4\" \\\n", - " \"dandischema==0.12.1\" \\\n", - " \"debugpy==1.8.15\" \\\n", - " \"decorator==4.4.2\" \\\n", - " \"defusedxml==0.7.1\" \\\n", - " \"deprecated==1.3.1\" \\\n", + " \"dandi==0.77.0\" \\\n", + " \"dandischema==0.14.0\" \\\n", + " \"deno==2.9.5\" \\\n", " \"dnspython==2.8.0\" \\\n", + " \"donfig==0.8.1.post1\" \\\n", " \"email-validator==2.3.0\" \\\n", - " \"entrypoints==0.4\" \\\n", " \"etelemetry==0.3.1\" \\\n", " \"fasteners==0.20\" \\\n", - " \"fastjsonschema==2.21.2\" \\\n", - " \"fonttools==4.62.1\" \\\n", + " \"fonttools==4.63.0\" \\\n", " \"fqdn==1.5.1\" \\\n", " \"frozenlist==1.8.0\" \\\n", " \"fscacher==0.4.4\" \\\n", " \"fsspec==2025.3.0\" \\\n", + " \"google-crc32c==1.8.0\" \\\n", " \"h5py==3.16.0\" \\\n", " \"hdmf==4.3.1\" \\\n", - " \"humanize==4.15.0\" \\\n", - " \"idna==3.13\" \\\n", + " \"humanize==4.16.0\" \\\n", + " \"idna==3.18\" \\\n", " \"interleave==0.3.0\" \\\n", - " \"ipykernel==6.17.1\" \\\n", - " \"ipython==7.34.0\" \\\n", - " \"ipython-genutils==0.2.0\" \\\n", - " \"ipywidgets==7.7.1\" \\\n", " \"isodate==0.7.2\" \\\n", " \"isoduration==20.11.0\" \\\n", " \"jaraco-classes==3.4.0\" \\\n", " \"jaraco-context==6.1.2\" \\\n", - " \"jaraco-functools==4.4.0\" \\\n", - " \"jedi==0.20.0\" \\\n", + " \"jaraco-functools==4.6.0\" \\\n", " \"jeepney==0.9.0\" \\\n", - " \"jinja2==3.1.6\" \\\n", + " \"jinxed==2.1.0\" \\\n", " \"joblib==1.5.3\" \\\n", " \"jsonpointer==3.1.1\" \\\n", " \"jsonschema==4.26.0\" \\\n", " \"jsonschema-specifications==2025.9.1\" \\\n", - " \"jupyter-client==7.4.9\" \\\n", - " \"jupyter-core==5.9.1\" \\\n", - " \"jupyter-events==0.12.1\" \\\n", - " \"jupyter-server==2.14.0\" \\\n", - " \"jupyter-server-terminals==0.5.4\" \\\n", - " \"jupyterlab-pygments==0.3.0\" \\\n", - " \"jupyterlab-widgets==3.0.16\" \\\n", " \"keyring==25.7.0\" \\\n", " \"keyrings-alt==5.0.2\" \\\n", " \"kiwisolver==1.5.0\" \\\n", - " \"lark==1.3.1\" \\\n", - " \"markupsafe==3.0.3\" \\\n", " \"matplotlib==3.10.0\" \\\n", - " \"matplotlib-inline==0.2.1\" \\\n", - " \"mistune==3.2.0\" \\\n", - " \"ml-dtypes==0.5.4\" \\\n", + " \"ml-dtypes==0.6.0\" \\\n", " \"more-itertools==10.8.0\" \\\n", " \"multidict==6.7.1\" \\\n", " \"natsort==8.4.0\" \\\n", - " \"nbclassic==1.3.3\" \\\n", - " \"nbclient==0.10.4\" \\\n", - " \"nbconvert==7.17.1\" \\\n", - " \"nbformat==5.10.4\" \\\n", " \"ndx-ophys-devices==0.3.1\" \\\n", - " \"ndx-optogenetics==0.3.0\" \\\n", + " \"ndx-optogenetics==0.4.0\" \\\n", " \"ndx-structured-behavior @ git+https://github.com/rly/ndx-structured-behavior.git@b31692480fa8c7e005dea7d843528582c02ef7e2\" \\\n", - " \"nest-asyncio==1.6.0\" \\\n", " \"networkx==3.6.1\" \\\n", - " \"notebook==6.5.7\" \\\n", - " \"notebook-shim==0.2.4\" \\\n", - " \"numcodecs==0.15.1\" \\\n", - " \"numpy==2.0.2\" \\\n", + " \"numcodecs==0.16.5\" \\\n", + " \"numpy==2.1.3\" \\\n", " \"nwbinspector==0.7.2\" \\\n", - " \"overrides==7.7.0\" \\\n", - " \"packaging==26.1\" \\\n", - " \"pandas==2.2.2\" \\\n", - " \"pandocfilters==1.5.1\" \\\n", - " \"parso==0.8.6\" \\\n", - " \"pexpect==4.9.0\" \\\n", - " \"pickleshare==0.7.5\" \\\n", + " \"packaging==26.3\" \\\n", + " \"pandas==2.2.3\" \\\n", " \"pillow==11.3.0\" \\\n", - " \"platformdirs==4.9.6\" \\\n", - " \"prometheus-client==0.25.0\" \\\n", - " \"prompt-toolkit==3.0.52\" \\\n", - " \"propcache==0.4.1\" \\\n", - " \"psutil==5.9.5\" \\\n", - " \"ptyprocess==0.7.0\" \\\n", + " \"platformdirs==4.11.3\" \\\n", + " \"propcache==0.5.2\" \\\n", " \"pycparser==3.0\" \\\n", " \"pycryptodomex==3.23.0\" \\\n", - " \"pydantic==2.12.3\" \\\n", - " \"pydantic-core==2.41.4\" \\\n", - " \"pydantic-settings==2.14.0\" \\\n", - " \"pygments==2.20.0\" \\\n", + " \"pydantic==2.13.4\" \\\n", + " \"pydantic-core==2.46.4\" \\\n", + " \"pydantic-settings==2.15.0\" \\\n", " \"pynwb==3.1.3\" \\\n", " \"pyout==0.8.1\" \\\n", " \"pyparsing==3.3.2\" \\\n", " \"python-dateutil==2.9.0.post0\" \\\n", - " \"python-dotenv==1.2.2\" \\\n", - " \"python-json-logger==4.1.0\" \\\n", + " \"python-dotenv==1.2.3\" \\\n", " \"pytz==2025.2\" \\\n", " \"pyyaml==6.0.3\" \\\n", - " \"pyzmq==26.2.1\" \\\n", " \"referencing==0.37.0\" \\\n", - " \"remfile==0.1.13\" \\\n", + " \"remfile==0.1.14\" \\\n", " \"requests==2.32.4\" \\\n", " \"rfc3339-validator==0.1.4\" \\\n", - " \"rfc3986-validator==0.1.1\" \\\n", " \"rfc3987==1.3.8\" \\\n", - " \"rfc3987-syntax==1.1.0\" \\\n", - " \"rpds-py==0.30.0\" \\\n", + " \"rpds-py==2026.6.3\" \\\n", " \"ruamel-yaml==0.19.1\" \\\n", " \"scipy==1.16.3\" \\\n", " \"secretstorage==3.5.0\" \\\n", " \"semantic-version==2.10.0\" \\\n", - " \"send2trash==2.1.0\" \\\n", - " \"setuptools==75.2.0\" \\\n", " \"six==1.17.0\" \\\n", - " \"soupsieve==2.8.3\" \\\n", " \"tenacity==9.1.4\" \\\n", - " \"tensorstore==0.1.82\" \\\n", - " \"terminado==0.18.1\" \\\n", - " \"tinycss2==1.4.0\" \\\n", - " \"tornado==6.5.1\" \\\n", + " \"tensorstore==0.1.85\" \\\n", " \"tqdm==4.67.3\" \\\n", - " \"traitlets==5.7.1\" \\\n", - " \"typing-extensions==4.15.0\" \\\n", - " \"typing-inspection==0.4.2\" \\\n", - " \"tzdata==2026.1\" \\\n", + " \"typing-extensions==4.16.0\" \\\n", + " \"typing-inspection==0.4.4\" \\\n", + " \"tzdata==2026.3\" \\\n", " \"uri-template==1.3.0\" \\\n", " \"urllib3==2.5.0\" \\\n", - " \"wcwidth==0.6.0\" \\\n", + " \"wcwidth==0.8.2\" \\\n", " \"webcolors==25.10.0\" \\\n", - " \"webencodings==0.5.1\" \\\n", - " \"websocket-client==1.9.0\" \\\n", - " \"widgetsnbextension==3.6.10\" \\\n", - " \"wrapt==2.1.2\" \\\n", - " \"yarl==1.23.0\" \\\n", - " \"zarr==2.18.7\" \\\n", + " \"yarl==1.24.5\" \\\n", + " \"zarr==3.1.5\" \\\n", " \"zarr-checksum==0.4.7\"" ] }, @@ -225,10 +154,22 @@ "cell_type": "markdown", "id": "59864afa46c343bf", "metadata": {}, - "source": "# Pagan Lab — Behavioral Data\n\nThis notebook demonstrates how to access behavioral data from\n**[DANDI:001550](https://dandiarchive.org/dandiset/001550)**, a dataset of\n16,113 sessions from Long-Evans rats performing multi-sensory decision-making tasks.\n\nSessions are streamed directly from the DANDI Archive — no local download needed.\n\n**Reference:** Pagan et al., *Nature* 639, 421–429 (2025).\ndoi:[10.1038/s41586-024-08433-6](https://doi.org/10.1038/s41586-024-08433-6)" + "source": [ + "# Pagan Lab — Behavioral Data\n", + "\n", + "This notebook demonstrates how to access behavioral data from\n", + "**[DANDI:001550](https://dandiarchive.org/dandiset/001550)**, a dataset of\n", + "16,113 sessions from Long-Evans rats performing multi-sensory decision-making tasks.\n", + "\n", + "Sessions are streamed directly from the DANDI Archive — no local download needed.\n", + "\n", + "**Reference:** Pagan et al., *Nature* 639, 421–429 (2025).\n", + "doi:[10.1038/s41586-024-08433-6](https://doi.org/10.1038/s41586-024-08433-6)" + ] }, { "cell_type": "code", + "execution_count": 1, "id": "setup", "metadata": { "ExecuteTime": { @@ -236,18 +177,37 @@ "start_time": "2026-04-14T13:27:46.104723Z" } }, - "source": "import numpy as np\nimport pandas as pd\nfrom matplotlib import pyplot as plt\nfrom pynwb import NWBHDF5IO\nfrom ndx_structured_behavior.plot import (\n plot_events,\n plot_actions,\n plot_states,\n compute_state_transition_matrix,\n)\nfrom dandi.dandiapi import DandiAPIClient\nimport remfile\nimport h5py\n\nDANDISET_ID = \"001550\"\nASSET_PATH = \"sub-P100/sub-P100_ses-TaskSwitch6-190423a.nwb\"", "outputs": [], - "execution_count": 1 + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "from matplotlib import pyplot as plt\n", + "from pynwb import NWBHDF5IO\n", + "from ndx_structured_behavior.plot import (\n", + " plot_events,\n", + " plot_actions,\n", + " plot_states,\n", + " compute_state_transition_matrix,\n", + ")\n", + "from dandi.dandiapi import DandiAPIClient\n", + "import remfile\n", + "import h5py\n", + "\n", + "DANDISET_ID = \"001550\"\n", + "ASSET_PATH = \"sub-P100/sub-P100_ses-TaskSwitch6-190423a.nwb\"" + ] }, { "cell_type": "markdown", "id": "60ce2b44d97a4e74", "metadata": {}, - "source": "## 1. Stream the NWB file from DANDI\n" + "source": [ + "## 1. Stream the NWB file from DANDI\n" + ] }, { "cell_type": "code", + "execution_count": 18, "id": "load-nwb", "metadata": { "ExecuteTime": { @@ -255,6 +215,7 @@ "start_time": "2026-04-14T13:32:46.555502Z" } }, + "outputs": [], "source": [ "with DandiAPIClient() as client:\n", " asset = client.get_dandiset(DANDISET_ID, \"draft\").get_asset_by_path(ASSET_PATH)\n", @@ -264,32 +225,26 @@ "h5_file = h5py.File(file_system, \"r\")\n", "io = NWBHDF5IO(file=h5_file)\n", "nwbfile = io.read()" - ], - "outputs": [], - "execution_count": 18 + ] }, { "cell_type": "markdown", "id": "12db6bf7734b422e", "metadata": {}, - "source": "## 2. Session and subject metadata" + "source": [ + "## 2. Session and subject metadata" + ] }, { + "cell_type": "code", + "execution_count": 14, + "id": "372c5e7cf2a51864", "metadata": { "ExecuteTime": { "end_time": "2026-04-14T13:31:00.181767Z", "start_time": "2026-04-14T13:31:00.158064Z" } }, - "cell_type": "code", - "source": [ - "print(f\"Session ID : {nwbfile.session_id}\")\n", - "print(f\"Session start time : {nwbfile.session_start_time}\")\n", - "print(f\"Subject ID : {nwbfile.subject.subject_id}\")\n", - "print(f\"Experimenter : {nwbfile.experimenter}\")\n", - "print(f\"Session description : {nwbfile.session_description}\")" - ], - "id": "372c5e7cf2a51864", "outputs": [ { "name": "stdout", @@ -306,10 +261,17 @@ ] } ], - "execution_count": 14 + "source": [ + "print(f\"Session ID : {nwbfile.session_id}\")\n", + "print(f\"Session start time : {nwbfile.session_start_time}\")\n", + "print(f\"Subject ID : {nwbfile.subject.subject_id}\")\n", + "print(f\"Experimenter : {nwbfile.experimenter}\")\n", + "print(f\"Session description : {nwbfile.session_description}\")" + ] }, { "cell_type": "code", + "execution_count": 15, "id": "7ca8c49c58514c93", "metadata": { "ExecuteTime": { @@ -317,12 +279,6 @@ "start_time": "2026-04-14T13:31:01.502478Z" } }, - "source": [ - "print(\"Subject ID: \", nwbfile.subject.subject_id)\n", - "print(\"Species: \", nwbfile.subject.species)\n", - "print(\"Strain: \", nwbfile.subject.strain)\n", - "print(\"Sex: \", nwbfile.subject.sex)" - ], "outputs": [ { "name": "stdout", @@ -335,16 +291,26 @@ ] } ], - "execution_count": 15 + "source": [ + "print(\"Subject ID: \", nwbfile.subject.subject_id)\n", + "print(\"Species: \", nwbfile.subject.species)\n", + "print(\"Strain: \", nwbfile.subject.strain)\n", + "print(\"Sex: \", nwbfile.subject.sex)" + ] }, { "cell_type": "markdown", "id": "task-metadata-header", "metadata": {}, - "source": "## 3. Task metadata\n\nThe `Task` object in `nwbfile.lab_meta_data[\"task\"]` stores the vocabulary of states, events, and actions used in this session." + "source": [ + "## 3. Task metadata\n", + "\n", + "The `Task` object in `nwbfile.lab_meta_data[\"task\"]` stores the vocabulary of states, events, and actions used in this session." + ] }, { "cell_type": "code", + "execution_count": 19, "id": "event-types", "metadata": { "ExecuteTime": { @@ -352,7 +318,6 @@ "start_time": "2026-04-14T13:32:57.153887Z" } }, - "source": "task = nwbfile.lab_meta_data[\"task\"]\n\nprint(\"=== Event types (port pokes) ===\")\ndisplay(task.event_types[:])\n\nprint(\"=== Action types (sounds / outputs) ===\")\ndisplay(task.action_types[:])\n\nprint(\"=== State types ===\")\ndisplay(task.state_types[:])", "outputs": [ { "name": "stdout", @@ -363,13 +328,6 @@ }, { "data": { - "text/plain": [ - " event_name\n", - "id \n", - "0 C\n", - "1 L\n", - "2 R" - ], "text/html": [ "
\n", "