Skip to content

abczarr.drivers.zarrista

The zarrista backend driver.

This module opens a Zarr v3 array or group through zarrista, a small pure-Python Zarr v3 implementation, and wraps it as a ZarrArray or a ZarrGroup so it reads and writes through the uniform surface. A group is read straight from the store by PathGroup, while each of its arrays is opened through zarrista.

Classes

ZarristaNode

ZarristaNode(store_path: PathLike)

Bases: ZarrNode

The base class shared by the zarrista array and group adapters.

zarrista keeps no user attributes of its own. Both node types read attributes from their cached metadata. A write persists by rewriting the metadata document through the store, the same persistence path ZarrNode defines.

ZarristaArray

ZarristaArray(array: Any, location: PathLike)

Bases: ZarristaNode, ZarrArray

A ZarrArray backed by a zarrista array.

Its shape, dtype and chunking come from the Zarr metadata. Reads and writes go through zarrista. The underlying zarrista.Array is reachable as native.

Attributes

metadata property
metadata: Any
zarr_version property
zarr_version: ZarrVersion
ndim property
ndim: int
shape property
shape: Shape
dtype property
dtype: DTypeLike
chunks property
chunks: Shape
shards property
shards: Shape | None

Methods:

__getitem__
__getitem__(index: Any) -> ArrayLike
__setitem__
__setitem__(index: Any, value: ArrayLike) -> None

ZarristaGroup

ZarristaGroup(store_path: PathLike, mode: str = 'r')

Bases: ZarristaNode, PathGroup

The group returned when the zarrista driver opens a Zarr group.

This class relies on PathGroup to read the group's own metadata and list the names of its members straight from the store, while each child array is opened through zarrista. A subgroup is another ZarristaGroup, so an entire hierarchy is reachable from a single opened group.

ZarristaDriver

Bases: Driver

The zarrista backend, as a driver.

This driver reports the v3 codecs zarrista reads and writes, and opens a v3 array or group through zarrista itself.

Attributes

name class-attribute instance-attribute
name = 'zarrista'
available property
available: bool

Methods:

capability
capability(capability: str) -> Support