kerchunk
Functions to make reference descriptions for ReferenceFileSystem
What it is and what it does
Kerchunk is a metadata extraction library that transforms archival data formats into cloud-friendly virtual datasets. Instead of copying or converting NetCDF, HDF5, GRIB, TIFF, FITS, or Zarr files, it extracts byte ranges, compression metadata, and structural information, storing this as a separate reference object. This allows you to create unified, queryable datasets spanning many source files without moving the original data.
The library integrates with fsspec to read from diverse storage backends—S3, GCS, HTTP, local filesystems, and network protocols—and with zarr for parallel, lock-free access. It supports asynchronous concurrent fetching of data chunks and coordinate-based indexing across arbitrary dimensions, making it a gateway for serverless, in-situ processing of massive archival datasets in the cloud while data providers continue using legacy formats.
Use it for:
- Aggregate NetCDF climate or weather data from thousands of files into a single queryable dataset without copying.
- Access HDF5 scientific data stored in cloud object storage (S3, GCS) with efficient byte-range requests.
- Create virtual GRIB datasets for meteorological analysis spanning multiple time steps and sources.
- Build logical views over heterogeneous file types (mix of NetCDF and HDF5) with unified coordinate indexing.
- Enable serverless data processing pipelines that fetch only required chunks from archival storage.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Kerchunk extracts metadata from chunked, compressed data formats (NetCDF, HDF5, GRIB, TIFF, FITS, Zarr) and stores it separately, enabling efficient cloud-friendly access to archival data without copying or translating original files.
Yes. Kerchunk solves a specific, high-value problem for scientific and climate data workflows: efficient cloud access to legacy archival formats without data duplication. Low install friction, active maintenance, permissive licensing, no known vulnerabilities, and a focused dependency set make it a safe choice for teams working with large multi-file datasets in cloud environments.
Install
kerchunk on PyPI
pip
pip install kerchunkuv
uv add kerchunkpoetry
poetry add kerchunkInstalling kerchunk
Before you install
Low install friction with a pure-Python wheel. Active maintenance as of 2026-03-30 with 367 repository stars. Requires Python 3.11 or later. Five runtime dependencies (fsspec, numcodecs, numpy, ujson, zarr) are all widely used data-science libraries.
License in practice
MIT license (permissive) means you can use, modify, and distribute kerchunk freely in commercial and private projects with minimal restrictions, provided you include the license notice.
Quickstart
pip install kerchunk
import kerchunk.hdf
from fsspec.implementations.reference import ReferenceFileSystem
# Extract metadata from HDF5 file
reference_dict = kerchunk.hdf.SingleHdf5ToZarr('data.h5').translate()
# Access via virtual dataset
fs = ReferenceFileSystem(reference_dict)
data = fs.open('data', 'rb')
Requires Python 3.11 or later. Source data files must be in a supported format (NetCDF, HDF5, GRIB, TIFF, FITS, or Zarr) and accessible via fsspec-supported storage backends.
Verify before relying
- Specific performance gains or latency amortization metrics for concurrent chunk fetching compared to direct file access.
- Scalability limits for datasets with millions of files and typical query response times.
- Compatibility matrix for heterogeneous file types within a single virtual dataset.
- Memory overhead of metadata consolidation for large multi-file datasets.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — fsspec, numcodecs, numpy, ujson, zarr |
| Maintenance | actively maintained — 137 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 137,953/month — #11,348 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: kerchunk-0.2.10-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
icechunkIcechunk is a transactional storage engine for…
unclear · top 15,000 on PyPI
earthkit-dataearthkit-data provides a unified Python…
permissive · top 15,000 on PyPI
tensorstoreTensorStore reads and writes large…
permissive · top 5,000 on PyPI
h5pyh5py reads and writes HDF5 files from Python,…
permissive · top 1,000 on PyPI
hickleHickle serializes Python objects to HDF5 files…
unclear · top 15,000 on PyPI
h5netcdfh5netcdf reads and writes netCDF4 files using…
permissive · top 5,000 on PyPI
cfgribcfgrib maps GRIB meteorological data files to…
permissive · top 5,000 on PyPI
netCDF4netcdf4 provides a Python interface to read,…
permissive · top 5,000 on PyPI
tablesPyTables provides an object-oriented interface…
permissive · top 5,000 on PyPI
datasetsLoads and preprocesses datasets from the…
permissive · top 1,000 on PyPI