Registry / data / h5grove

h5grove

JSON →
library4.0.0pypypi✓ verified 82d ago

h5grove is a Python library providing core utilities to serve HDF5 file contents over a REST API. It allows users to browse and extract data from HDF5 files via HTTP requests, with support for various web frameworks like FastAPI, Flask, and Tornado. The library is actively maintained, with a current version of 4.0.0, and releases new versions regularly, often including breaking changes to improve the API or underlying structure.

pip install h5grove
INSTALL
IMPORT
SIG · H5GROVE
H
h5grove
datapythonv4.0.0
Install
6.2s avg
Import
Disk
124MB
Pass rate
9/ 10
Env Coverage9 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v4.0.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✓ —
✓ 6.65s
py 3.11
✓ —
✓ 5.83s
py 3.12
✓ —
✓ 5.3s
py 3.13
✓ —
✓ 5.45s
py 3.9
✕ build_error
✓ 7.58s
124MB installed
● package 124MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

create_content
from h5grove import create_content
from h5grove.app import create_app
content
from h5grove import content
encode
from h5grove import encode

This quickstart demonstrates setting up a basic h5grove server using FastAPI and Uvicorn. It mounts the h5grove API at the `/h5grove` path. Ensure you have the `h5grove[fastapi]` and `uvicorn` packages installed, and specify an `H5GROVE_HDF5_DIR` environment variable or directly set `H5GroveConfig.hdf5_dir` to point to a directory containing your HDF5 files. This allows the server to discover and serve them.

import os from fastapi import FastAPI from h5grove.app import create_app from h5grove.config import H5GroveConfig # Configure the base directory for HDF5 files. # Replace with a path where your .h5 files are located. # For a runnable example, ensure a '.h5' file exists here. H5GroveConfig.hdf5_dir = os.environ.get('H5GROVE_HDF5_DIR', '.') app = FastAPI() app.mount("/h5grove", create_app()) # To run this app (requires uvicorn): # 1. pip install h5grove[fastapi] uvicorn # 2. Save this code as 'main.py' # 3. Run from terminal: uvicorn main:app --reload --port 8000 # 4. Access API: http://127.0.0.1:8000/h5grove/
Debug
Known issues
breakingIn v4.0.0, the `/meta` endpoint response schema for compound datasets changed. The `members` key is now an array instead of an object to ensure correct field ordering.
fix
Update client-side parsing logic for `/meta` endpoint responses involving compound datasets to expect `members` as an array.
affects: 4.0.0+
breakingIn v3.0.0, trailing slashes were removed from all endpoints (e.g., `/attr/` is now `/attr`).
fix
Update all API calls to remove trailing slashes from endpoint paths. Old endpoints with trailing slashes will result in 404 Not Found errors.
affects: 3.0.0+
breakingStarting from v3.0.0, Python 3.10 or newer is required.
fix
Ensure your development and deployment environments are using Python 3.10 or a later version. Older Python versions will cause installation or runtime errors.
affects: 3.0.0+
breakingIn v2.0.0, the `type` field in all entities' metadata was renamed to `kind`, and the `dtype` field for dataset/attribute metadata was replaced with a richer `type` object (e.g., `{dtype: '<f8'}` became `{type: {'class': 1, 'dtype': '<f8', 'size': 8, 'order': 0}}`).
fix
Adjust client-side code that parses metadata responses to use `kind` instead of `type`, and to handle the new structured `type` object instead of a simple `dtype` string.
affects: 2.0.0+
Upgrade
Version history
4.0.0latest on PyPI · released Apr 14, 2026
Audit
Dependencies
h5pyrequiredCore dependency for HDF5 file manipulation.
Agent activity
8 hits · last 30 days
node
8
Resources
h5grove — pip install h5grove · libregistry