Skip to content

docs: add roadmap page outlining future plans#4149

Draft
d-v-b wants to merge 3 commits into
zarr-developers:mainfrom
d-v-b:docs/roadmap
Draft

docs: add roadmap page outlining future plans#4149
d-v-b wants to merge 3 commits into
zarr-developers:mainfrom
d-v-b:docs/roadmap

Conversation

@d-v-b

@d-v-b d-v-b commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Adds a Roadmap page to the documentation describing the goals for the
next major cycle of work ("v4"), the intended changes per theme, and
the three-stream release model (additive minors, deprecations, one
minimal removals-only major), with an option for a legacy module.

Assisted-by: ClaudeCode:claude-fable-5

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.

d-v-b added 2 commits July 15, 2026 09:56
Adds a Roadmap page to the documentation describing the goals for the
next major cycle of work ("v4"), the intended changes per theme, and
the three-stream release model (additive minors, deprecations, one
minimal removals-only major).

Assisted-by: ClaudeCode:claude-fable-5
@d-v-b

d-v-b commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

cc @ilan-gold @maxrjones, opening this as a draft for visibility. lmk if there's anything more or less we should say here

@ilan-gold

ilan-gold commented Jul 16, 2026

Copy link
Copy Markdown
Contributor
Screenshot 2026-07-16 at 17 06 53

This doesn't lead me where I thought it would, somehow linking to an old page

Comment thread docs/roadmap.md
Zarr-Python around the stack, so that each level is something you can depend
on, conform to, or replace, without buying every other level:

- **A focused package per level** — `zarr-metadata`, `zarr-store`,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would maybe note the zarrs example here

Comment thread docs/roadmap.md
Comment on lines +58 to +60
complementary rather than competitive: Zarr-Python aims to be the best
pure-Python Zarr implementation *and* the best wrapper around the
compiled-language implementations, so that users who need native throughput can

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm really conflicted on this, because I think baking fragmentation into the ecosystem is not great, but the flipside is that languages may have different features/advantages. It would be great to have a concrete reason (or list of reasons) as to why we would design around this level of extensibility

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good points, I'd say we want the backend to be an extension point for a few reasons:

  • we always want a traditional python impl. IMO it's our job as the python implementation, and it keeps the ecosystem healthy to have multiple implementations
  • we can't guarantee uniform, complete feature support across all implementations. As long as we allow people to hack on stuff in python, there will be things the python impl does that e.g. a rust impl doesn't support, and that's OK. For now, a compiled backend is effectively an external dep, and we simply can't promise what external deps will do in perpetuity.
  • IMO a full backend is just an refined version of our current model, which requires extenders manage buffer prototypes, data type implementations, codec implementations, and store implementations. Consolidating all of this pluggability on a single surface should make extending Zarr Python easier even for other python backends (like a cupy backend, or a pysparse backend)

Comment thread docs/roadmap.md

### Codecs

The current codec API wraps every codec in an unnecessary async layer (a

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not anymore!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants