Skip to content

refactor: extract legacy storage interfaces into zarr-storage - #4318

Draft
d-v-b wants to merge 2 commits into
zarr-developers:mainfrom
d-v-b:codex/extract-zarr-storage
Draft

refactor: extract legacy storage interfaces into zarr-storage#4318
d-v-b wants to merge 2 commits into
zarr-developers:mainfrom
d-v-b:codex/extract-zarr-storage

Conversation

@d-v-b

@d-v-b d-v-b commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Summary

This is an LLM-authored PR that copies our store APIs into a subpackage called zarr-storage. This subpackage would be published and versioned separately from zarr. All store APIs from zarr are found in zarr-storage in a legacy module.

This PR contains no changes to zarr. If this PR works, then we would make zarr depend on zarr-storage, and re-export symbols as needed to ensure that no public API changes. A later step would be to develop a new, improved store API in zarr-storage, while preserving the legacy API indefinitely for existing users.

see the original PR, with an AI-authored description, here: d-v-b#325

For reviewers

Happy to bikeshed the layout of zarr_storage.legacy, or explain the motivation for copying these APIs! I started a Zulip thread#Zarr-Python > subpackaging store and codec APIs specifically about this direction, in case folks want a more conversational dialogue.

See also

Author attestation

  • I am a human, these are my changes, and I have reviewed and understood every change and can explain why each is correct.

TODO

  • Add unit tests and/or doctests in docstrings
  • Add docstrings and API docs for any new/modified user-facing classes and functions
  • New/modified features documented in docs/user-guide/*.md
  • Changes documented as a new file in changes/
  • GitHub Actions have all passed
  • Test coverage is 100% (Codecov passes)

@github-actions github-actions Bot added the needs release notes Automatically applied to PRs which haven't added release notes label Sep 6, 2026
@codecov

codecov Bot commented Sep 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.23%. Comparing base (9c29a0d) to head (17a3360).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4318      +/-   ##
==========================================
+ Coverage   94.21%   94.23%   +0.01%     
==========================================
  Files          92       92              
  Lines       12871    12880       +9     
==========================================
+ Hits        12127    12137      +10     
+ Misses        744      743       -1     

see 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs release notes Automatically applied to PRs which haven't added release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant