Skip to content

Ambiguous zarr - #50

Merged
cmhulbert merged 9 commits into
mainfrom
ambiguousZarr
Apr 7, 2026
Merged

Ambiguous zarr#50
cmhulbert merged 9 commits into
mainfrom
ambiguousZarr

Conversation

@cmhulbert

Copy link
Copy Markdown
Collaborator

Introduces ZARR3 as an explicit zarr v3 storage format. Also repurposed ZARR to mean generally "prefer the newest zarr version, but fallback in order"

This also introduces openReader/Writer(KeyValueAccessBackend, URI) methods, and deprecates the numerous backend-specific method (openGoogleCloudReader/Writer, openAwsReader/Writer, etc.)

@cmhulbert
cmhulbert requested a review from bogovicj April 3, 2026 18:04
@cmhulbert cmhulbert assigned bogovicj and unassigned cmhulbert Apr 3, 2026
the purpose of these methods is to more flexibly support backend specific N5Reader/Writers without needing to introduce new methods for each type.
 To that end, this also deprecates the various backend specific methods

Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
ZARR storage previously referred to zarr 2. given the update to support zarr 3, ZARR3 was introduced. However, ZARR should still exists as a "generic zarr" format that prefers the newest zarr version. The behavior of ZARR is as follows

For readers in order:
- return a Zarr3 reader
- else return a Zarr2 reader

For Writers, in order of attempt:
- if the location contains a zarr3 container, try to open a zarr3 writer
- else if the location contains a zarr2 container, try to open a zarr2 writer
- else if there is no existing zarr container, attempt to create a Zarr3 container.
- if a Zarr3 container could not be created, create a zarr2 container.

Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
…riter method. normalizeUri only for cache keys, not for creating the reader/writer

Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
Signed-off-by: Caleb Hulbert <cmhulbert@gmail.com>
@cmhulbert

Copy link
Copy Markdown
Collaborator Author

closes #44

@cmhulbert
cmhulbert merged commit 866afa3 into main Apr 7, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants