ihm
Package for handling IHM mmCIF and BinaryCIF files
Decision gist · record as of 2026-08-14
Yes, if you work with integrative/hybrid modeling data in structural biology. The package is actively maintained, has no known vulnerabilities, and is permissively licensed. Install friction is moderate—pip will attempt to build a C extension (requiring a compiler), but the library degrades gracefully to pure Python if compilation fails. For non-IHM structural models, consider python-modelcif instead.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- C compiler required for optimized file reading; pure Python fallback available if not present.
- msgpack package required to write or read BinaryCIF files.
- High install friction: pip builds a C extension module that requires a C compiler; the library falls back to pure Python if compilation fails.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use this package freely in commercial and private projects with minimal restrictions.
last release 2026-06-05 (70 days) · last repo commit 2026-08-07 · 18 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 159,732 downloads/mo, #10,689 on PyPI
Alternatives
Verify before relying
pip install ihm
import ihm
# Read an mmCIF file
system = ihm.read(open('model.cif'))- Whether the C extension provides meaningful performance gains for typical file sizes in the IHM domain.
- Compatibility with Python versions beyond 3.6 (requires_python is unspecified in metadata).
What it is and what it does
ihm is a Python library for reading and writing mmCIF and BinaryCIF files that follow the integrative/hybrid modeling (IHM) extension standard used in structural biology. It provides a programmatic interface to parse and manipulate these file formats, which encode structural and modeling metadata for complex biological systems. The package includes an optional C extension for faster file I/O, but falls back to pure Python if a C compiler is unavailable during installation.
The library is designed for researchers working with integrative structural biology data, particularly those using the IHM framework for modeling multi-component complexes. It depends on msgpack for BinaryCIF support and integrates with the broader ecosystem of structural biology tools. The package is actively maintained and has been in use since 2018.
Use it for
- Parse mmCIF files from structural biology databases to extract integrative modeling metadata and constraints.
- Write BinaryCIF files for efficient storage and transmission of large integrative modeling datasets.
- Programmatically manipulate IHM-compliant structural data in Python workflows for computational modeling.
- Convert between mmCIF and BinaryCIF formats while preserving IHM extension information.
- Integrate structural biology file handling into bioinformatics pipelines that require IHM-compliant data.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with integrative/hybrid modeling data in structural biology.
The package is actively maintained, has no known vulnerabilities, and is permissively licensed. Install friction is moderate—pip will attempt to build a C extension (requiring a compiler), but the library degrades gracefully to pure Python if compilation fails. For non-IHM structural models, consider python-modelcif instead.
Install
ihm on PyPI
Before you install
High install friction: pip builds a C extension module that requires a C compiler; the library falls back to pure Python if compilation fails. Recent release (70 days ago) and active repository maintenance suggest ongoing support.
C compiler required for optimized file reading; pure Python fallback available if not present. msgpack package required to write or read BinaryCIF files.
License in practice
MIT license is permissive; you can use this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install ihm
import ihm
# Read an mmCIF file
system = ihm.read(open('model.cif'))
Verify before relying
- Whether the C extension provides meaningful performance gains for typical file sizes in the IHM domain.
- Compatibility with Python versions beyond 3.6 (requires_python is unspecified in metadata).
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | 1 packagemsgpack |
| Maintenance | Actively maintained 70 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 159,732 / month, #10,689 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: Science/ResearchOperating System :: OS IndependentProgramming Language :: Python :: 3Topic :: Scientific/Engineering |
Evidence: ihm-2.11.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “ihm extension support”
- ihmReads and writes mmCIF and BinaryCIF files conforming to the…
- modelcifReads and writes mmCIF and BinaryCIF files conforming to the ModelCIF…
- ExtensionClassProvides a metaclass that enables extension module classes to be…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also fhconfparser · modelcif · mmcif-pdbx · gemmi · mmcif · mrcfile · python-gdcm · OpenMM · msgpack-numpy · pdb2pqr