Register bwm_lfp as an official, opt-in agent dataset - #26
Conversation
Adds standard-compression-tier-only LFP dataset support: a `--lfp` flag on scripts/download_datasets.py that downloads, sha1-verifies, and registers lf_compressed_all_bwm.h5, authoring schema.yaml/provenance.yaml/manifest.json so it plugs into the same data_locations/schema.yaml dataset registry as bwm_ephys/bwm_behavior. lfpack is an optional `lfp` extra rather than a core dependency. Includes docs, skill routing for LFPackReader, a release validator, and tests. References #12.
ruff 0.16.0 changed its default rule set, surfacing ~368 pre-existing violations across unrelated files and breaking CI; cap the dev extra until those are cleaned up separately. Also add tool.uv.required-environments so the resolver can produce a universal lock across macOS arm64, Linux x86_64 (CI), and Windows without choking on the win32-only PyQt5-Qt5 constraint.
The SHA1 hash in the original commit was incorrect. The actual file on S3 has hash b84edd4b98602bec96279c3a9e42170c65dd48a6, not 2aa88d3ba52cabc89ccd345b846eecaa02cfebc6. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
|
@oliche I reviewed this and pushed commit
I added regression tests for both paths. Local validation is clean: |
|
@oliche I completed a direct audit of the published Dataset evidence:
The commit corrects the schema/docs/runtime guidance and extends release validation to measure and enforce |
|
Thanks, LGTM ! I linked the commit to int-brain-lab/lfpack#8, as I'll need to update both the dataset, the SHA1 and this documentation when I'll fix the synchronization for the 7 datasets ! |
|
Got it. In any case, great work! Very exciting that we could get the LFP under 15 GB! |
Summary
bwm_lfpdataset (standard-compression tier only):scripts/download_datasets.py --lfpdownloads, sha1-verifies, and registerslf_compressed_all_bwm.h5, authoringschema.yaml/provenance.yaml/manifest.jsonso it resolves through the samedata_locations/schema-based registry asbwm_ephys/bwm_behavior.lfpackis an optionallfpextra, not a core dependency; skills (ibl-neuropixel,ibl-load) tell the agent to offeruv sync --extra lfpon demand rather than assume it's installed.docs/bwm/lfp.md, ascripts/validate_bwm_lfp_release.pyrelease validator, andCHANGELOG.md/CHANGELOG_DATA.mdentries.Test plan
uv run ruff check .uv run pytest -q(one pre-existing, unrelated failure confirmed present onmaintoo — an environment quirk from localdata_locations.local.yaml, not touched by this change)download_lfp_file/_write_lfp_sidecarsandvalidate_bwm_lfp_release.pyagainst a faked dataset dir--lfpdownload (~14 GB) and validator against the actual archive before mergingCloses/references #12.