Skip to content

fix(zarr-metadata): accept the generic time unit in v2 time dtypes - #422

Draft
d-v-b wants to merge 2 commits into
mainfrom
fix/zarr-metadata-generic-time-unit
Draft

d-v-b wants to merge 2 commits into
mainfrom
fix/zarr-metadata-generic-time-unit

Conversation

@d-v-b

@d-v-b d-v-b commented Oct 29, 2026

Copy link
Copy Markdown
Owner

🤖 AI text below 🤖

Accepted the generic time unit in Zarr format 2 time dtypes: NUMPY_TIME_UNITS gains "generic", NumPy's unit-less unit, which NumPy parses in brackets (<M8[generic]) though its own dtype.str omits it, so the v2 reader accepts the bracketed generic spellings zarr-python writes — <M8[generic], and the scaled form <m8[2generic]. A unit is still required: the unitless <M8 stays refused, as the v2 spec demands.

The v3 unit tuple (NUMPY_TIME_UNIT) appended "generic" to the shared tuple and now reuses it unchanged, so v3 behavior is identical. The canonical spelling preserves generic as written, like every unit other than the μs alias.

This is the zarr-metadata half of zarr-developers#4580; the zarr-python half (writing the bracketed form instead of the unitless typestr) is #421. Closing the seam for zarr-python's document model requires a zarr-metadata release carrying this change.

🤖 Generated with Claude Code

d-v-b added 2 commits October 29, 2026 15:17
NUMPY_TIME_UNITS gains "generic", NumPy's unit-less unit, which NumPy
parses in brackets (<M8[generic]) though its own dtype.str omits it, so
the v2 reader accepts the bracketed generic spellings zarr-python
writes (<M8[generic], <m8[2generic]). The v3 unit tuple already carried
generic and now reuses the shared tuple unchanged. A unit is still
required: the unitless <M8 stays refused, as the v2 spec demands.

Refs zarr-developers#4580

Assisted-by: ClaudeCode:claude-fable-5
Assisted-by: ClaudeCode:claude-fable-5

This branch has not been deployed

No deployments
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