skillfed

hdmf

A hierarchical data modeling framework for modern science data standards

hdmf v6.1.0 390.2K downloads/30d#7,024 on PyPI57
Permissive license BSD-3-Clause Active released

What it is and what it does

HDMF is a Python framework for working with hierarchical scientific data. It sits between your data and storage backends (primarily HDF5), letting you define schemas, validate data against those schemas, and read/write structured data without hand-coding serialization logic. The package is built on numpy, pandas, h5py, jsonschema, and ruamel-yaml, so it integrates naturally into scientific Python workflows. It's designed for teams building modern science data standards—you define your data model once, and HDMF handles the mechanics of storing and retrieving it consistently.

The package targets researchers and developers working with complex, nested scientific datasets. Rather than flattening data into tables or writing custom I/O code, you describe your hierarchy declaratively and let HDMF enforce structure. It's particularly useful when you need versioned, validated, reproducible data formats across multiple tools or institutions.

Use it for:

  • Define and enforce a standardized data schema for multi-site neuroscience studies using HDF5 storage.
  • Build a data interchange format for a scientific collaboration where data must be validated on read and write.
  • Serialize complex nested Python objects (arrays, metadata, hierarchies) to HDF5 without manual I/O code.
  • Version and validate scientific datasets against evolving schema definitions.
  • Create a domain-specific data format (e.g., for medical imaging or genomics) with built-in schema support.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

HDMF provides APIs for defining hierarchical data models, reading and writing data to storage backends like HDF5, and representing structured data as Python objects.

Yes. HDMF is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. Install it if you need to define, validate, and serialize hierarchical scientific data with schema enforcement. Skip it if your data is simple tabular or you prefer hand-coded I/O.

Install

hdmf on PyPI

pip

pip install hdmf

uv

uv add hdmf

poetry

poetry add hdmf

Installing hdmf

Before you install

Low friction: pure Python wheel, active maintenance with a release 50 days ago, and five well-established runtime dependencies (h5py, jsonschema, numpy, pandas, ruamel-yaml).

License in practice

BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; redistribution requires retaining copyright notice and disclaimer.

Quickstart

pip install hdmf

import hdmf
from hdmf.backends.hdf5 import HDF5IO
# Define and serialize hierarchical data structures

Requires Python 3.10 or later; h5py depends on HDF5 system libraries.

Verify before relying

  • Whether the package is actively used in production scientific workflows beyond its citation count.
  • Performance characteristics when handling large hierarchical datasets.
  • Compatibility with newer HDF5 versions and potential breaking changes.

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 5 — h5py, jsonschema, numpy, pandas, ruamel-yaml
Maintenance actively maintained — 50 days since the last release
Last repo commit
First released
Downloads 390,197/month — #7,024 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: hdmf-6.1.0-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering :: Medical Science Apps.

Tags

hierarchical data modelingHDF5 data frameworkstructured data serializationscientific data standardsdata model specificationschema-driven storagenested data representation
data-serializationhdf5scientific-computing

More Medical Science Apps. packages