pymatgen-io-validation
A comprehensive I/O validator for electronic structure calculations
What it is and what it does
pymatgen-io-validation is an extension to pymatgen that enforces Materials Project (MP) compliance rules for VASP density-functional theory calculations. It reads raw VASP calculation files from a directory and checks whether the input parameters and calculation setup match MP standards—ensuring that external calculations can be meaningfully compared to and potentially integrated with the MP database.
The package validates dozens of VASP parameters (ENCUT, EDIFF, ISMEAR, KPOINTS, functional choice, and many others) against both absolute requirements and relative thresholds defined by the relevant MP input set. It also detects known bugs that arise from specific parameter combinations (e.g., setting both GGA and METAGGA simultaneously). For each validation run, you get a boolean pass/fail result, a list of specific reasons for failure, and warnings about potential issues that don't block acceptance but merit attention.
Use it for:
- Check whether a VASP calculation from an external group meets MP standards before attempting to ingest its data into the MP database.
- Audit a batch of legacy VASP calculations to identify which ones are compatible with MP and which need re-running with corrected parameters.
- Catch common VASP configuration mistakes (e.g., wrong functional, insufficient k-point density) early in a high-throughput workflow.
- Verify that a calculation respects MP's strict rules on auxiliary parameters (ADDGRID, LASPH, LCALCEPS, etc.) that affect reproducibility.
- Generate validation reports documenting why a calculation failed or what warnings apply, for documentation or troubleshooting.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Validates VASP electronic structure calculation inputs and outputs against Materials Project standards, checking for parameter compliance, known bugs, and calculation discrepancies.
Yes. The package is actively maintained, has no security vulnerabilities, low install friction, and solves a real problem for anyone running VASP calculations that need to be MP-compatible. If you work with VASP and the Materials Project, or need to validate calculation compliance against a strict standard, this is a direct fit. If you run VASP but don't care about MP compatibility, it's not necessary.
Install
pymatgen-io-validation on PyPI
pip
pip install pymatgen-io-validationuv
uv add pymatgen-io-validationpoetry
poetry add pymatgen-io-validationInstalling pymatgen-io-validation
Before you install
Low friction install with a small, stable dependency tree (pymatgen-core, numpy, requests, pydantic, pydantic-settings). Active maintenance: latest release 9 days old, last commit 2026-08-14, no known vulnerabilities.
License in practice
BSD-3-Clause-LBNL is a permissive license; you can use, modify, and distribute this package freely with minimal restrictions, provided you retain the license notice.
Quickstart
from pymatgen.io.validation import VaspValidator
validation_doc = VaspValidator.from_directory('/path/to/vasp/calc')
print(validation_doc.valid, validation_doc.reasons, validation_doc.warnings)
Requires Python >=3.11 and a valid VASP calculation directory with standard output files.
Verify before relying
- Whether the package validates all VASP output file types or only a subset (OUTCAR, vasprun.xml, etc.)
- Performance characteristics when validating large batches of calculations
- Whether validation rules are versioned or tied to specific Materials Project database releases
Package facts
| License | BSD-3-Clause-LBNL (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — pymatgen-core, numpy, requests, pydantic, pydantic-settings |
| Maintenance | actively maintained — 9 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 669,941/month — #5,411 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pymatgen_io_validation-0.1.3-py3-none-any.whl
Keywords: io, validation, dft, vasp
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
pymatgen-corepymatgen-core provides core data structures and…
permissive · top 15,000 on PyPI
pymatgenPymatgen provides Python classes and analysis…
permissive · top 5,000 on PyPI
vasprun-xmlParses VASP calculation output from vasprun.xml…
permissive · top 15,000 on PyPI
dpdatadpdata converts and manipulates atomistic…
copyleft · top 15,000 on PyPI
atomate2Atomate2 provides a library of pre-built…
permissive · top 15,000 on PyPI
eidoValidates project metadata against PEP schemas…
permissive · top 15,000 on PyPI
swagger-spec-validatorValidates Swagger/OpenAPI specifications…
permissive · top 15,000 on PyPI
iregexp-checkValidates regular expressions against RFC 9485…
permissive · top 15,000 on PyPI
fairchem-coreProvides pretrained machine learning models for…
permissive · top 15,000 on PyPI
rfc3339-validatorValidates whether a string conforms to the…
permissive · top 1,000 on PyPI