h5grove
Core utilities to serve HDF5 file contents
What it is and what it does
h5grove is a Python library for building backends that expose HDF5 file contents over the network. Rather than being a complete server, it provides reusable utilities that solve recurring problems in HDF5 serving: resolving external links, handling dataset compression and slicing, and encoding data consistently for JSON transport (including special handling for NaN and Infinity). It wraps h5py for file access and depends on numpy, orjson, tifffile, and typing-extensions.
The package is designed for developers building custom HDF5 backends, with optional integrations for FastAPI, Flask, and Tornado. You install the core package and add framework-specific extras only when needed. It's actively maintained, supports current Python versions (3.10+), and carries no known security vulnerabilities.
Use it for:
- Build a REST API to query and download slices of large HDF5 datasets stored on disk.
- Serve scientific instrument data (common in synchrotron facilities) to web clients without reimplementing link resolution and compression logic.
- Create a custom HDF5 viewer backend that handles external file references and encodes numeric data safely for JSON.
- Integrate HDF5 file access into an existing FastAPI or Flask application with minimal boilerplate.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
h5grove provides building blocks for serving HDF5 file contents—attributes, metadata, and data—via web backends, handling common problems like external link resolution, dataset compression/slicing, and JSON-safe data encoding.
Yes, if you are building a backend to serve HDF5 files and want to reuse battle-tested utilities for common problems (link resolution, compression, JSON encoding). No, if you only need to read HDF5 files in a local Python script—h5py alone is sufficient. Yes-with-conditions if you plan to use the web framework integrations: verify that the FastAPI/Flask/Tornado extras match your framework version and production readiness expectations.
Install
h5grove on PyPI
pip
pip install h5groveuv
uv add h5grovepoetry
poetry add h5groveInstalling h5grove
Before you install
Low friction: pure-Python wheel with five stable runtime dependencies (h5py, numpy, orjson, tifffile, typing-extensions). Active maintenance with a release 122 days ago and commits through April 2026.
License in practice
MIT License (permissive): you can use, modify, and distribute h5grove freely in commercial and private projects, provided you include the original copyright notice and license text.
Quickstart
pip install h5grove
import h5grove
import h5py
with h5py.File('data.h5', 'r') as f:
# Use h5grove utilities to access and serve HDF5 content
pass
Requires Python 3.10 or later; h5py requires HDF5 libraries on the system.
Verify before relying
- Whether the package provides ready-to-use server implementations or only low-level utilities for custom backends.
- Performance characteristics when serving large HDF5 datasets or handling concurrent requests.
- Whether FastAPI, Flask, and Tornado integrations are production-ready or experimental.
Package facts
| License | MIT License Copyright (c) 2021 European Synchrotron Radiation Facility (ESRF) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — h5py, numpy, orjson, tifffile, typing-extensions |
| Maintenance | actively maintained — 122 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 125,674/month — #11,807 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: h5grove-4.0.0-py3-none-any.whl
Tags
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object…
permissive · top 100 on PyPI
psycopg2-binarypsycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
alembicAlembic generates and manages database schema…
permissive · top 1,000 on PyPI
weaviate-clientA Python client library for connecting to and…
permissive · top 1,000 on PyPI
databricks-sql-connectorA Python client library that connects to…
permissive · top 1,000 on PyPI
psycopgPsycopg 3 is a PostgreSQL database adapter for…
copyleft · top 1,000 on PyPI
h5pyh5py reads and writes HDF5 files from Python,…
permissive · top 1,000 on PyPI
hdf5pluginRegisters HDF5 compression filters (Blosc,…
unclear · top 15,000 on PyPI
hdmfHDMF provides APIs for defining hierarchical…
permissive · top 15,000 on PyPI
h5netcdfh5netcdf reads and writes netCDF4 files using…
permissive · top 5,000 on PyPI
hickleHickle serializes Python objects to HDF5 files…
unclear · top 15,000 on PyPI
tablesPyTables provides an object-oriented interface…
permissive · top 5,000 on PyPI
mat73Loads MATLAB 7.3 .mat files (stored as HDF5)…
copyleft · top 15,000 on PyPI
static3Serves static and templated content over WSGI,…
copyleft · top 15,000 on PyPI
servestaticServeStatic serves static files efficiently…
permissive · top 15,000 on PyPI
kerchunkKerchunk extracts metadata from chunked,…
permissive · top 15,000 on PyPI