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.9.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.9-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: intake_virtual_icechunk-0.0.9.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.9.tar.gz
Algorithm Hash digest
SHA256 5d4c11041c3038bd9d9de6acc40472b159603f478409a8eacfbbd24d3a170f45
MD5 5a8154e39c7f00b92ed1d57f76ff6566
BLAKE2b-256 315ccfbb6198352d926c10fb1d29753ed8b856505d617f2ec051c0095f451c10

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for intake_virtual_icechunk-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 7ec37acd1d45e6bfa469571719770ca941d2762c7c599ead745b258214e9eb17
MD5 62b0972c3598a0f8222e4cb1bac78603
BLAKE2b-256 ab0cb8c9ef34abe3599aafe7f3b4a6f9fc8239c2e7c2e847ad1b678f461457ca

See more details on using hashes here.

Provenance

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