atomate2
atomate2 is a library of materials science workflows
What it is and what it does
Atomate2 is a Python library that automates complex materials science computational workflows, primarily for density functional theory (DFT) calculations using VASP. It builds on pymatgen, custodian, and jobflow to provide a collection of pre-configured workflows for computing materials properties—band structures, elastic and dielectric tensors, phonons, defect formation energies, and bonding analysis—while handling job orchestration, error recovery, and result tracking.
Workflows are composed using Maker objects with a consistent API, allowing users to modify input parameters and chain calculations together. Atomate2 can scale from single-material studies to high-throughput campaigns, automatically maintaining detailed records of jobs, directories, and runtime parameters. Results can be stored in external databases for systematic querying and analysis. Workflows run either locally via jobflow or distributed through jobflow-remote or FireWorks.
Use it for:
- Compute band structures and electronic properties for a series of candidate materials in a single Python script.
- Generate elastic and piezoelectric tensor data for materials screening without writing individual VASP input files.
- Build a searchable database of calculated phonon properties and defect formation energies across hundreds of materials.
- Chain multiple calculations (e.g., structure relaxation followed by band structure) with automatic error handling and resubmission.
- Scale from testing a workflow on one material to running it across thousands in a distributed computing environment.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Atomate2 provides a library of pre-built materials science workflows that automate complex computational tasks like band structure calculations, elastic properties, phonons, and defect analysis, orchestrated through the jobflow framework.
Yes. Atomate2 is actively maintained, production-stable, permissively licensed, and solves a real problem for materials scientists: automating repetitive DFT workflows at scale. Install friction is low and there are no known security vulnerabilities. The main prerequisite is having VASP and its pseudopotentials configured—a non-trivial setup that the documentation addresses, but not a fault of the package itself.
Install
atomate2 on PyPI
pip
pip install atomate2uv
uv add atomate2poetry
poetry add atomate2Installing atomate2
Before you install
Low friction to install as a pure Python wheel. Requires 11 runtime dependencies including pymatgen, jobflow, and custodian. Active maintenance with a recent release 32 days ago and ongoing commits.
License in practice
Released under BSD-3-Clause-LBNL (permissive), allowing commercial and private use with minimal restrictions beyond attribution and liability disclaimers.
Quickstart
pip install atomate2
from atomate2.vasp.flows.core import RelaxBandStructureMaker
from jobflow import run_locally
from pymatgen.core import Structure
mgo = Structure(
lattice=[[0, 2.13, 2.13], [2.13, 0, 2.13], [2.13, 2.13, 0]],
species=["Mg", "O"],
coords=[[0, 0, 0], [0.5, 0.5, 0.5]],
)
flow = RelaxBandStructureMaker().make(mgo)
run_locally(flow, create_folders=True)
Requires Python 3.11+, VASP binary installed and configured, pseudopotential files accessible to pymatgen, and optionally an external database for job output storage.
Verify before relying
- Whether the package supports materials properties beyond those explicitly listed (elastic, dielectric, piezoelectric tensors, phonons, defects, band structures, electron-phonon, transport).
- Scalability limits when running 100,000 materials workflows and resource requirements for that scale.
- Integration requirements and compatibility with jobflow-remote versus FireWorks for distributed execution.
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 | 11 — PyYAML, click, custodian, emmet-core, jobflow, monty, numpy, pydantic-settings, pydantic, pymatgen, pymongo |
| Maintenance | actively maintained — 32 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 106,625/month — #12,645 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: atomate2-0.1.5-py3-none-any.whl
Keywords: automated, dft, high-throughput, vasp, workflow
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
jobflowJobflow is a Python library for defining and…
permissive · top 15,000 on PyPI
vasprun-xmlParses VASP calculation output from vasprun.xml…
permissive · top 15,000 on PyPI
pymatgenPymatgen provides Python classes and analysis…
permissive · top 5,000 on PyPI
dpdatadpdata converts and manipulates atomistic…
copyleft · top 15,000 on PyPI
pymatgen-corepymatgen-core provides core data structures and…
permissive · top 15,000 on PyPI
phonopyPhonopy calculates phonon properties and…
permissive · top 15,000 on PyPI
emmet-coreEmmet-core provides the core data models,…
permissive · top 15,000 on PyPI
pymatgen-io-validationValidates VASP electronic structure calculation…
permissive · top 15,000 on PyPI
chgnetCHGNet is a pretrained graph neural network…
permissive · top 15,000 on PyPI
pyxtalPyXtal generates crystal structures with…
permissive · top 15,000 on PyPI