Installation

Requirements

  • Python 3.10, 3.11, or 3.12

  • ASE (Atomic Simulation Environment)

  • At least one MLIP backend

Install from PyPI

Install AmorphGen with your preferred backend:

# MACE only
pip install "amorphgen[mace]"

# CHGNet only
pip install "amorphgen[chgnet]"

# SevenNet only
pip install "amorphgen[sevennet]"

# MACE + CHGNet (recommended default)
pip install "amorphgen[mace,chgnet]"

# SevenNet + CHGNet (alternative env for SevenNet users)
pip install "amorphgen[sevennet,chgnet]"

# Conflict-free convenience bundle (MACE + CHGNet + analysis)
pip install "amorphgen[all]"

# Development install
pip install "amorphgen[all,dev]"

Warning

Don’t install MACE and SevenNet in the same environment. SevenNet depends on e3nn>=0.5, while pre-trained MACE foundation models (mace-mpa-0, …) were pickled with e3nn==0.4.x and fail to load against the newer e3nn. The [all] extra therefore includes only MACE + CHGNet (not SevenNet).

[mace], [chgnet], and [sevennet] are each fine on their own — just don’t combine [mace] and [sevennet]. The recommended pattern is two conda environments:

# env A — MACE + CHGNet (default)
conda create -n amorphgen python=3.11
conda activate amorphgen
pip install "amorphgen[mace,chgnet]"

# env B — SevenNet + CHGNet (when SevenNet is required)
conda create -n amorphgen-sevennet python=3.11
conda activate amorphgen-sevennet
pip install "amorphgen[sevennet,chgnet]"

CHGNet has no e3nn dependency and is safe alongside either backend. See Calculator backends for the full explanation of the conflict.

Install from source

git clone https://github.com/SMTG-Bham/AmorphGen.git
cd AmorphGen
pip install -e ".[mace,chgnet,dev]"

Backend compatibility

Backend

PyPI package

GPU support

Mac (Apple Silicon)

MACE

mace-torch

CUDA ✅

CPU + MPS ✅

CHGNet

chgnet

CUDA ✅

CPU + MPS ✅

SevenNet

sevenn

CUDA ✅

CPU + MPS ✅

Classical (LJ, Buckingham)

built-in

N/A

CPU ✅

HPC setup (SLURM)

# Load your cluster's CUDA module (name varies by site)
module load CUDA/11.8.0

# MACE + CHGNet env (recommended default)
conda create -n amorphgen python=3.11
conda activate amorphgen
pip install "amorphgen[mace,chgnet]"

If you also want SevenNet, create a second environment as described in the warning above and switch between them in your SLURM scripts via source activate amorphgen or source activate amorphgen-sevennet.

Verify installation

import amorphgen
print(amorphgen.__version__)  # 1.0.0

from amorphgen.utils.calculators import list_models
list_models()  # prints all available models grouped by backend