Skip to content

StorageFormat enum - usage and naming #44

Description

@bogovicj

This issue discusses updates and changes to the StorageFormat enum, which is used by N5Factory to explicitly request a reader or writer of a particular type.

This issue is a fleshing out of @mkitti 's comment here saalfeldlab/n5-ij#116

Proposals

  1. We should add ZARR3 to the enum to more clearly refer to Zarr v3.

Questions

  1. ZARR will remain, what should its behavior be?

Details

Proposal 1 (add ZARR3)

When we updated this repo to support Zarr v3, we added ZARR2 to the enum to refer to Zarr v2, intending that ZARR refer to the latest version (v3). This probably should be clearer though

Question 1 (Behavior of ZARR)

  • Option A: always refers to the latest version \
    • existing code using ZARR to mean zarr v2 may not work as expected
  • Option B: uses keys (.zgroup / .zarray / zarr.json) to decide between v2 and v3 if the container already exists, else uses the latest version if a writer is requested
    • in this case using a StorageFormat does not specify a format (the initial purpose of the enum) Proposals
    • this behavior is identical to not providing a StorageFormat

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions