Skip to main content

Classic-Intake driver for icechunk virtual stores; AIMIP-friendly defaults but reusable.

Project description

aimip-intake-icechunk

A small classic-Intake driver that opens icechunk repositories as xarray.Datasets. Defaults are tuned for the AIMIP catalog on DKRZ S3, but the driver is general — point it at any icechunk repo (local path, file:// URL, or s3://...).

import intake

# YAML catalog references it as
#   driver: aimip_intake_icechunk.IcechunkSource
#   args:
#     urlpath: s3://your-bucket/path/to/icechunk-repo
cat = intake.open_catalog("path/to/catalog.yaml")
ds = cat['my_store'].to_dask()

Or directly in Python:

from aimip_intake_icechunk import IcechunkSource

src = IcechunkSource(urlpath="s3://ai-mip/catalog/CMIP6/AIMIP/NVIDIA/cBottle-1-3/aimip/r1i1p4f1/Amon/gn")
ds = src.to_dask()

Why a separate package

Consumers of the aimip-data catalog who only need read access shouldn't have to install the build-time machinery (VirtualiZarr, icechunk's writers, the facet parser, the scanner, the YAML emitter, etc.). This driver is ~150 lines and depends only on icechunk, intake, xarray, zarr.

Install

pip install aimip-intake-icechunk

Or from a checkout of the aimip-data repo:

pip install -e packages/aimip-intake-icechunk

Defaults

For convenience, the driver defaults to the AIMIP layout:

Default Value
s3_options.endpoint_url https://s3.eu-dkrz-1.dkrz.cloud
s3_options.anonymous True
s3_options.force_path_style True
virtual_chunk_auth {"s3://ai-mip/": None} (anonymous)

Override at construction time for other deployments:

IcechunkSource(
    urlpath="s3://my-bucket/repo",
    s3_options={"endpoint_url": "https://s3.amazonaws.com", "anonymous": False},
    virtual_chunk_auth={"s3://my-bucket/": my_credentials},
)

License

MIT.

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

aimip_intake_icechunk-0.1.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aimip_intake_icechunk-0.1.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file aimip_intake_icechunk-0.1.0.tar.gz.

File metadata

  • Download URL: aimip_intake_icechunk-0.1.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for aimip_intake_icechunk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 896e83ec28e943ea7a76daba0a595f1b966bdc880ec2c3d0f838eae6b1e95625
MD5 69995ac4d0996e540136602345078c9c
BLAKE2b-256 43345fed72cc4a61da9f587f484e3eb6ca4cc2274fd4f58d1f0af1174ef1888e

See more details on using hashes here.

File details

Details for the file aimip_intake_icechunk-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aimip_intake_icechunk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c37489238347b3c97286dbb09577bad83c6bedf0140d573749b7a6ea25c451b
MD5 2a26f2abf21729c431eef6d08ba50309
BLAKE2b-256 8fade418ba079ec27eadb384e2e7e676304f0f66e0a1f56a6372d36f33ebb71d

See more details on using hashes here.

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