Skip to content

API reference

The modules are layered: the transform algebra at the bottom, chunk resolution and the wire format built on top of it.

The transform algebra

  • zarr_indexing.domainIndexDomain, a rectangular region of integer coordinates with an explicit (possibly non-zero) origin
  • zarr_indexing.output_mapConstantMap, DimensionMap, and ArrayMap: three representations of a set of integer coordinates, one per storage dimension
  • zarr_indexing.transformIndexTransform, which pairs a domain with output maps, plus the indexing ([...], .oindex, .vindex), intersect, and translate operations, and selection_to_transform
  • zarr_indexing.compositioncompose, which chains two transforms into one

Chunk resolution

  • zarr_indexing.chunk_resolutioniter_chunk_transforms (transform + chunk grid → per-chunk transforms) and sub_transform_to_selections (the bridge back to the selection tuples the current codec pipeline expects)
  • zarr_indexing.gridDimensionGridLike, the Protocol describing the narrow chunk-grid surface chunk resolution consumes, so that nothing here imports zarr

The ndsel wire format (see the guide)

Errors

  • zarr_indexing.errors — the canonical index-error types, which zarr.errors re-exports by identity

Every name listed in zarr_indexing.__all__ is re-exported at the top level, so from zarr_indexing import IndexTransform and from zarr_indexing.transform import IndexTransform are equivalent.