pymatgen
Python Materials Genomics is a robust materials analysis code that defines core object representations for structures
Decision gist · record as of 2026-08-14
Yes. Pymatgen is a mature, actively maintained library with no known vulnerabilities, low install friction, and broad adoption in computational materials science. The MIT license imposes no restrictions. Install it if you work with crystal structures, computational chemistry outputs, or materials databases; skip it if your work does not involve materials analysis.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later.
- Some functionality (e.g., POTCAR generation) requires additional setup beyond the base install.
- Low install friction with a single runtime dependency (pymatgen-core).
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both academic and commercial projects. No copyleft obligations.
last release 2026-05-04 (102 days) · last repo commit 2026-08-13 · 1,942 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 929,373 downloads/mo, #4,705 on PyPI
Alternatives
Verify before relying
pip install pymatgen
from pymatgen.core import Structure
struct = Structure.from_file('structure.cif')- Specific performance characteristics for large structure datasets or high-throughput workflows
- Completeness of Materials Project REST API integration and any rate-limiting behavior
- Availability and maturity of the add-on ecosystem mentioned in the description
What it is and what it does
Pymatgen is a materials analysis library that provides object-oriented representations of crystalline structures, molecules, and sites, along with tools for reading and writing computational chemistry file formats (VASP, ABINIT, Gaussian, CIF, XYZ, and others). It is used by thousands of researchers and underpins the Materials Project, a large-scale materials database and analysis platform.
The library includes analysis capabilities for phase diagrams, Pourbaix diagrams, diffusion analysis, reaction pathways, and electronic structure properties like density of states and band structure. It integrates with the Materials Project REST API and is optimized for coordinate manipulations using NumPy and SciPy vectorization. The codebase is actively maintained by the Materialyze Lab, the ABINIT group, and other research teams, with continuous integration testing and a growing ecosystem of community add-ons.
Use it for
- Parse and manipulate crystal structures from VASP, ABINIT, or Gaussian output files for post-processing analysis
- Generate phase diagrams and Pourbaix diagrams for thermodynamic stability assessment
- Analyze electronic structure data including band structures and density of states
- Query and download structures and properties from the Materials Project database
- Automate high-throughput computational materials workflows with standardized structure handling
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Pymatgen is a mature, actively maintained library with no known vulnerabilities, low install friction, and broad adoption in computational materials science. The MIT license imposes no restrictions. Install it if you work with crystal structures, computational chemistry outputs, or materials databases; skip it if your work does not involve materials analysis.
Install
pymatgen on PyPI
Before you install
Low install friction with a single runtime dependency (pymatgen-core). Active maintenance with last commit 2026-08-13 and continuous integration via GitHub Actions. Used by thousands of researchers and powers the Materials Project analysis pipeline.
Requires Python 3.11 or later. Some functionality (e.g., POTCAR generation) requires additional setup beyond the base install.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both academic and commercial projects. No copyleft obligations.
Quickstart
pip install pymatgen
from pymatgen.core import Structure
struct = Structure.from_file('structure.cif')
Verify before relying
- Specific performance characteristics for large structure datasets or high-throughput workflows
- Completeness of Materials Project REST API integration and any rate-limiting behavior
- Availability and maturity of the add-on ecosystem mentioned in the description
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagepymatgen-core |
| Maintenance | Actively maintained 102 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 929,373 / month, #4,705 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering :: ChemistryTopic :: Scientific/Engineering :: Information AnalysisTopic :: Scientific/Engineering :: PhysicsTopic :: Software Development :: Libraries :: Python Modules |
Evidence: pymatgen-2026.5.4-py3-none-any.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 › “materials structure analysis python”
- pymatgenPymatgen provides Python classes and analysis tools for materials…
- pymatgen-corepymatgen-core provides core data structures and I/O for materials…
- atomate2Atomate2 provides a library of pre-built materials science workflows…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also pymatgen-core · mp-api · pymatgen-io-validation · emmet-core · atomate2 · vasprun-xml · PyCifRW · dpdata · pyxtal · chgnet