Repository navigation
Conversation
d-v-b
added a commit
that referenced
this pull request
Nov 3, 2026
…nt after #439 Assisted-by: ClaudeCode:claude-opus-5-5
d-v-b
added a commit
that referenced
this pull request
Nov 3, 2026
…nt after #439 Assisted-by: ClaudeCode:claude-opus-5-5
d-v-b
force-pushed
the
claude/zarr-metadata-document-strategies
branch
from
November 3, 2026 21:48
f15c9d3 to
c211013
Compare
d-v-b
added a commit
that referenced
this pull request
Nov 3, 2026
…nt after #439 Assisted-by: ClaudeCode:claude-opus-5-5
d-v-b
force-pushed
the
claude/zarr-metadata-document-strategies
branch
from
November 3, 2026 22:46
c211013 to
1b955ce
Compare
d-v-b
added a commit
that referenced
this pull request
Nov 3, 2026
…nt after #439 Assisted-by: ClaudeCode:claude-opus-5-5
d-v-b
force-pushed
the
claude/zarr-metadata-document-strategies
branch
from
November 3, 2026 23:21
1b955ce to
e9bc2fb
Compare
Add `array_documents`, `group_documents` and `consolidated_group_documents`. An array's members are drawn to fit each other: the chunk grid for the shape, the fill value for the data type, and the codecs for the grid's chunks of that data type. A consolidated listing holds each node's parent, as a group, before the node. `pipelines` takes `spellings`, as `declarations` does. A drawn document its definitions refuse raises a ValueError, and strategies with nothing to draw some member from raise a LookupError. `Spellings` and `CHARACTERS` move to `_strategy` so the new module can share them. Assisted-by: ClaudeCode:claude-opus-5-5
…nt after #439 Assisted-by: ClaudeCode:claude-opus-5-5
…venly Shapes capped axes at 2**16 and rank at 5, with a quarter of documents rank 0 and few holding a zero-length axis. Draw each rank about as often, up to 8, and axes that are zero, short, or past 32 bits. Draw a document's data type first: drawn after the shape, the first in the list was a fifth of all documents. A listed group now sometimes holds the empty listing the reference implementation writes, a fresh one for each group. New tests bound these shares. Assisted-by: ClaudeCode:claude-opus-5-5
d-v-b
force-pushed
the
claude/zarr-metadata-document-strategies
branch
from
November 4, 2026 07:51
e9bc2fb to
e8ef016
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 AI text below 🤖
Added
array_documents,group_documentsandconsolidated_group_documentstozarr_metadata.testing.strategies, which draw whole Zarr v3 documents. An array's members are drawn to fit each other: the chunk grid for the shape, the fill value for the data type, and the codecs for the grid's chunks of that data type.pipelinesnow takesspellings, asdeclarationsdoes.How the document strategies work
ValueError. Strategies with nothing to draw a required member from raise aLookupErrorthat names what is missing.spellings="canonical"applies to declarations. A fill value is drawn in every spelling its data type's spec gives it, either way.must_understandisfalse, so a reader may ignore it.Tests
ZARR_PYTHON_CONTEXT. Arrays and groups are read as drawn and after a JSON round trip, and consolidated listings as drawn.just checkis green on Python 3.11 and 3.14 (3587 passed, 3 skipped; 3590 passed).Left open
storage_transformersis drawn only as empty, because no strategy defines one.Stack
PR 3 of the strategies stack, based on
claude/zarr-metadata-nested-strategies(#416, upstream zarr-developers#4597). Merge that first, then retarget this tomain.🤖 Generated with Claude Code