Skip to content

chore!: remove zarr.tree and the Array.compressor properties - #4521

Merged
maxrjones merged 4 commits into
zarr-developers:mainfrom
maxrjones:refactor/remove-3.0-deprecations
Nov 9, 2026
Merged

maxrjones merged 4 commits into
zarr-developers:mainfrom
maxrjones:refactor/remove-3.0-deprecations

Conversation

@maxrjones

Copy link
Copy Markdown
Member

Summary

zarr.tree and Array.compressor were deprecated in 3.0.0 and were scheduled for removal in 3.2.0 by #3325. The rest of that #3325 shipped in 3.2.0 through #3900-#3903.

Removed:

  • zarr.tree, zarr.api.synchronous.tree, zarr.api.asynchronous.tree. Use Group.tree / AsyncGroup.tree.
  • Array.compressor and AsyncArray.compressor. Use Array.compressors.

The warning-only test for zarr.tree is gone, and the v2 compressor assertions in tests/test_v2.py now use compressors.

The zarr.storage.default_compressor shim from the same #3325 list is left alone, since #4505 removes it.

For reviewers

Would be good to get a +1 on following through with these removals

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)

Both were deprecated in 3.0.0 and were scheduled for removal in 3.2.0
by zarr-developers#3325. The rest of that PR shipped in 3.2.0 through zarr-developers#3900-zarr-developers#3903;
these did not, and nothing recorded a new date for them.

Removed:
- zarr.tree, zarr.api.synchronous.tree, zarr.api.asynchronous.tree.
  Use Group.tree / AsyncGroup.tree.
- Array.compressor and AsyncArray.compressor. Use Array.compressors.

The warning-only test for zarr.tree is gone, and the v2 compressor
assertions in tests/test_v2.py now use `compressors`.

The zarr.storage.default_compressor shim from the same zarr-developers#3325 list is
left alone; zarr-developers#4505 removes it.
@maxrjones maxrjones changed the title chore!: Remove zarr.tree and the Array.compressor properties chore!: remove zarr.tree and the Array.compressor properties Oct 17, 2026
@codecov

codecov Bot commented Nov 8, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.85%. Comparing base (9783489) to head (3b8581d).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4521   +/-   ##
=======================================
  Coverage   94.85%   94.85%           
=======================================
  Files          96       96           
  Lines       14004    13985   -19     
=======================================
- Hits        13283    13266   -17     
+ Misses        721      719    -2     
Files with missing lines Coverage Δ
src/zarr/__init__.py 97.82% <ø> (ø)
src/zarr/api/asynchronous.py 97.24% <ø> (-0.04%) ⬇️
src/zarr/api/synchronous.py 95.45% <ø> (-0.33%) ⬇️
src/zarr/core/array.py 98.60% <ø> (+0.16%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@maxrjones
maxrjones merged commit 9d20d44 into zarr-developers:main Nov 9, 2026
44 checks passed
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