Add support for rectilinear (variable-sized) chunk grids. This feature is experimental and
must be explicitly enabled via zarr.config.set({'array.rectilinear_chunks': True}).
Rectilinear chunks can be used through:
- Creating arrays: Pass nested sequences (e.g.,
[[10, 20, 30], [50, 50]]) tochunksinzarr.create_array,zarr.from_array,zarr.zeros,zarr.ones,zarr.full,zarr.open, and related functions, or tochunk_shapeinzarr.create. - Opening existing arrays: Arrays stored with the
rectilinearchunk grid are read transparently viazarr.openandzarr.open_array. - Rectilinear sharding: Shard boundaries can be rectilinear while inner chunks remain regular.
Breaking change: The validate method on BaseCodec and CodecPipeline now receives
a ChunkGridMetadata instance instead of a ChunkGrid instance for the chunk_grid
parameter. Third-party codecs that override validate and inspect the chunk grid will need to
update their type annotations. No known downstream packages were using this parameter.