Skip to content

fix(indexing): delegate source tokenization to Dask - #4348

Merged
d-v-b merged 17 commits into
zarr-developers:mainfrom
d-v-b:codex/indexing-token-contract
Sep 14, 2026
Merged

d-v-b merged 17 commits into
zarr-developers:mainfrom
d-v-b:codex/indexing-token-contract

Conversation

@d-v-b

@d-v-b d-v-b commented Sep 13, 2026 •

Copy link
Copy Markdown
Contributor

🤖 AI text below 🤖

LazyArray.__dask_tokenize__ delegates source tokenization to dask.base.tokenize and combines that token with the serialized view transform. Dask owns source hashing, registered normalizers, custom hooks, and deterministic-token requirements.

Remove the local hashing and UUID fallbacks. Dask is imported only when tokenization is requested; indexing and reading still work without it. The reader and partitioning remain outside the token under their value-preservation contract.

Tests cover source delegation, equal and distinct views, strict deterministic-token errors, hook errors, optional Dask availability, and the normal dask.array.from_array path over Zarr sources. The changelog uses PR number 4348.

Validation: 1,670 package tests and doctests passed with Dask and TensorStore installed; repository hooks and the strict documentation build passed. Pyright reports 0 errors and 90 warnings.

Correct mathematical API documentation to match supported coordinate, grid, and chunk projection contracts.

Assisted-by: Codex:GPT-6
Retain the existing unsigned selector fix and update the unsupported mixed-dependency error assertion for general intersection routing.

Assisted-by: Codex:GPT-6
Use lexicographic tuple grouping when chunk indices contain negative values. Cover shared one-axis and two-axis array dependencies, repeated points, and extreme signed coordinates.

Assisted-by: Codex:GPT-6
@github-actions github-actions Bot added the needs release notes Automatically applied to PRs which haven't added release notes label Sep 13, 2026
@read-the-docs-community

read-the-docs-community Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

Remove implementation history and unsupported historical claims from source and test docstrings. Distinguish immutable coordinate mappings from mutable source values.

Assisted-by: Codex:GPT-6
@codecov

codecov Bot commented Sep 14, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.34%. Comparing base (34dd17c) to head (a26876d).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4348   +/-   ##
=======================================
  Coverage   94.34%   94.34%           
=======================================
  Files          92       92           
  Lines       12935    12935           
=======================================
  Hits        12203    12203           
  Misses        732      732           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@d-v-b d-v-b changed the title fix(indexing): define an explicit source token contract fix(indexing): delegate source tokenization to Dask Sep 14, 2026
@d-v-b
d-v-b marked this pull request as ready for review September 14, 2026 14:28
@d-v-b
d-v-b merged commit 0de6077 into zarr-developers:main Sep 14, 2026
39 checks passed
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant