Skip to main content

Integrity checks and creation helpers for Zarr v3 stores

Project description

xzarrguard

xzarrguard provides concise APIs and a CLI to validate completeness of local Zarr v3 stores and create stores with explicit no-data policy.

Install

PyPI: pip install xzarrguard
conda: conda install xzarrguard
from source: pip install .

Install-free CLI usage

uv: uvx xzarrguard check /path/to/store.zarr
pixi: pixi exec xzarrguard check /path/to/store.zarr

API quickstart

from xzarrguard import check_store, create_store

report = check_store("store.zarr")
if report:
    print("store is complete")
create_store(
    dataset,
    "store.zarr",
    no_data_chunks={"temperature": [(0, 0)]},
    no_data_strategy="manifest",
)

Write and guard in one step (wrapper around .to_zarr()):

from xzarrguard import guarded_to_zarr

guarded_to_zarr(dataset, "store.zarr")

In-place metadata-only guard update (no chunk rewrite):

create_store(
    None,
    "store.zarr",
    no_data_chunks={"temperature": [(0, 0)]},
    in_place_metadata_only=True,
)

Treat the current store as baseline and derive allowed-missing chunks from what is currently missing:

create_store(
    None,
    "store.zarr",
    in_place_metadata_only=True,
    infer_no_data_from_store=True,
)

CLI quickstart

xzarrguard check store.zarr
xzarrguard create source.zarr target.zarr --no-data no_data.json
xzarrguard create store.zarr --in-place-metadata-only --no-data no_data.json
xzarrguard create store.zarr --in-place-metadata-only --infer-no-data-from-store

Coverage

pytest

pytest prints terminal coverage and writes coverage.xml.

Documentation

https://j-haacker.github.io/xzarrguard/

zensical serve
zensical build --clean

Channels

Release (maintainers)

# bump src/xzarrguard/_version.py first
python -m build
python -m twine check dist/*
python -m twine upload dist/*

Use a PyPI API token for upload (for example TWINE_USERNAME=__token__). For conda-forge, update recipe/recipe.yaml after the PyPI release (fixed version + PyPI sdist URL + sha256), then submit a recipe/feedstock PR.

Acknowledgement: Initial scaffolding and implementation assistance by OpenAI Codex.

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

xzarrguard-0.1.1.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

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

xzarrguard-0.1.1-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file xzarrguard-0.1.1.tar.gz.

File metadata

  • Download URL: xzarrguard-0.1.1.tar.gz
  • Upload date:
  • Size: 20.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for xzarrguard-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bc971fe8d30aa8d7461efadfb355529a3dea6bc74c5dfeb11dc0859126065203
MD5 1031cc616753c688cd42530f115d249c
BLAKE2b-256 c64eabc67d6d93f28921eed7c70546e5b5038fd083bdae20c7400ba5b8478000

See more details on using hashes here.

Provenance

The following attestation bundles were made for xzarrguard-0.1.1.tar.gz:

Publisher: pypi-publish.yml on j-haacker/xzarrguard

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

File details

Details for the file xzarrguard-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: xzarrguard-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for xzarrguard-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 53101e6eb62b22233d9a8d04b1b579d75717434cf81ddc85e8d672a7c326fae9
MD5 8b2ebca5f3fd90ccf12839dc6a171f09
BLAKE2b-256 6a48fc9c961fbda1808276f2cf9a4998ecdab20f6742cb26e41dc8fd4aa6e7f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for xzarrguard-0.1.1-py3-none-any.whl:

Publisher: pypi-publish.yml on j-haacker/xzarrguard

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