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.0b6.tar.gz (206.3 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.0b6-cp314-cp314t-win_amd64.whl (15.5 MB view details)

Uploaded CPython 3.14tWindows x86-64

zarrista-0.1.0b6-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.0b6-cp314-cp314t-musllinux_1_2_aarch64.whl (22.1 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

zarrista-0.1.0b6-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.0b6-cp314-cp314t-manylinux_2_28_aarch64.whl (15.6 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14tmacOS 10.12+ x86-64

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

Uploaded CPython 3.11+Windows x86-64

zarrista-0.1.0b6-cp311-abi3-musllinux_1_2_x86_64.whl (23.1 MB view details)

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

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

Uploaded CPython 3.11+musllinux: musl 1.2+ ARM64

zarrista-0.1.0b6-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.0b6-cp311-abi3-manylinux_2_28_aarch64.whl (15.6 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.11+macOS 11.0+ ARM64

zarrista-0.1.0b6-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.0b6.tar.gz.

File metadata

  • Download URL: zarrista-0.1.0b6.tar.gz
  • Upload date:
  • Size: 206.3 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.0b6.tar.gz
Algorithm Hash digest
SHA256 e3106ba031fa002851815c487c9c48db77ff470c56a898b5dab3a473d5fd7896
MD5 af8f9eae9fe3454131d5b0ec73c8d777
BLAKE2b-256 6a72f0a97299236b5b9816729fabacd0a2eac68416aa986f2b079f3ea94f9934

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6.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.0b6-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: zarrista-0.1.0b6-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.0b6-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 32c90b58278cea1241532d55f57d7f163041273ae56cb195c48984105f0024ce
MD5 2c1b2feb6bb38770c90492ece6eb7e00
BLAKE2b-256 d11adc39ccf604f1a5385fccbde585d8136714d18c59167dfac838074042f131

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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.0b6-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b6-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 23c1cd63b29557a8eebdbec19399e6306f47afb26ab4bc3bcf60b5e9a3864b8d
MD5 80a5241cf5afad36e439b7cb789d88fc
BLAKE2b-256 4ed6105e4eb3fa6cb6f3b7da5b496ec190c09a2e625f0d1c0cc6f6947097461f

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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.0b6-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b6-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0e68e8b95506891ea990b2c4496632f14be614a8a8dc797a7a69d62b793b82d0
MD5 c22b15b059603614ece41ed1a5cea957
BLAKE2b-256 6f189352f29a94a053f4bcdf8907b6eda12af3058096e9c93c814888f01be383

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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.0b6-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b6-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 27f3e201cebc540923285b5780186e75e1dc72ef9b1eb5de9c805a357043dca8
MD5 f15d8dc592dc205aea7ae2ef9b8eab8f
BLAKE2b-256 383d7b771edb2dde33af5293379569dc4ca2443ef0b14a3f5d506433e1f09470

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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.0b6-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b6-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f7cab3675cafe66cc836ae6af47948ecfca88eb34ab05d8fb16be67b66f990a9
MD5 942f08d4f57735c9c1f8f1d6ff4bb122
BLAKE2b-256 6835fa69eb675d9f6abf33d686acc5f3ce2d2864d05f6c2b9d2bd56981b31091

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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.0b6-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b6-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5befe7867cdf7509175dafee0ee72e97a802a998e68656ba9420f857f3f59c63
MD5 79be675ca69cc7a472f58939fac7a136
BLAKE2b-256 8b16b9a2ffc72a3c9c1e1654e40d228fb07ad439ec520f18ba2389dcdc14da35

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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.0b6-cp314-cp314t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b6-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 07baa9fd95726786849259b4418e1b7db135946854bcd421d67fa4b4cbdd1358
MD5 c6a25ac7b6bd0223eb38ea734749ace6
BLAKE2b-256 a1e7906e6292626d8653787820c8f6fbdb01004efb17d69ddc300c19e142f127

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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.0b6-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: zarrista-0.1.0b6-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.0b6-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1bb2d8fb7cd5d7afd775bec11fdedf365a2ce4099a8b6456c457d999c6f2d98a
MD5 872e453cbb32be2d33ab4656d7abdbf0
BLAKE2b-256 2eb08aee9ba7e90a1b19a207e9780eed1a045f15e43c3954d6c3255a5eabd9ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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.0b6-cp311-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b6-cp311-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a8dba676589f55ea8ebf54b3fd3341a1f8f5ec4732aad95cd7db535779056d92
MD5 c7541c5e5e443c2287761c0978ea3a5d
BLAKE2b-256 9a7f25691b3484489ecd695cc03b21857f04e43b1372c36e698debb354c44ce6

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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.0b6-cp311-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b6-cp311-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2a5cd7a4f7bd8603402693efd22b142df31ea96495f1a42c7fd785679bf567e5
MD5 0ab34284fed60276cf50bb8dcddd04b4
BLAKE2b-256 530579cf0f9d24de39dacc186562b292f5e2a2da292d466b4ebe90e029784012

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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.0b6-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b6-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 91cd1c2c7b871cff6325b0b50aa14e91d32f366d1ff0f732d6a04a9cf097566d
MD5 a5d494599ce8e42f197ac92fc90d7421
BLAKE2b-256 f776df886cdd1b6eb31308ad24e4ca287a38cabf677a2395824e75b6f97af444

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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.0b6-cp311-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b6-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3f36ab3833ed75fb241d3a42706cce337408fe355424d24b1c4802be7c1b0cf8
MD5 c8bfb132ad8e5b15cd22c9001ceb6f2f
BLAKE2b-256 dcf2b72627cef91791f695c6ecf19d9732d8eb0ac83b3a90277c2394ef5dda05

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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.0b6-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b6-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 501b925113076c0494bc739014d021dcfccd22e5f0629baf881ba79364f5c911
MD5 6f39c12d29cf12b3633458bcefdaa63a
BLAKE2b-256 e84af59b2796aa5246c19b7f3999cf7a06ad37fceeb20d1d1c63db55a7f16ec0

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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.0b6-cp311-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for zarrista-0.1.0b6-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eaca52f49d27262db205b5659dba678b8dc2b87bb5767c87ba92e3ee7e9f61ed
MD5 b4fed746da01abbfe07714ef37afc64a
BLAKE2b-256 bb508c5bed3adf3b3fe829e2744e09f9ead0947cfa3471f8ac6f669adf1c63c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for zarrista-0.1.0b6-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