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 none 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.2.tar.gz (146.3 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.2-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: intake_virtual_icechunk-0.0.2.tar.gz
  • Upload date:
  • Size: 146.3 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.2.tar.gz
Algorithm Hash digest
SHA256 a69fdb2b332e282c97eebdb0cc88e8fd2ef038c2fa6a04240ba353cb578696cf
MD5 7fd80ede35539d259700511c9efc822e
BLAKE2b-256 2e774edeb4423b1488b38db18feab373dcab580085bf165b4f463d441d231226

See more details on using hashes here.

Provenance

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

Publisher: cd.yml on charles-turner-1/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.2-py3-none-any.whl.

File metadata

File hashes

Hashes for intake_virtual_icechunk-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4bf025df72871ebd308341b550bca4086806485bb25fdc49c5bd76f3c33faa2f
MD5 cc794d6f2a6166c5eaff1a9c8f57a21d
BLAKE2b-256 c43092aebfaeb0bbb8a2ed9ece931af836cf5159ffa8a65b477a29bca1ddf54a

See more details on using hashes here.

Provenance

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

Publisher: cd.yml on charles-turner-1/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