Skip to main content

A small, prototypical zarrita-like Python Zarr implementation on top of zarrs.

Project description

zarrista

PyPI

A low-level Zarr API for Python, inspired by zarrita.js, powered from Rust by Zarrs. Serving up Zarr chunks like your favorite barista!

This has been minimally vibe-coded: mostly but not fully written by hand. Some areas were prototyped with Claude.

This project is for evaluation, to consider whether natively binding to Zarrs can provide better performance. It is not yet production ready.

Documentation

Documentation website.

Features

  • Low-level, explicit Zarr access: open arrays and groups, read chunks, and inspect metadata without hidden machinery.
  • Both sync and async APIs (Array / AsyncArray, Group / AsyncGroup).
  • Rust core via Zarrs for compiled performance.
  • NumPy integration: read data into NumPy arrays through the buffer protocol for zero-copy sharing between Rust and Python.
  • Variety of data access
    • AWS S3, Google Cloud Storage, Azure Storage via Obstore
    • Icechunk integration
  • Full type hinting for all operations.

Example

Open a store, then open an Array from it:

from zarrista import Array, FilesystemStore

store = FilesystemStore("data/example.zarr")
array = Array.open(store, path="/temperature")

Inspect the array's metadata:

array.shape
# [720, 1440]

array.dtype
# DataType(float32)

array.dimension_names
# ["lat", "lon"]

Read a subset of the array. Indexing returns a Data buffer, which converts to a NumPy array:

data = array[0:128, 0:128]
arr = data.to_numpy()
arr.shape
# (128, 128)

You can also read individual chunks by their grid index:

data = array.retrieve_chunk([0, 0])

Development

Requires a Rust toolchain and Python 3.11+. We use uv and maturin.

# Create a dev environment and install the dev dependencies
uv sync --no-install-package zarrista

# Build the Rust extension and install it into the environment (debug build)
uv run --no-project maturin develop --uv

# Or, in release mode:
uv run --no-project maturin develop --uv --release

# Run the tests
uv run --no-project pytest

