Skip to content

feat(zarr-metadata): add a reader that reports declarations a reader cannot open - #4604

Merged
d-v-b merged 4 commits into
zarr-developers:mainfrom
d-v-b:claude/zarr-metadata-feedback-99aa76
Nov 8, 2026
Merged

d-v-b merged 4 commits into
zarr-developers:mainfrom
d-v-b:claude/zarr-metadata-feedback-99aa76

Conversation

@d-v-b

@d-v-b d-v-b commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Summary

this adds a function zarr_metadata.model.read_openable_node_metadata_v3 that treats unclaimed declarations on the document as errors, which means a consumer doesn't need to run that same check.

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)

d-v-b and others added 2 commits November 6, 2026 13:32
`read_openable_node_metadata_v3` reads a v3 `zarr.json` as
`read_node_metadata_v3` does and adds a problem of the new kind
`unclaimed_declaration` for each declaration a reader must understand
that nothing in scope claims: an unknown codec, data type or chunk grid,
or an unknown top-level member without `"must_understand": false`. Its
reading has no problems exactly when a reader that understands the scope
can open the node.

The other readers keep accepting unclaimed declarations, so the format
stays open; their docstrings and the parsing guide now point to
`unclaimed_declarations` and the new reader. Prompted by refkv's report
that an unknown v3 member parses without error.

Assisted-by: ClaudeCode:claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Assisted-by: ClaudeCode:claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
@github-actions github-actions Bot added needs release notes Automatically applied to PRs which haven't added release notes zarr-metadata Specific to the zarr-metadata sub-package labels Nov 8, 2026
@read-the-docs-community

read-the-docs-community Bot commented Nov 8, 2026 •

Copy link
Copy Markdown

Documentation build overview

📚 zarr-metadata | 🛠️ Build #35740014 | 📁 Comparing badca37 against latest (e6658d2)

  🔍 Preview build  

3 files changed
± parsing-validation/index.html
± api/model/index.html
± api/problems/index.html

…r upstream PR 4604

Assisted-by: ClaudeCode:claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
@d-v-b
d-v-b marked this pull request as ready for review November 8, 2026 21:55
@d-v-b
d-v-b merged commit f50cce1 into zarr-developers:main Nov 8, 2026
45 checks passed
d-v-b added a commit to d-v-b/zarr-python that referenced this pull request Nov 8, 2026
Resolves the conflict in parsing-validation.md with zarr-developers#4604: keeps that
PR's read_openable_node_metadata_v3 paragraph, written in short sentences
and saying "context" for the Context, as the rest of the page now does.

Assisted-by: ClaudeCode:claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
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 zarr-metadata Specific to the zarr-metadata sub-package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant