mmcif
mmCIF Core Access Library
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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.
- 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 · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows free use, modification, and distribution in both open-source and commercial projects with minimal restrictions.
last release 2026-04-25 (111 days) · last repo commit 2026-08-09 · 50 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,498,562 downloads/mo, #3,830 on PyPI
Alternatives
Verify before relying
pip install mmcif
import mmcif.api
reader = mmcif.api.PdbxReader()
reader.read('structure.cif')- 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.
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 on it.
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
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.
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.
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')
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 packagesrequestsmsgpack |
| 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 |
| Classifiers | 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 |
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
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 › “mmcif parser python”
- mmcifProvides native Python and C++ bindings to parse, read, and…
- mmcif-pdbxProvides a pure Python interface to read, parse, and work with…
- modelcifReads and writes mmCIF and BinaryCIF files conforming to the ModelCIF…
Give your agent the search over MCP, or paste the wish link into any chat.
More Information Analysis packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyarrow provides Python bindings to Apache Arrow's C++ libraries for efficient columnar data processing, serialization, and interoperability with pandas, NumPy, and other Python ecosystem tools.
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
Snowpark Python provides APIs to query and process data directly in Snowflake without moving data to your local system, with support for both native Snowpark and pandas-compatible interfaces.
Install it if you use Snowflake and want to process data without moving it to your application layer.
See also gemmi · mmcif-pdbx · mmtf-python · ihm · modelcif · pymatreader · pdb2pqr · mrcfile · spglib · moyopy