You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
zarr-metadata: v3 metadata as (document, context) — design spec
zarr-metadata: v3 metadata as (document, context)
Status: design approved in conversation 2026-10-06; spec awaiting review.
Builds on the 370→382 stack and the repair layer (d-v-b/zarr-python#391).
Problem
A v3 metadata model is read in a scope (Context): the definitions that
decide what each extension name means. Today the model does not keep its
scope. Each field (Read/Unclaimed) keeps the definition that read it, but
zarr-python store API: the design gaps behind #4450, and archives versus stores
🤖 AI text below 🤖
zarr-python store API: the design gaps behind #4450, and archives versus stores
Written by an agent (Claude Code) at Davis Bennett's request, 2026-09-29, after seven adversarial review rounds of zarr-developers/zarr-python#4450. The archive/store distinction in the second half is Davis's.
The bugs fixed in #4450 come from five gaps in the Store base class, not from ZipStore alone. The 4.0 plan in zarr-python-planning already closes four of them for stateless stores, and keeps ZipStore as a writable, resource-holding exception; every ZipStore item still in the plan reproduces a bug the PR fixed. Distinguishing key-value archives, written whole, from key-value stores, which mutate individual keys, removes the exception: ZipStore becomes an archive with a pack() step, and the plan's open lifecycle question closes.
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
zarr-python FusedCodecPipeline demo: sharded IO perf (memory/local) + gzip worker utility, with a chunk-partitioning table
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
AI contribution policies in open source: a survey of ~25 projects (2026-07-10)
🤖 AI text below 🤖
AI contribution policies in open source: a survey
Originally surveyed on 2026-07-10 while rewriting zarr-python's contribution guidelines. The original research and prose were by Claude Code (claude-opus-4.8), directed and reviewed by Davis Bennett.
Corrected and updated on 2026-09-13 by Codex (GPT-6), at Davis Bennett's request. This revision is AI-written; the original human-review statement above does not attest to human review of this revision. The correction preserves the policy-design context while replacing unsupported generalizations and checking the comparisons below against primary sources.
zarr-python thin metadata refactor — plan 1: upstream models into zarr-metadata
Thin Metadata Refactor — Part 1: Upstream Metadata Models into zarr-metadata
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.
Goal: Add a zarr_metadata.model subpackage — frozen-dataclass models that are canonical, lossless representations of Zarr v2/v3 metadata documents — by porting the prototyped array models from ~/dev/zng/zng_metadata and adding new group/consolidated models, so a later zarr-python PR can consume them.
Architecture:zarr_metadata.model sits on top of the existing raw TypedDicts (ArrayMetadataV3, GroupMetadataV3, ConsolidatedMetadataV3, ZGroupMetadata, ...). Every v3 extension point is a ZarrMetadataV3 (name + configuration) value. Models do structural validation only; no codec/dtype/grid interpretation. One PR against d-v-b/zarr-pythonmain.
Narrow the scope of the array/group metadata classes to one job: forming a
canonical, lossless representation of the JSON metadata documents. Everything
the metadata classes currently do beyond that — instantiating codecs, chunk
Version: 1
Date: 2026-07-01
Status: design (pending review)
Context: the lazy-indexing branch (#3906) makes Array.lazy[...] return a zarr.Array
whose _transform is non-identity — a view onto a subset of the backing array that
generally does not tile evenly into the backing chunk grid.