PyYAML
click
custodian>=2024.4.18
emmet-core>=0.86.1
jobflow>=0.1.11
monty>=2024.12.10
numpy
pydantic-settings>=2.0.3
pydantic>=2.0.1
pymatgen>=2024.11.13
pymongo<=4.16.0

[abinit]
abipy>=0.9.3
netCDF4<1.7.5

[aims]
pymatgen-io-aims>=0.0.5
pymatgen>=2025.10.7

[amset]
amset>=0.4.15
pydash

[approxneb]
pymatgen-analysis-diffusion>=2024.7.15

[ase]
ase>=3.26.0

[ase-ext]

[ase-ext:platform_system == "Linux"]
tblite>=0.3.0

[cclib]
cclib>=1.8.1

[defects]
dscribe>=1.2.0
pymatgen-analysis-defects>=2024.5.11
python-ulid>=2.7

[fireworks]
fireworks==2.1.3

[forcefields-demo]
chgnet>=0.3.8
atomate2[ase]

[jdftx]
pymatgen==2026.3.23

[lobster]
ijson>=3.2.2
lobsterpy>=0.6.0

[mp]
mp-api>=0.37.5

[openmm]
mdanalysis>=2.8.0
openmm-mdanalysis-reporter>=0.1.0
openmm>=8.1.0

[phonons]
phonopy>=2.43.6
seekpath>=2.0.0

[strict]
atomate2[ase,ase-ext,cclib,defects,lobster,mp,openmm,phonons]
numpy<3.0
numba>=0.60.0
pymatgen==2026.3.23

[strict-forcefields-e3nn-limited]
mace-torch==0.3.15
torch-dftd==0.5.3

[strict-forcefields-generic]
chgnet==0.4.2
quippy-ase==0.10.2
sevenn==0.12.1
deepmd-kit==3.1.3
mattersim==1.2.2
ase<3.29.0
wandb>=0.24.0
upet>=0.2.1

[strict-forcefields-generic:python_version < "3.12"]
calorine==3.1

[strict-forcefields-generic:python_version >= "3.12"]
calorine==3.3

[strict-forcefields-generic:sys_platform == "darwin" or sys_platform == "win32"]
tensorflow==2.21.0

[strict-forcefields-generic:sys_platform == "linux"]
tensorflow-cpu==2.21.0

[strict-forcefields-numpy-limited]
nequip-allegro==0.8.2
numpy==1.26.4

[strict-forcefields-torch-limited]
matgl==2.1.1
torchdata==0.7.1
nequip==0.17.1
numpy==1.26.4

[strict-forcefields-torch-limited:sys_platform == "darwin" or sys_platform == "win32"]
dgl==2.2.0
torch==2.2.0

[strict-forcefields-torch-limited:sys_platform == "linux"]
dgl<=2.4.0
torch==2.2.0

[strict-openff]
mdanalysis==2.10.0
monty==2026.2.18
openmm-mdanalysis-reporter==0.1.0
openmm==8.5.1
pymatgen==2026.3.23

[torchsim]

[torchsim:python_version >= "3.12"]
torch-sim-atomistic==0.5.0
