Published July 30, 2026 | Version v3.3.0

zarr-developers/zarr-python: v3.3.0

  • 1. @developmentseed
  • 2. Cambridge University Hospitals
  • 3. CEA
  • 4. @earth-mover
  • 5. @Quansight-Labs
  • 6. @openmicroscopy @German-BioImaging @image-coop
  • 7. @scalableminds
  • 8. @NVIDIA
  • 9. Quansight
  • 10. Earthmover PBC
  • 11. NVIDIA
  • 12. Helmholtz Zentrum
  • 13. Maven Securities
  • 14. EPFL / Logitech
  • 15. @coiled

Description

What's Changed

  • Allow s3 testing in face of ambient AWS credentials by @chuckwondo in https://github.com/zarr-developers/zarr-python/pull/3947
  • ci: run all of xarray's tests in downstream workflow by @maxrjones in https://github.com/zarr-developers/zarr-python/pull/3940
  • chore(deps): bump the actions group across 1 directory with 12 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/3930
  • chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/zarr-developers/zarr-python/pull/3943
  • chore(zarr-metadata): bump version to 0.1.1 by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3949
  • refactor: simplify internal chunk representation by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3899
  • Fix V3 time types by @chuckwondo in https://github.com/zarr-developers/zarr-python/pull/3955
  • chore: fix ability to run mypy via hatch by @chuckwondo in https://github.com/zarr-developers/zarr-python/pull/3952
  • Fix minor typos by @kabilar in https://github.com/zarr-developers/zarr-python/pull/3957
  • chore(deps): bump the actions group with 5 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/3951
  • deprecate blosc enums by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3963
  • BUG: Fix empty Group nodes lacking a "consolidated_metadata" field by @TomAugspurger in https://github.com/zarr-developers/zarr-python/pull/3967
  • fix(zarr-metadata): model stored metadata more closely by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3962
  • fix: allow writing to 0-dimensional arrays with sharding by @NIK-TIGER-BILL in https://github.com/zarr-developers/zarr-python/pull/3966
  • chore(deps): bump the actions group with 2 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/3970
  • chore: run mypy from developer environment by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3972
  • feat:get_ranges by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3925
  • chore: remove warning on fixed length utf32 by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3979
  • misc(zarr-metadata): typed constants and fixes by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3978
  • chore: cd workflow by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3935
  • perf: cache default ArraySpec for regular chunk grids by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3908
  • refactor(sharding): store chunks_per_shard explicitly in _ShardIndex by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3975
  • docs: update link to developer chat by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3980
  • feat(zarr-metadata): partial metadata types by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3982
  • chore(zarr-metadata): set up a changelog by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3981
  • Optimize partial shard reads by @aldenks in https://github.com/zarr-developers/zarr-python/pull/3004
  • Do not install CuPy on darwin by @chuckwondo in https://github.com/zarr-developers/zarr-python/pull/3988
  • chore(zarr-metadata): prepare for 0.2.0 release by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3986
  • Widen ChunksLike type alias by @chuckwondo in https://github.com/zarr-developers/zarr-python/pull/3990
  • fix: match v* when extracting a zarr version from git tags by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3994
  • feat: subchunk write order by @ilan-gold in https://github.com/zarr-developers/zarr-python/pull/3826
  • prune old string dtype class by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3973
  • fix: compare metadata objects by JSON form by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3999
  • Run doctests via pytest and fix broken doctests. by @chuckwondo in https://github.com/zarr-developers/zarr-python/pull/4000
  • fix(FsspecStore): close owned async filesystem on store.close() by @josh-ag2 in https://github.com/zarr-developers/zarr-python/pull/4003
  • chore(deps): bump the actions group across 1 directory with 8 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4014
  • fix: use hatch's default env so the uv installer is inherited by @lhoupert in https://github.com/zarr-developers/zarr-python/pull/4023
  • chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/zarr-developers/zarr-python/pull/4024
  • docs: test more code snippets in docs by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4018
  • chore(deps-dev): bump uv from 0.11.14 to 0.11.15 in the uv group across 1 directory by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4019
  • refactor: remove random subchunk ordering by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4011
  • fix: make xarray downstream tests work by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4043
  • test: add property tests for block and mask indexing by @maxrjones in https://github.com/zarr-developers/zarr-python/pull/4054
  • refactor: use backported sentinel type by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4046
  • chore(deps): bump aiohttp from 3.13.5 to 3.14.0 in the uv group across 1 directory by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4031
  • Revert "fix: make xarray downstream tests work" by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4047
  • chore: indexing test cleanup by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4001
  • refactor/consolidated JSON IO routines by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3998
  • chore(deps): bump the actions group with 3 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4058
  • Modify custom dtype example to use only public API by @chuckwondo in https://github.com/zarr-developers/zarr-python/pull/4052
  • fix: copy attributes passed from the user to avoid mutation by @stibrew in https://github.com/zarr-developers/zarr-python/pull/4060
  • docs: add core-developer self-merge policy by @maxrjones in https://github.com/zarr-developers/zarr-python/pull/4053
  • fix![zarr-metadata]: define JSONValue type, and narrow object annotations to use JSONValue by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4037
  • perf: cache lexicographic chunk coords in sharding codec by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4012
  • deprecate more enums by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3968
  • fix: update OSPO action references to canonical org path by @zkoppert in https://github.com/zarr-developers/zarr-python/pull/3856
  • chore(deps): bump tornado from 6.5.5 to 6.5.6 in the uv group across 1 directory by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4062
  • harden developer environment by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4066
  • chore(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0 in the actions group by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4071
  • chore(deps): bump the python-dependencies group with 14 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4072
  • chore(deps): bump tornado from 6.5.6 to 6.5.7 by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4067
  • chore(deps): bump cryptography from 48.0.0 to 48.0.1 by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4070
  • chore(deps): bump aiohttp from 3.14.0 to 3.14.1 by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4069
  • Claude/storage codec bugfixes by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4074
  • chore(deps): bump bleach from 6.3.0 to 6.4.0 by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4081
  • Control sharding codec read coalescing with ArrayConfig and runtime config options by @aldenks in https://github.com/zarr-developers/zarr-python/pull/3987
  • chore(deps-dev): bump the python-dependencies group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4080
  • allow roundtripping the BytesCodec by @keewis in https://github.com/zarr-developers/zarr-python/pull/3417
  • feat![zarr-metadata]: extensive top-level exports by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4083
  • zarr metadata 0.3.0 by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4084
  • Claude/py312 modernizations by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4087
  • chore(deps): bump CodSpeedHQ/action from 4.17.0 to 4.17.5 in the actions group by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4079
  • chore: add rectilinear hypothesis block indexing tests by @maxrjones in https://github.com/zarr-developers/zarr-python/pull/4075
  • chore(deps): bump pydantic-settings from 2.14.1 to 2.14.2 by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4089
  • chore: dependabot only updates direct dependencies by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4090
  • chore(deps): bump msgpack from 1.1.2 to 1.2.1 by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4088
  • test: pytest cleanups / modernization by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4093
  • fix(testing): correct delete_dir prefix matching in stateful tests by @NIK-TIGER-BILL in https://github.com/zarr-developers/zarr-python/pull/4002
  • chore(deps): bump the actions group with 3 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4097
  • Remove struct unstable warning by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4100
  • chore: test correctness fixes by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4094
  • Fix save/load for scalar arrays by @gaoflow in https://github.com/zarr-developers/zarr-python/pull/4103
  • docs: add reviewer guidance and author attestation to PR template by @maxrjones in https://github.com/zarr-developers/zarr-python/pull/4106
  • docs: document zarr.errors changes in the v3 migration guide by @NIK-TIGER-BILL in https://github.com/zarr-developers/zarr-python/pull/4110
  • refactor(testing): call super().init in LatencyStore by @maxrjones in https://github.com/zarr-developers/zarr-python/pull/4102
  • Claude/internal simplifications by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4105
  • Fix minor documentation issues by @DimitriPapadopoulos in https://github.com/zarr-developers/zarr-python/pull/4120
  • fix: keep element order when writing F-contiguous chunks with vlen codecs by @oldrobotdev in https://github.com/zarr-developers/zarr-python/pull/4116
  • test: consolidate vlen F-contiguous regression tests by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4122
  • chore(deps): bump the actions group with 5 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4114
  • chore(deps): bump joserfc from 1.6.5 to 1.6.8 by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4123
  • chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/zarr-developers/zarr-python/pull/4125
  • Remove broken badge by @DimitriPapadopoulos in https://github.com/zarr-developers/zarr-python/pull/4121
  • docs: fix CacheStore max_age_seconds docstring default by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4133
  • chore(deps): bump the actions group with 3 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4135
  • ci: stop dependabot updates targeting support/v2 by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4136
  • docs: fix errors and improve consistency across the documentation by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4132
  • test: pass a list, not a generator, to parametrize in test_docs by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4138
  • docs: clarify difference between load and open in docstrings by @SAY-5 in https://github.com/zarr-developers/zarr-python/pull/3984
  • chore(deps): bump the python-dependencies group across 1 directory with 13 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4137
  • test: bind moto server to an ephemeral port to fix xdist deadlock by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4139
  • test: enable pytest strict mode, fix duplicate parametrization ids, and add 10m timeout to individual tests by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4140
  • perf: use sync methods for chunk encoding / decoding by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/3885
  • test: ignore Python 3.15 fork-with-threads DeprecationWarning in test_multiprocessing by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4143
  • fix: skip object store prefix markers in list_dir by @AMBRA7592 in https://github.com/zarr-developers/zarr-python/pull/4117
  • fix: byte-order handling for structured dtypes in the bytes codec by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4142
  • chore: add Ilan Gold to the team list by @ilan-gold in https://github.com/zarr-developers/zarr-python/pull/4145
  • docs: 3.3.0 release notes by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4148
  • chore: CI worfklows for linting docs by @maxrjones in https://github.com/zarr-developers/zarr-python/pull/4076
  • chore: cleanup indentation and guidance for release by @maxrjones in https://github.com/zarr-developers/zarr-python/pull/4153
  • chore(deps): bump the actions group across 1 directory with 6 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4152
  • Fix/memorystore buffer aliasing by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4157
  • chore: refine link checker configuration by @maxrjones in https://github.com/zarr-developers/zarr-python/pull/4158
  • fix(store): don't close a shared filesystem in FsspecStore.close() by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4165
  • chore(deps): bump setuptools from 82.0.1 to 83.0.0 by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4176
  • chore(deps): bump pillow from 12.2.0 to 12.3.0 by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4169
  • chore(deps): bump the actions group with 3 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4181
  • feat: ZipStore accepts open binary file-like objects by @jhamman in https://github.com/zarr-developers/zarr-python/pull/4187
  • feat: add type-safe get_array and get_group methods to AsyncGroup and Group by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4128
  • feat(zarr-metadata): Zarr metadata model layer by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4119
  • fix: let open_like create arrays by default by @goutamadwant in https://github.com/zarr-developers/zarr-python/pull/4146
  • fix: keep FusedCodecPipeline compute off the event-loop thread by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4194
  • fix(ArraySpec): proper and robust equality semantics for ArraySpec by checking fill_value for byte-identicality, fixes #3054. by @sehoffmann in https://github.com/zarr-developers/zarr-python/pull/4183
  • fix: make benchmark page-cache clearing opt-in, never prompt for sudo by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4200
  • perf(indexing): speed up sorted 1-D coordinate selections by @selmanozleyen in https://github.com/zarr-developers/zarr-python/pull/4172
  • fix: FusedCodecPipeline falls back to async path for sharded arrays with async-only inner codecs by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4179
  • fix: fused pipeline falls back for partial-mixin codecs without sync partial methods by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4201
  • fix: FusedCodecPipeline must apply outer AA/BB codecs on partial paths by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4202
  • fix(fused codec pipeline): bulk shard decode must only engage for identity full reads by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4203
  • docs(zarr-metadata): standalone documentation site; add package justfile by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4208
  • docs(zarr-metadata): docs-site polish: repo link, titles, RTD build skips, branding by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4210
  • chore(zarr-metadata): build 0.4.0 changelog by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4211
  • docs: fix link checker errors and warnings; run weekly by @maxrjones in https://github.com/zarr-developers/zarr-python/pull/4214
  • fix: ManagedMemoryStore sync methods must respect the path prefix by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4204
  • fix: minor correctness and hygiene fixes from the sync-pipeline audit by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4205
  • chore(deps): bump the python-dependencies group across 1 directory with 11 updates by @dependabot[bot] in https://github.com/zarr-developers/zarr-python/pull/4216
  • fix: reject malformed chunk keys in DefaultChunkKeyEncoding by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4219
  • fix: explicit store sync-IO capability; wrappers forward it; LatencyStore fixes by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4206
  • docs: add dev blog, update 3.3.0 release notes by @d-v-b in https://github.com/zarr-developers/zarr-python/pull/4191

New Contributors

  • @chuckwondo made their first contribution in https://github.com/zarr-developers/zarr-python/pull/3947
  • @kabilar made their first contribution in https://github.com/zarr-developers/zarr-python/pull/3957
  • @NIK-TIGER-BILL made their first contribution in https://github.com/zarr-developers/zarr-python/pull/3966
  • @josh-ag2 made their first contribution in https://github.com/zarr-developers/zarr-python/pull/4003
  • @lhoupert made their first contribution in https://github.com/zarr-developers/zarr-python/pull/4023
  • @stibrew made their first contribution in https://github.com/zarr-developers/zarr-python/pull/4060
  • @zkoppert made their first contribution in https://github.com/zarr-developers/zarr-python/pull/3856
  • @gaoflow made their first contribution in https://github.com/zarr-developers/zarr-python/pull/4103
  • @oldrobotdev made their first contribution in https://github.com/zarr-developers/zarr-python/pull/4116
  • @SAY-5 made their first contribution in https://github.com/zarr-developers/zarr-python/pull/3984
  • @AMBRA7592 made their first contribution in https://github.com/zarr-developers/zarr-python/pull/4117
  • @goutamadwant made their first contribution in https://github.com/zarr-developers/zarr-python/pull/4146
  • @sehoffmann made their first contribution in https://github.com/zarr-developers/zarr-python/pull/4183
  • @selmanozleyen made their first contribution in https://github.com/zarr-developers/zarr-python/pull/4172

Full Changelog: https://github.com/zarr-developers/zarr-python/compare/v3.2.1...v3.3.0

Files

zarr-developers/zarr-python-v3.3.0.zip

Files (1.5 MB)

Name Size Download all
md5:4f4e3c52351d9cc6a4f7853be5eebf67
1.5 MB Preview Download

Additional details

Related works