--- id: hdmf version: "6.1.0" license: BSD-3-Clause license_treatment: permissive maintenance: active --- # hdmf — A hierarchical data modeling framework for modern science data standards License: permissive · Maintenance: active · Downloads: 390.2K/mo ## 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 above — 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 pip install hdmf uv add hdmf 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_current - Install friction: low - Maintenance: active - Downloads: 390.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags hierarchical data modeling, HDF5 data framework, structured data serialization, scientific data standards, data model specification, schema-driven storage, nested data representation, data-serialization, hdf5, scientific-computing [View on SkillFed](https://skillfed.io/packages/hdmf) · [View on PyPI](https://pypi.org/project/hdmf/)