Skip to content

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

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

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

Conversation

@d-v-b

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

Copy link
Copy Markdown
Owner

🤖 AI text below 🤖

Start the extraction of the existing codec API into an independently packaged zarr-codec distribution. zarr_codec.legacy reproduces the current codec base classes, partial-IO mixins, sync capabilities, and CodecPipeline, preserving signatures and inherited behavior. This provides a namespace for the existing contracts while future API designs can coexist separately.

Context for this extraction:

These are design and migration references; this draft is an initial extraction and does not complete the proposed API redesign or remove the remaining dependency on zarr.

This is an initial extraction draft: shared foundations still come from zarr, so the package temporarily depends on it. Zarr must not depend on this distribution until that dependency is removed. The copied classes have distinct identities, and Zarr's existing entry points do not yet recognize them as their own nominal base classes. Concrete implementations and Zarr runtime imports are unchanged; there are no deprecations or new interfaces.

Includes package documentation, wheel/sdist configuration, signature-parity and behavioral tests, and package-specific CI for Python 3.12/3.14, including tests against built wheels.

Validation: 15 package tests pass independently on Python 3.12 against the current fork main; the original combined extraction passed all 35 tests against built wheels on Python 3.12 and 3.14. Ruff, workflow lint, and commit hooks pass.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant