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

Uploaded Python 3

File details

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

File metadata

  • Download URL: intake_virtual_icechunk-0.0.6.tar.gz
  • Upload date:
  • Size: 232.7 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.6.tar.gz
Algorithm Hash digest
SHA256 fa409a1408e810e244c069b972fa890164d6ed08aa161cc286114f9578d23f89
MD5 9886c76f8f93f2c9f01e9807fdbeaa7c
BLAKE2b-256 3ca4398c224a1c5faf68e1e6a821a2c478eff85f2d7983e804abac22455bd8a1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for intake_virtual_icechunk-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5d186ee1e50e3b8ce2aaed11f3364c91aa0f970c8963428e7c73eeb116f0e28d
MD5 7febfb9889a61c73224baae41435cbe3
BLAKE2b-256 838097c23f9f71b68d560f0c77ad1d75bd85a4c7fd2d2afdd46db146c6479176

See more details on using hashes here.

Provenance

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