The --no-project is annoying but unavoidable in our current setup. Otherwise uv will try to build the rust library in release mode, as a dependency of the project before reaching uv sync or uv run.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zarrista-0.1.0b5.tar.gz (206.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

zarrista-0.1.0b5-cp314-cp314t-win_amd64.whl (15.5 MB view details)

Uploaded CPython 3.14tWindows x86-64

zarrista-0.1.0b5-cp314-cp314t-musllinux_1_2_x86_64.whl (23.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

zarrista-0.1.0b5-cp314-cp314t-musllinux_1_2_aarch64.whl (22.1 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

zarrista-0.1.0b5-cp314-cp314t-manylinux_2_28_x86_64.whl (16.4 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

zarrista-0.1.0b5-cp314-cp314t-manylinux_2_28_aarch64.whl (15.6 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

zarrista-0.1.0b5-cp314-cp314t-macosx_11_0_arm64.whl (14.4 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

zarrista-0.1.0b5-cp314-cp314t-macosx_10_12_x86_64.whl (16.0 MB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

zarrista-0.1.0b5-cp311-abi3-win_amd64.whl (15.5 MB view details)

Uploaded CPython 3.11+Windows x86-64

zarrista-0.1.0b5-cp311-abi3-musllinux_1_2_x86_64.whl (23.0 MB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ x86-64

zarrista-0.1.0b5-cp311-abi3-musllinux_1_2_aarch64.whl (22.1 MB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ ARM64

zarrista-0.1.0b5-cp311-abi3-manylinux_2_28_x86_64.whl (16.4 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ x86-64

zarrista-0.1.0b5-cp311-abi3-manylinux_2_28_aarch64.whl (15.6 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

zarrista-0.1.0b5-cp311-abi3-macosx_11_0_arm64.whl (14.5 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

zarrista-0.1.0b5-cp311-abi3-macosx_10_12_x86_64.whl (16.0 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

Details for the file zarrista-0.1.0b5.tar.gz.

File metadata

  • Download URL: zarrista-0.1.0b5.tar.gz
  • Upload date:
  • Size: 206.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for zarrista-0.1.0b5.tar.gz
Algorithm Hash digest
SHA256 cd71b3d4f4957ee680f999b091c7cb21f9e5fa47a5d4c02a4a0c60b92d0852aa
MD5 c99b1b0504d9eb5b7b608544d807a3d8
BLAKE2b-256 340293ffdcf915376edb8ea0c44ddd7d51ecacebbba859e88a8301fc3fcce8ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5.tar.gz:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: zarrista-0.1.0b5-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 15.5 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for zarrista-0.1.0b5-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 ba63fa68921d40a93e8ba5f2c47778745889f3306dcb1682021634aa0b6188ca
MD5 33200a5ff1ec791789edd198a579ad37
BLAKE2b-256 f621ab175578994b5a51cad52ae8e0bc514999dd17e7002559770841849438d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp314-cp314t-win_amd64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b5-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 49208732db1ddb55fc725b9bb4e4753daac43ef539534545f5157bdfb1dd82ed
MD5 68e8fa0e9a68cb3d585d36bdfe7123a0
BLAKE2b-256 2675f4a01cbd4a2ac516a43c3f6f1875312883246a538c9690780dabf1a20bc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b5-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0c94d58f23ee4de737767d778a7d8b26d33bb1fc97559f91a69cc7d022a5a5ec
MD5 559d32190214ec988554c90dd398a902
BLAKE2b-256 f028729c4e9c81214b93e77058ba1f3881653694f2cc202f35ee0a5e369cf7b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b5-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 57dceea7c50e4faaa1c9e18e089000c5f4c9f1a0608e5f776c77d6c5d246372c
MD5 b8714a8a2188609a1f46b5567b1dd5fe
BLAKE2b-256 433a648ef55c261c42931361920eca186dbae9dc6dc5e3112b3a399160dc2f7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp314-cp314t-manylinux_2_28_x86_64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b5-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 99c96ecff705b69a66c1f256203365ff5a96d67e02d22ace5a4ff5a9eee5383a
MD5 6c186044a369de1d34d3d08eecbc8cd7
BLAKE2b-256 0bd82a3035e7f458f7be6ddc327d3875b813d8fb34df05816bd118ecc02519f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp314-cp314t-manylinux_2_28_aarch64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b5-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f4860cf2cb0e219c5fa02f8fd18e3c5687738af16b3aa6c166e92a16a8c6ca22
MD5 8696b56ab430841231c0740ead848485
BLAKE2b-256 f4df12a0a5284bb56b8d660795ec3cfe7a5db51b20651ce1b1cd850fa06f7eeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp314-cp314t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b5-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e0e3e10774f4f6679a7334c6b0242792a53f3db839de17b5e4b26b2ec2b1e12f
MD5 cf811ec032916dd22ddce920c382089d
BLAKE2b-256 1a4daab18733d17b1650820ca698f7d3cd2242fbff94cc34f42a79dce1660487

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp314-cp314t-macosx_10_12_x86_64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: zarrista-0.1.0b5-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 15.5 MB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for zarrista-0.1.0b5-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7c76b9c58e8a74d91c02e101107af2da9f819f590de85fc25e5af4fcd3612d83
MD5 cd8e0966e07838e4fc45c5ee833c9c21
BLAKE2b-256 68125bdd3fd3b6ed06378934e5a2b6289884d09e7dfa91474925a3530cc7e1aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp311-abi3-win_amd64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp311-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b5-cp311-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6a8305bad20bf91bfce1db964e3eac5d0941e339575fdf696cf1f0d5b1bb83ff
MD5 da096cb37f6ea60974d22643799e1431
BLAKE2b-256 ba3710d1269cdea8de67f1d2ba26408c788c40d2387a2e323b296fb694ebe7ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp311-abi3-musllinux_1_2_x86_64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp311-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b5-cp311-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c224706e3e0164c55d2c1ed44ea7aaa96521fff836e343d20618a5323d0817f8
MD5 1ccf6eb105f37c5ba8de5c0cfdd31fbb
BLAKE2b-256 2c4a7c06ba0cc7fa9c9def44dca1778644c9d1ec74c327f8e5e22c358ce23bec

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp311-abi3-musllinux_1_2_aarch64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b5-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 922a25ead7d89c9b5f779359b029432d8465413c078fa3ce1a2c067434b4cd6c
MD5 8bc4954ea9f1b678dda99e9b46e3a1ac
BLAKE2b-256 e1f26e7b2cb7f1f3a7c273dad49ca9d78f3ed253aa4588fbb2c2a36f9c4a4cbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp311-abi3-manylinux_2_28_x86_64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp311-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b5-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 523a9ec1c4ac7ca88f0cc8433faef0fe07485cd0d2e8dac9fa662286bbe3c59a
MD5 001c128be42d664646c444683f9a7fe0
BLAKE2b-256 543d5098eac8718aa371f3dadc1612758b23ed8b0b1890526ad7994df5488458

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp311-abi3-manylinux_2_28_aarch64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b5-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6d6db298c80d865f8e4d1cb209e4ca6b47023736b10e744826eb6f1872dadbe5
MD5 2e7a1e95a9eef503c98b0d7205ca4bb7
BLAKE2b-256 205a5fefbfc6c680501a849b93e24d13dabd7f51511cc43182b422b9ab1fdf62

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp311-abi3-macosx_11_0_arm64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zarrista-0.1.0b5-cp311-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b5-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 104524ea0dbf72f2d7c86af5c2d3fafccf9ff28ab01b7f25f92e7564fc64193b
MD5 0dd7bebc9436129c6c37850df87f574b
BLAKE2b-256 babcb2d892b180985f646912a8b89d4af0197b55b53cccf34eb79dc67a5358b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b5-cp311-abi3-macosx_10_12_x86_64.whl:

Publisher: python-wheels.yml on developmentseed/zarrista

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page