Skip to content

refactor: extract legacy codec interfaces into zarr-codec - #4319

Draft
d-v-b wants to merge 1 commit into
zarr-developers:mainfrom
d-v-b:codex/extract-zarr-codec
Draft

refactor: extract legacy codec interfaces into zarr-codec#4319
d-v-b wants to merge 1 commit into
zarr-developers:mainfrom
d-v-b:codex/extract-zarr-codec

Conversation

@d-v-b

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

Copy link
Copy Markdown
Contributor

Summary

AI-written creation of a zarr_codec subpackage that contains our codec APIs. That subpackage would be published and versioned separately from zarr. All current zarr functionality is accessible by importing stuff from the zarr_codec.legacy module.

This PR does not change zarr. Making zarr depend on zarr-codec would happen later, after we stand up the package. This will allow us to develop a new codec API while keeping our old one available indefinitely.

The original AI-written PR is here: d-v-b#326

For reviewers

we can bikeshed the layout of zarr-codec.legacy, or discuss the motivation for subpackaging the codec API. In case you want to chat about this direction more conversationally, I started a Zulip thread#Zarr-Python > subpackaging store and codec APIs.

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 (cfbe662).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4319      +/-   ##
==========================================
+ 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