skillfed

mmcif

mmCIF Core Access Library

mmcif v1.1.1 1.5M downloads/30d#3,830 on PyPI50
Permissive license Apache-2.0 Active released

What it is and what it does

mmcif is a Python library that wraps the PDB C++ Core mmCIF Library with pybind11, offering both native Python APIs and compiled bindings for reading and manipulating mmCIF data files and dictionaries. It is used primarily in structural biology and crystallography workflows to access macromolecular structure data in the standardized mmCIF format.

The package includes a command-line tool, `build_dict_cli`, that preprocesses and combines modular mmCIF dictionaries by resolving include directives. It depends on requests and msgpack for runtime operations. The library supports Python 3.8 through 3.14 and is actively maintained with no known security vulnerabilities.

Use it for:

  • Parse and read PDB structure files in mmCIF format for structural biology analysis and visualization.
  • Combine multiple mmCIF dictionary extensions into a single comprehensive dictionary using the build_dict_cli tool.
  • Access and query macromolecular structure metadata and atom coordinate data programmatically.
  • Integrate mmCIF data handling into bioinformatics pipelines and structural analysis workflows.
  • Retrieve and validate dictionary versions for data format compliance and compatibility checking.

Worth the install?

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

Provides native Python and C++ bindings to parse, read, and manipulate mmCIF (macromolecular Crystallographic Information File) data structures and dictionaries.

Yes, if you work with crystallographic or structural biology data in mmCIF format. The package is stable (Production/Stable status), actively maintained, has no known vulnerabilities, and offers both Python and C++ APIs. Medium install friction due to compiled bindings is offset by pre-built wheels for common platforms. The Apache-2.0 license is permissive and suitable for most projects.

Install

mmcif on PyPI

pip

pip install mmcif

uv

uv add mmcif

poetry

poetry add mmcif

Installing mmcif

Before you install

Medium install friction due to compiled C++ bindings, but wheels are available for Python 3.8–3.14 on macOS and Linux. Repository is actively maintained with a recent release and no known vulnerabilities.

License in practice

Apache-2.0 permissive license allows free use, modification, and distribution in both open-source and commercial projects with minimal restrictions.

Quickstart

pip install mmcif

import mmcif.api
reader = mmcif.api.PdbxReader()
reader.read('structure.cif')

Requires a compiled C++ library; pre-built wheels are available for common platforms and Python versions, but building from source requires GCC/G++ > 4.8.5 or clang-900.0.39.2 or later.

Verify before relying

  • Whether the package provides high-level APIs for common tasks (e.g., querying atom coordinates, extracting metadata) beyond low-level file parsing.
  • Performance characteristics when working with large mmCIF files or dictionaries.
  • Whether the C++ bindings are thread-safe or have concurrency limitations.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.8)
Install friction medium — platform-specific wheel
Runtime dependencies 2 — requests, msgpack
Maintenance actively maintained — 111 days since the last release
Last repo commit
First released
Downloads 1,498,562/month — #3,830 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: mmcif-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl; mmcif-1.1.1-cp310-cp310-macosx_11_0_arm64.whl; mmcif-1.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; mmcif-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl; mmcif-1.1.1-cp311-cp311-macosx_11_0_arm64.whl; mmcif-1.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; mmcif-1.1.1-cp312-cp312-macosx_10_13_x86_64.whl; mmcif-1.1.1-cp312-cp312-macosx_11_0_arm64.whl; mmcif-1.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; mmcif-1.1.1-cp313-cp313-macosx_10_13_x86_64.whl; mmcif-1.1.1-cp313-cp313-macosx_11_0_arm64.whl; mmcif-1.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; mmcif-1.1.1-cp314-cp314-macosx_10_15_x86_64.whl; mmcif-1.1.1-cp314-cp314-macosx_11_0_arm64.whl; mmcif-1.1.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; mmcif-1.1.1-cp314-cp314t-macosx_10_15_x86_64.whl; mmcif-1.1.1-cp314-cp314t-macosx_11_0_arm64.whl; mmcif-1.1.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; mmcif-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl; mmcif-1.1.1-cp38-cp38-macosx_11_0_arm64.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersNatural Language :: EnglishProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

mmcif parser pythoncrystallographic data formatpdb file parsingmacromolecular structure datammcif dictionary accessstructural biology datapdbx format reader
structural-biologycrystallographydata-parsing

More Information Analysis packages