h5py
Read and write HDF5 files from Python
Install
h5py on PyPI
pip
pip install h5pyuv
uv add h5pypoetry
poetry add h5pyPackage facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — numpy |
| Maintenance | actively maintained — 160 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: h5py-3.16.0-cp310-cp310-macosx_10_9_x86_64.whl; h5py-3.16.0-cp310-cp310-macosx_11_0_arm64.whl; h5py-3.16.0-cp310-cp310-manylinux_2_28_aarch64.whl; h5py-3.16.0-cp310-cp310-manylinux_2_28_x86_64.whl; h5py-3.16.0-cp310-cp310-musllinux_1_2_aarch64.whl; h5py-3.16.0-cp310-cp310-musllinux_1_2_x86_64.whl; h5py-3.16.0-cp310-cp310-win_amd64.whl; h5py-3.16.0-cp311-cp311-macosx_10_9_x86_64.whl; h5py-3.16.0-cp311-cp311-macosx_11_0_arm64.whl; h5py-3.16.0-cp311-cp311-manylinux_2_28_aarch64.whl; h5py-3.16.0-cp311-cp311-manylinux_2_28_x86_64.whl; h5py-3.16.0-cp311-cp311-musllinux_1_2_aarch64.whl; h5py-3.16.0-cp311-cp311-musllinux_1_2_x86_64.whl; h5py-3.16.0-cp311-cp311-win_amd64.whl; h5py-3.16.0-cp311-cp311-win_arm64.whl; h5py-3.16.0-cp312-cp312-macosx_10_13_x86_64.whl; h5py-3.16.0-cp312-cp312-macosx_11_0_arm64.whl; h5py-3.16.0-cp312-cp312-manylinux_2_28_aarch64.whl; h5py-3.16.0-cp312-cp312-manylinux_2_28_x86_64.whl; h5py-3.16.0-cp312-cp312-musllinux_1_2_aarch64.whl
About h5py
from the package's own PyPI description — quoted content, verbatim
The h5py package provides both a high- and low-level interface to the HDF5 library from Python. The low-level interface is intended to be a complete wrapping of the HDF5 API, while the high-level component supports access to HDF5 files, datasets and groups using established Python and NumPy concepts.
A strong emphasis on automatic conversion between Python (Numpy) datatypes and data structures and their HDF5 equivalents vastly simplifies the process of reading and writing data from Python.
Wheels are provided for several popular platforms, with an included copy of the HDF5 library (usually the latest version when h5py is released).
You can also build h5py from source
<https://docs.h5py.org/en/stable/build.html#source-installation>_
with any HDF5 stable release from version 1.10.4 onwards, although naturally new
HDF5 versions released after this version of h5py may not work.
Odd-numbered minor versions of HDF5 (e.g. 1.13) are experimental, and may not
be supported.
Read as markdown · JSON record · Source repository · Homepage · Docs
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
h5py provides Python bindings to read and write HDF5 files, offering both high-level NumPy-friendly access and low-level HDF5 API wrapping for scientific data storage and retrieval.
Medium install friction due to compiled HDF5 dependencies, but mitigated by pre-built wheels for Python 3.10–3.12 across major platforms. Repository is actively maintained with recent commits and 2247 stars.
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions, requiring only license and copyright notice retention.
Usage
pip install h5py
import h5py
import numpy as np
with h5py.File('data.h5', 'w') as f:
f.create_dataset('dataset', data=np.array([1, 2, 3]))
Requires HDF5 library; wheels include it, but source builds need HDF5 1.10.4 or later installed separately.
Verdict: h5py is a stable, actively maintained library for HDF5 file I/O with strong NumPy integration and permissive licensing. Medium install friction is offset by comprehensive wheel coverage and no known vulnerabilities. Suitable for scientific and data-intensive applications.
Needs verification
- Whether pre-built wheels include HDF5 library for all listed platforms or only a subset.
- Performance characteristics compared to alternative HDF5 bindings for large-scale datasets.
Similar packages
permissive · top 1,000 on PyPI
psycopg-binarycopyleft · top 1,000 on PyPI
grpciopermissive · top 100 on PyPI
Djangopermissive · top 1,000 on PyPI
llama-index-indices-managed-llama-cloudpermissive · top 1,000 on PyPI
kubernetespermissive · top 1,000 on PyPI
marshmallowpermissive · top 1,000 on PyPI
dulwichunclear · top 1,000 on PyPI
pandaspermissive · top 100 on PyPI
paramikocopyleft · top 1,000 on PyPI