From 6aea18b640eb67a71b7b7d5318a3976ee6bba147 Mon Sep 17 00:00:00 2001 From: esoteric-ephemera Date: Mon, 6 Apr 2026 10:11:56 -0700 Subject: [PATCH 1/2] ff dep groups --- docs/user/codes/forcefields.md | 9 +++++---- pyproject.toml | 11 +++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/user/codes/forcefields.md b/docs/user/codes/forcefields.md index 503b4cd76b..09e452401b 100644 --- a/docs/user/codes/forcefields.md +++ b/docs/user/codes/forcefields.md @@ -3,12 +3,13 @@ # Machine Learning forcefields / interatomic potentials `atomate2` includes an interface to a few common machine learning interatomic potentials (MLIPs), also known variously as machine learning forcefields (MLFFs), or foundation potentials (FPs) for universal variants. +These can be installed using `pip install 'atomate2[forcefields-base]'` or `pip install 'atomate2[ase]'`. -***As of `atomate2==0.1.1`, most forcefield packages are opt-in only. You must install those forcefields which you plan to use.*** -Running `pip install 'atomate2[forcefields]'` will install the `chgnet` package to permit you to try the forcefield classes. -You can then select other forcefields you want to use. +***As of `atomate2==0.1.2`, all forcefield packages are opt-in only. You must install those forcefields which you plan to use.*** + +Running `pip install 'atomate2[forcefields-demo]'` will install the `chgnet` package to permit you to try the forcefield jobs/workflows. +You can then install additional forcefield libraries. -We have made this choice both to avoid the appearance of favoritism (both `chgnet` and `atomate2` are Materials Project-supported projects), and to avoid dependency conflicts between MLFF packages. If you need a sense of which forcefields are compatible, you can use the [pyproject.toml](https://github.com/materialsproject/atomate2/blob/a8bc6505e439503a114f5346aec916aafae7f27b/pyproject.toml#L90) to see which versions are grouped together for testing. Most of `Maker` classes using the forcefields inherit from `atomate2.forcefields.utils.ForceFieldMixin` to specify which forcefield to use. diff --git a/pyproject.toml b/pyproject.toml index fd9090fdbf..8722f8ca76 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -55,17 +55,16 @@ defects = [ "python-ulid>=2.7", ] -forcefields = [ - "ase>=3.26.0", - "chgnet>=0.4.2", -] +ase = ["ase>=3.26.0"] +ase-ext = ["tblite>=0.3.0; platform_system=='Linux'"] +forcefields-base = ["atomate2[ase]"] +forcefields-demo = ["chgnet>=0.3.8","atomate2[ase]"] + torchsim = [ "torch-sim-atomistic==0.5.0; python_version >= '3.12'" ] jdftx = ["pymatgen==2026.3.23"] approxneb = ["pymatgen-analysis-diffusion>=2024.7.15"] -ase = ["ase>=3.26.0"] -ase-ext = ["tblite>=0.3.0; platform_system=='Linux'"] openmm = [ "mdanalysis>=2.8.0", "openmm-mdanalysis-reporter>=0.1.0", From 8720ba55087355d934f658604732f8eed0c4b004 Mon Sep 17 00:00:00 2001 From: esoteric-ephemera Date: Mon, 6 Apr 2026 10:28:53 -0700 Subject: [PATCH 2/2] narrow ff dep groups --- docs/user/codes/forcefields.md | 2 +- pyproject.toml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/user/codes/forcefields.md b/docs/user/codes/forcefields.md index 09e452401b..5b70893e76 100644 --- a/docs/user/codes/forcefields.md +++ b/docs/user/codes/forcefields.md @@ -3,7 +3,7 @@ # Machine Learning forcefields / interatomic potentials `atomate2` includes an interface to a few common machine learning interatomic potentials (MLIPs), also known variously as machine learning forcefields (MLFFs), or foundation potentials (FPs) for universal variants. -These can be installed using `pip install 'atomate2[forcefields-base]'` or `pip install 'atomate2[ase]'`. +These can be installed using `pip install 'atomate2[ase]'`. ***As of `atomate2==0.1.2`, all forcefield packages are opt-in only. You must install those forcefields which you plan to use.*** diff --git a/pyproject.toml b/pyproject.toml index 8722f8ca76..e3ea24ab53 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -57,7 +57,6 @@ defects = [ ase = ["ase>=3.26.0"] ase-ext = ["tblite>=0.3.0; platform_system=='Linux'"] -forcefields-base = ["atomate2[ase]"] forcefields-demo = ["chgnet>=0.3.8","atomate2[ase]"] torchsim = [