intake-virtual-icechunk
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:
- Open a pre-built intake-esm datastore with intake-esm.
- For each dataset in the catalog, open the constituent files with VirtualiZarr to create virtual references — no data is copied.
- Write each dataset as a named Zarr group inside one Icechunk store, using the
catalog's
groupby_attrsto derive the group name. - 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 anxarray.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
- 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. - Reading (
IcechunkSource) — an intake driver for opening a group from an Icechunk store as anxarray.Datasetviaintake.open_virtual_icechunk().
Installation
pip install intake-virtual-icechunk
License
Apache-2.0. See LICENSE for details.
Release files for intake-virtual-icechunk 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| intake_virtual_icechunk-0.2.2.tar.gz | 278.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| intake_virtual_icechunk-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:320.7 kB
Release files / intake_virtual_icechunk-0.2.2.tar.gz
| Download URL | intake_virtual_icechunk-0.2.2.tar.gz |
|---|---|
| Size | 278.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
104ae50242ff443f40a51ad6beea0bf20532448a91e3f400356f0bd83d3ff700
|
|
BLAKE2b-256 checksum How to use checksums |
28723ff11f71eaf70475c5144d12c50991ffce0e8e73f050a7c5b6399798cb38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 26, 2026.
Transparency logRelease files / intake_virtual_icechunk-0.2.2-py3-none-any.whl
| Download URL | intake_virtual_icechunk-0.2.2-py3-none-any.whl |
|---|---|
| Size | 42.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0d4427b28cfa04db39709d319540f84ee839a00c9b7692433cf93ae0decf3326
|
|
BLAKE2b-256 checksum How to use checksums |
1380e2495736138d5936508dfe142ecdf4973ef014e10477c32e83251a1111cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 26, 2026.
Transparency log