NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4199 most downloaded on PyPI
Python Materials Genomics is a robust materials analysis code that defines core object representations for structures
Last release 4 months ago
04 May 2026
Release timing varies
gaps range from 9 days to 6 months
Nearly every release is documented
notes for 59 of the last 60 stable releases
9 versions withdrawn
withdrawn after publishing
15 years old
412 releases · first in 2011
Added an alternative interstitial finder that works with a grid-based structure-motif search. (Nils Zimmermann)
Minor bug fix for POTCAR settings.
One column per quarter.
You can now specify a different default functional choice for pymatgen by setting DEFAULT_FUNCTIONAL in .pmgrc.yaml. For use with newer functional set
Major speed up of initial load.
* Fix for dynamic numpy import.
Update to new version of spglib.
Minor fixes for proper gzipped structure file support and MVLSlabSet.
Dependency cleanup. Now, basic pymatgen requires on much fewer packages.
Cleanup of entry points and dependencies.
Proper use of dependency markers for enum34.
Update to spglib 1.9.6, which fixes some bugs and is Windows compatible.
- Bug fix for SubstitutionProb.
Bug fix for electronic structure plotter.
Bug fix for Diffusion Analyzer.
- Bug fix for BS serialization. - Cleanup dependencies.
Massive updates to FEFF support (Kiran Mathews).
Much more Pythonic API for modifying Structure/Molecule species. Now, strings, slices, and sequences should magically work, in addition to the previou
Much more Pythonic API for modifying Structure/Molecule species. Now, strings, slices, and sequences should magically work, in addition to the previous API of simple int indices. Examples::
s[0] = "Fe" s[0] = Element("Fe") both replaces the species only. s[0] = "Fe", [0.5, 0.5, 0.5] Replaces site and fractional coordinates. Any properties are inherited from current site. s[0] = "Fe", [0.5, 0.5, 0.5], {"spin": 2} Replaces site and fractional coordinates and properties.
s[(0, 2, 3)] = "Fe" Replaces sites 0, 2 and 3 with Fe.
s[0::2] = "Fe" Replaces all even index sites with Fe.
s["Mn"] = "Fe" Replaces all Mn in the structure with Fe. This is a short form for the more complex replace_species.
s["Mn"] = "Fe0.5Co0.5" Replaces all Mn in the structure with Fe: 0.5, Co: 0.5, i.e., creates a disordered structure!
Massive update to internal representation of Bandstructure objects for memory and computational efficiency.
Bug fixes to CIF parsing in some edge cases. (Will Richards).
Massive speedup of Bandstructure, especially projected band structures, parsing.
Upgrade monty and spglib requirements for bug fixes.
Massive update to elastic module. (Joey Montaya)
* Bug fix for BSPlotter.
Bug fix for kpoint weight calculation for Monkhorst meshes.
Simplified installation. enumlib and bader can now be installed using pmg setup --install.
Global configuration variables such as VASP_PSP_DIR and MAPI_KEY are now stored in "~/.pmgrc.yaml". If you are setting these as environmental variable
Global configuration variables such as VASP_PSP_DIR and MAPI_KEY are now stored in "~/.pmgrc.yaml". If you are setting these as environmental variables right now, you can easily transition to the new system using::
pmg config --add VASP_PSP_DIR $VASP_PSP_DIR MAPI_KEY $MAPI_KEY
This new scheme will provide greater flexibility for user-defined global behavior in pymatgen, e.g., tolerances, default input sets for transmuters, etc., in future.
Beta of k-point weight calculator.
Use default MSONable as and from_dict for all transformations.
New DopingTransformation that implements an automated doping strategy.
Fix important bug in minimum image distance computation for very skewed cells.
Major refactoring of WulffShape and lammps support.
Wulff shape generator and analysis.
- Fix kpoint reciprocal density.
* Minor bug fix release.
Massive update with many deprecated methods removed. Note that this may break backwards incompatibility!
* Fix deprecation bug.
Last version before pymatgen 4.0, where deprecated modules will be removed!
Massive cleanup to Boltztrap interface (Anubhav Jain)
Backwards incompatible change in Born charge format in Outcar.
Misc refactorings and bug fixes, especially for Outcar and Boltztrap classes.
Minor update to DerivedInputSet interface.
New derived input sets for generating inputs that depende on previuos calculations. Old input sets deprecated.
Chemical environment analysis package (David Waroquiers).
10-100x speed up to Structure copying and Site init, which means many functionality has seen significant speed improvement (e.g., structure matching).
Update to use enum.x instead of multienum.x.
StructureMatcher can now work with ignored species.
Procar now supports parsing of phase factors.
* Bug fixes for Poscar. * Fix Kpoints pickling.
Bug fixes for pymatgen.io.abinit
Minor bug fix release for pickle and elastic constants.
Updated and checked for Python 3.5.\* compatibility.
- Fix missing scripts - Improvements to units module. - Speed up EwaldSummation.
Deprecate physical constants module in favor of scipy's version.
Sulfur correction added to MaterialsProjectCompatibility for more accurate sulfide formation energies.
Add warning for limited subgroup testing functionality in Spacegroup.
Extensive support for elasticity tensor analysis (Joseph Montoya).
Improved potcar setup via "pmg setup", with MAPI setup.
GaussianOutput can now parse frequencies, normal modes and cartesian forces (Xin Chen).
Massive update to abinit support. Note that pymatgen.io.abinitio has been refactored to pymatgen.io.abinit. (Matteo, Setten)
Nothing published for this version
Fix wrong U value for Ce and Eu.
Force conversion to an actual list in selective dynamics and velocities in Poscar.
* Fix scripts.
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →