Skip to main content

An intake plugin for building and reading Icechunk stores via VirtualiZarr and intake-esm

Project description

intake-virtual-icechunk

[!WARNING] This package has been scaffolded by Claude but not all of the implementation is complete yet. APIs, class names, and behaviour are all subject to change.

An intake plugin for building and reading Icechunk stores via VirtualiZarr and intake-esm.

Concept

The goal is a pipeline that takes a pre-built intake-esm datastore and produces a single virtual Icechunk store that mirrors its structure:

  1. Open a pre-built intake-esm datastore with intake-esm.
  2. For each dataset in the catalog, open the constituent files with VirtualiZarr to create virtual references — no data is copied.
  3. Write each dataset as a named Zarr group inside one Icechunk store, using the catalog's groupby_attrs to derive the group name.
  4. Expose the result through an intake driver (virtual_icechunk) that hides all Icechunk-specific complexity (sessions, stores, branches) behind an interface that feels like a hybrid of an esm-datastore and an xarray.Dataset — defaulting to Xarray semantics wherever possible, and falling back to esm-datastore conventions only where necessary (e.g. catalog search and group selection).

The end result is one Icechunk store, one group per dataset, fully virtual (no data duplication), and accessible via intake.open_virtual_icechunk().

This package provides two things

  1. Building (IcechunkStoreBuilder) — given a pre-built intake-esm catalog, creates virtual references with VirtualiZarr and writes each dataset as a named Zarr group inside a single Icechunk store.
  2. Reading (IcechunkSource) — an intake driver for opening a group from an Icechunk store as an xarray.Dataset via intake.open_virtual_icechunk().

Installation

pip install intake-virtual-icechunk

License

Apache-2.0. See LICENSE for details.

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

intake_virtual_icechunk-0.0.10.tar.gz (252.2 kB view details)

Uploaded Source

Built Distribution

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

intake_virtual_icechunk-0.0.10-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

Details for the file intake_virtual_icechunk-0.0.10.tar.gz.

File metadata

  • Download URL: intake_virtual_icechunk-0.0.10.tar.gz
  • Upload date:
  • Size: 252.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for intake_virtual_icechunk-0.0.10.tar.gz
Algorithm Hash digest
SHA256 320085e0676082c54b193d1534a0dae36410203d123b244411bec681775bf640
MD5 e436ece9ca1e1daaef4e82e9df2f61a5
BLAKE2b-256 c8dabfe28603695e020b41201e2c7869f0790ec5f63e0fce0b0808443829c83d

See more details on using hashes here.

Provenance

The following attestation bundles were made for intake_virtual_icechunk-0.0.10.tar.gz:

Publisher: cd.yml on ACCESS-NRI/intake-virtual-icechunk

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

File details

Details for the file intake_virtual_icechunk-0.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for intake_virtual_icechunk-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 68edb3e5042fb21f76f8ff25a9c1bf53fbcb9363619df9c24d839fb971dd23f3
MD5 9735ba0a61df314f86e9de54de58ae37
BLAKE2b-256 508e5c003b29200d165709769a0df3a13f98e3816436cc6e47ea0fdc63116b52

See more details on using hashes here.

Provenance

The following attestation bundles were made for intake_virtual_icechunk-0.0.10-py3-none-any.whl:

Publisher: cd.yml on ACCESS-NRI/intake-virtual-icechunk

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