Cap zarr to < 3 until zarr 3 support is implemented#1856
Closed
candleindark wants to merge 1 commit into
Closed
Conversation
The codebase uses zarr 2.x APIs (e.g. `zarr.errors.PathNotFoundError` in `dandi/files/zarr.py`). The previous cap of `<= 3.1.5` advertised zarr 3 support that does not actually exist; until today, hdmf-zarr (a transitive dep via nwbinspector) pinned `zarr<3`, hiding this. nwbinspector 0.7.2 moved hdmf-zarr into an optional extra, so the resolver started picking zarr 3.1.5 and the latent incompatibility surfaced as 11 test failures on the daily scheduled run. This tightens the cap to match what the code actually supports. A follow-up issue tracks proper zarr 3 support. Co-Authored-By: Claude Code 2.1.144 / Claude Opus claude-opus-4-7 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1856 +/- ##
==========================================
+ Coverage 76.24% 76.26% +0.01%
==========================================
Files 87 87
Lines 12512 12512
==========================================
+ Hits 9540 9542 +2
+ Misses 2972 2970 -2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Closed
Member
|
I (well -- I&claude) am working out a more thorough solution -- we do want to keep allowing zarr 3. backstory: We (with @kabilar ) did raise upper version but it was not in effect due to hdmf-zarr blocking it via nwbexpector dependency for us. That was addressed and thus we started to upgrade into that zarr 3. |
|
🚀 Issue was released in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The codebase uses zarr 2.x APIs (e.g.
zarr.errors.PathNotFoundErrorindandi/files/zarr.py:460). The dependency capzarr <= 3.1.5advertised zarr 3 support that does not actually exist in the code.Until 2026-05-19 this was masked because
hdmf-zarr(pulled in transitively vianwbinspector) pinnedzarr < 3.nwbinspector0.7.2, released 2026-05-19, movedhdmf-zarrinto an optional[zarr]extra. The resolver then began honoring this project's own (too-loose) cap and installedzarr 3.1.5, surfacing the latent incompatibility as 11 failing tests on the daily scheduled run (e.g. job 76815825089).This PR tightens the cap to match what the code actually supports. A follow-up issue will track proper zarr 3 support.
Test plan
Successfully installedlines between the last green and first red scheduled runs (zarr 2.18.7 → 3.1.5; nwbinspector 0.7.1 → 0.7.2)