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.8.tar.gz (251.8 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.8-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: intake_virtual_icechunk-0.0.8.tar.gz
  • Upload date:
  • Size: 251.8 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.8.tar.gz
Algorithm Hash digest
SHA256 87d4cd91bdc59ad394578cc3086f3aefb7348c05d42703cac489aba58ab32ad5
MD5 739a59097dea141b2742f8d3671db329
BLAKE2b-256 c6583e5d92378fda159cfa0ad946f817a2a8044f5426bf14848625d2c05a2554

See more details on using hashes here.

Provenance

The following attestation bundles were made for intake_virtual_icechunk-0.0.8.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.8-py3-none-any.whl.

File metadata

File hashes

Hashes for intake_virtual_icechunk-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 e38c349fce8f76e31f8aee7d50fb917d3d987d8ec17ac1bb895bf5ada0f884e9
MD5 519c1e02a28d4918e248bbc4bc829e19
BLAKE2b-256 349b297c1311cf5212e76347d83f5f4c02c24f3706069f0b54be4ca0b2721545

See more details on using hashes here.

Provenance

The following attestation bundles were made for intake_virtual_icechunk-0.0.8-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