Skip to content

Commit 2bd3286

Browse files
resolve merge conflicts + rename schemas to avoid breaking changes
2 parents fcea4a6 + c40a394 commit 2bd3286

File tree

529 files changed

+5836
-2486
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

529 files changed

+5836
-2486
lines changed

.github/workflows/deploy.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121

2222
- uses: actions/setup-python@v5
2323
with:
24-
python-version: "3.10"
24+
python-version: "3.11"
2525
cache: pip
2626
cache-dependency-path: pyproject.toml
2727

@@ -51,7 +51,7 @@ jobs:
5151

5252
- uses: actions/setup-python@v5
5353
with:
54-
python-version: "3.10"
54+
python-version: "3.11"
5555

5656
- name: Build
5757
run: |

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626

2727
- uses: actions/setup-python@v5
2828
with:
29-
python-version: "3.10"
29+
python-version: "3.11"
3030
cache: pip
3131
cache-dependency-path: pyproject.toml
3232

.github/workflows/testing.yml

Lines changed: 40 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717

1818
- uses: actions/setup-python@v5
1919
with:
20-
python-version: "3.10"
20+
python-version: "3.11"
2121
cache: pip
2222
cache-dependency-path: pyproject.toml
2323

@@ -39,7 +39,7 @@ jobs:
3939
shell: bash -l {0} # enables conda/mamba env activation by reading bash profile
4040
strategy:
4141
matrix:
42-
python-version: ["3.10", "3.11", "3.12"]
42+
python-version: ["3.11", "3.12"]
4343
split: [1, 2, 3]
4444

4545
steps:
@@ -48,10 +48,11 @@ jobs:
4848

4949
- name: Set up micromamba
5050
uses: mamba-org/setup-micromamba@main
51-
52-
- name: Create mamba environment
53-
run: |
54-
micromamba create -n a2 python=${{ matrix.python-version }} --yes
51+
with:
52+
environment-name: a2
53+
cache-environment: false
54+
create-args: >-
55+
python=${{ matrix.python-version }}
5556
5657
- name: Install uv
5758
run: micromamba run -n a2 pip install uv
@@ -66,8 +67,8 @@ jobs:
6667
python -m pip install --upgrade pip
6768
mkdir -p ~/.abinit/pseudos
6869
cp -r tests/test_data/abinit/pseudos/ONCVPSP-PBE-SR-PDv0.4 ~/.abinit/pseudos
69-
uv pip install .[strict,strict-forcefields,tests,abinit]
70-
uv pip install torch-runstats
70+
uv pip install .[strict,strict-forcefields,tests,abinit,approxneb,aims]
71+
uv pip install torch-runstats torch_dftd
7172
uv pip install --no-deps nequip==0.5.6
7273
7374
- name: Install pymatgen from master if triggered by pymatgen repo dispatch
@@ -87,11 +88,11 @@ jobs:
8788
# However this `splitting-algorithm` means that tests cannot depend sensitively on the order they're executed in.
8889
run: |
8990
micromamba activate a2
90-
pytest --splits 3 --group ${{ matrix.split }} --durations-path tests/.pytest-split-durations --splitting-algorithm least_duration --ignore=tests/ase --ignore=tests/openff_md --ignore=tests/openmm_md --cov=atomate2 --cov-report=xml
91+
pytest -n auto --splits 3 --group ${{ matrix.split }} --durations-path tests/.pytest-split-durations --splitting-algorithm least_duration --ignore=tests/ase --ignore=tests/openff_md --ignore=tests/openmm_md --cov=atomate2 --cov-report=xml
9192
9293
9394
- uses: codecov/codecov-action@v1
94-
if: matrix.python-version == '3.10' && github.repository == 'materialsproject/atomate2'
95+
if: matrix.python-version == '3.11' && github.repository == 'materialsproject/atomate2'
9596
with:
9697
token: ${{ secrets.CODECOV_TOKEN }}
9798
name: coverage${{ matrix.split }}
@@ -113,18 +114,19 @@ jobs:
113114
shell: bash -l {0} # enables conda/mamba env activation by reading bash profile
114115
strategy:
115116
matrix:
116-
python-version: ["3.10","3.11","3.12"]
117+
python-version: ["3.11","3.12"]
117118

118119
steps:
119120
- name: Check out repo
120121
uses: actions/checkout@v4
121122

122123
- name: Set up micromamba
123124
uses: mamba-org/setup-micromamba@main
124-
125-
- name: Create mamba environment
126-
run: |
127-
micromamba create -n a2 python=${{ matrix.python-version }} --yes
125+
with:
126+
environment-name: a2
127+
cache-environment: false
128+
create-args: >-
129+
python=${{ matrix.python-version }}
128130
129131
- name: Install uv
130132
run: micromamba run -n a2 pip install uv
@@ -151,12 +153,12 @@ jobs:
151153

152154
run: |
153155
micromamba activate a2
154-
pytest tests/{openff_md,openmm_md}
156+
pytest -n auto tests/{openff_md,openmm_md}
155157
156158
test-notebooks-and-ase:
157159
# prevent this action from running on forks
158160
if: github.repository == 'materialsproject/atomate2'
159-
161+
160162
# It seems like anything torch-dependent and tblite can't be installed in the same environment
161163
# without the tblite tests failing in CI, see, e.g.:
162164
# https://github.com/tblite/tblite/issues/116
@@ -174,18 +176,19 @@ jobs:
174176
shell: bash -l {0} # enables conda/mamba env activation by reading bash profile
175177
strategy:
176178
matrix:
177-
python-version: ["3.10", "3.11", "3.12"]
179+
python-version: ["3.11", "3.12"]
178180

179181
steps:
180182
- name: Check out repo
181183
uses: actions/checkout@v4
182184

183185
- name: Set up micromamba
184186
uses: mamba-org/setup-micromamba@main
185-
186-
- name: Create mamba environment
187-
run: |
188-
micromamba create -n a2 python=${{ matrix.python-version }} --yes
187+
with:
188+
environment-name: a2
189+
cache-environment: false
190+
create-args: >-
191+
python=${{ matrix.python-version }}
189192
190193
- name: Install uv
191194
run: micromamba run -n a2 pip install uv
@@ -198,7 +201,7 @@ jobs:
198201
run: |
199202
micromamba activate a2
200203
python -m pip install --upgrade pip
201-
uv pip install .[strict,tests]
204+
uv pip install .[strict,tests,aims]
202205
uv pip install tblite>=0.4.0
203206
204207
- name: Install pymatgen from master if triggered by pymatgen repo dispatch
@@ -210,17 +213,17 @@ jobs:
210213
MP_API_KEY: ${{ secrets.MP_API_KEY }}
211214
run: |
212215
micromamba activate a2
213-
pytest --nbmake ./tutorials --ignore=./tutorials/openmm_tutorial.ipynb --ignore=./tutorials/force_fields
216+
pytest -n auto --nbmake ./tutorials --ignore=./tutorials/openmm_tutorial.ipynb --ignore=./tutorials/force_fields
214217
215218
- name: Test ASE
216219
env:
217220
MP_API_KEY: ${{ secrets.MP_API_KEY }}
218221
run: |
219222
micromamba activate a2
220-
pytest --splits 1 --group 1 --cov=atomate2 --cov-report=xml tests/ase
223+
pytest -n auto --splits 1 --group 1 --cov=atomate2 --cov-report=xml tests/ase
221224
222225
- uses: codecov/codecov-action@v1
223-
if: matrix.python-version == '3.10' && github.repository == 'materialsproject/atomate2'
226+
if: matrix.python-version == '3.11' && github.repository == 'materialsproject/atomate2'
224227
with:
225228
token: ${{ secrets.CODECOV_TOKEN }}
226229
file: ./coverage.xml
@@ -241,18 +244,19 @@ jobs:
241244
shell: bash -l {0} # enables conda/mamba env activation by reading bash profile
242245
strategy:
243246
matrix:
244-
python-version: ["3.10", "3.11", "3.12"]
247+
python-version: ["3.11", "3.12"]
245248

246249
steps:
247250
- name: Check out repo
248251
uses: actions/checkout@v4
249252

250253
- name: Set up micromamba
251254
uses: mamba-org/setup-micromamba@main
252-
253-
- name: Create mamba environment
254-
run: |
255-
micromamba create -n a2 python=${{ matrix.python-version }} --yes
255+
with:
256+
environment-name: a2
257+
cache-environment: false
258+
create-args: >-
259+
python=${{ matrix.python-version }}
256260
257261
- name: Install uv
258262
run: micromamba run -n a2 pip install uv
@@ -267,7 +271,7 @@ jobs:
267271
python -m pip install --upgrade pip
268272
mkdir -p ~/.abinit/pseudos
269273
cp -r tests/test_data/abinit/pseudos/ONCVPSP-PBE-SR-PDv0.4 ~/.abinit/pseudos
270-
uv pip install .[strict,strict-forcefields,tests,abinit]
274+
uv pip install .[strict,strict-forcefields,tests,abinit,aims]
271275
uv pip install torch-runstats
272276
uv pip install --no-deps nequip==0.5.6
273277
@@ -288,11 +292,11 @@ jobs:
288292
# However this `splitting-algorithm` means that tests cannot depend sensitively on the order they're executed in.
289293
run: |
290294
micromamba activate a2
291-
pytest --nbmake ./tutorials/force_fields
295+
pytest -n auto --nbmake ./tutorials/force_fields
292296
293297
294298
- uses: codecov/codecov-action@v1
295-
if: matrix.python-version == '3.10' && github.repository == 'materialsproject/atomate2'
299+
if: matrix.python-version == '3.11' && github.repository == 'materialsproject/atomate2'
296300
with:
297301
token: ${{ secrets.CODECOV_TOKEN }}
298302
name: coverage
@@ -308,7 +312,7 @@ jobs:
308312

309313
- uses: actions/setup-python@v5
310314
with:
311-
python-version: "3.10"
315+
python-version: "3.11"
312316
cache: pip
313317
cache-dependency-path: pyproject.toml
314318

@@ -321,7 +325,7 @@ jobs:
321325
run: sphinx-build docs docs_build
322326

323327
automerge:
324-
needs: [lint, test-non-ase, test-notebooks-and-ase, test-force-field-notebook, docs]
328+
needs: [docs, lint, test-force-field-notebook, test-non-ase, test-notebooks-and-ase, test-openff]
325329
runs-on: ubuntu-latest
326330

327331
permissions:

.github/workflows/update-precommit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- name: Set up Python
1616
uses: actions/setup-python@v5
1717
with:
18-
python-version: "3.10"
18+
python-version: "3.11"
1919

2020
- name: Install pre-commit
2121
run: pip install pre-commit

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ docs_build/*
88
docs/tutorials/*
99
docs/tutorials/*/*
1010

11+
# tutorial output files
12+
tutorials/*.json.gz
13+
1114
# C extensions
1215
*.so
1316

@@ -75,3 +78,6 @@ docs/reference/atomate2.*
7578

7679
.ipynb_checkpoints
7780
.aider*
81+
82+
# deepmd-kit files
83+
**/*.pb

.pre-commit-config.yaml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,24 @@ default_language_version:
33
exclude: ^(.github/|tests/test_data/abinit/)
44
repos:
55
- repo: https://github.com/charliermarsh/ruff-pre-commit
6-
rev: v0.9.3
6+
rev: v0.14.2
77
hooks:
88
- id: ruff
99
args: [--fix]
1010
exclude: tutorials/grueneisen_workflow.ipynb
1111
- id: ruff-format
1212
- repo: https://github.com/pre-commit/pre-commit-hooks
13-
rev: v5.0.0
13+
rev: v6.0.0
1414
hooks:
1515
- id: check-yaml
16-
- id: fix-encoding-pragma
17-
args: [--remove]
1816
- id: end-of-file-fixer
1917
- id: trailing-whitespace
18+
- repo: https://github.com/asottile/pyupgrade
19+
rev: v3.21.0
20+
hooks:
21+
- id: pyupgrade
2022
- repo: https://github.com/asottile/blacken-docs
21-
rev: 1.19.1
23+
rev: 1.20.0
2224
hooks:
2325
- id: blacken-docs
2426
additional_dependencies: [black]
@@ -31,15 +33,15 @@ repos:
3133
- id: rst-directive-colons
3234
- id: rst-inline-touching-normal
3335
- repo: https://github.com/pre-commit/mirrors-mypy
34-
rev: v1.14.1
36+
rev: v1.18.2
3537
hooks:
3638
- id: mypy
3739
files: ^src/
3840
additional_dependencies:
3941
- tokenize-rt==4.1.0
4042
- types-paramiko
4143
- repo: https://github.com/codespell-project/codespell
42-
rev: v2.4.0
44+
rev: v2.4.1
4345
hooks:
4446
- id: codespell
4547
stages: [pre-commit, commit-msg]

CODE_OF_CONDUCT.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,18 @@ This Code of Conduct applies both within project spaces and in public spaces
3535
when an individual is representing the project or its community.
3636

3737
Instances of abusive, harassing, or otherwise unacceptable behavior may be
38-
reported by contacting a project maintainer at [INSERT EMAIL ADDRESS]. All
39-
complaints will be reviewed and investigated and will result in a response that
40-
is deemed necessary and appropriate to the circumstances. Maintainers are
41-
obligated to maintain confidentiality with regard to the reporter of an
42-
incident.
43-
38+
reported by contacting a project maintainer at [email protected]. All
39+
complaints will be reviewed and investigated by a Materials Project staff member
40+
and will result in a response that
41+
is deemed necessary and appropriate to the circumstances.
42+
43+
Project maintainers and Materials Project staff members are obligated to
44+
maintain confidentiality with regard to the reporter of an incident to the extent
45+
possible by law and institutional policy. Community members should be aware that
46+
Materials Project staff members are subject to Lawrence Berkeley National Laboratory's
47+
[harassment and discrimination policies](https://diversity.lbl.gov/harassment-discrimination-policies/),
48+
which require that reports of sexual violence or harassment (as defined in the policy)
49+
be reported to the institution.
4450

4551
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
4652
version 1.3.0, available at https://www.contributor-covenant.org/version/1/3/0/code-of-conduct.html

README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -134,16 +134,17 @@ A full list of contributors can be found [here][contributors].
134134

135135
## Citing atomate2
136136

137-
A journal submission of `atomate2` is undergoing peer review. In the meantime, please cite the [ChemRxiv preprint](https://chemrxiv.org/engage/chemrxiv/article-details/678e76a16dde43c9085c75e9):
137+
If you use atomate2, please cite the [following article](https://doi.org/10.1039/D5DD00019J):
138138

139139
```bib
140140
@article{ganose2025_atomate2,
141-
title = {Atomate2: Modular Workflows for Materials Science},
142-
author = {Ganose, Alex M. and Sahasrabuddhe, Hrushikesh and Asta, Mark and Beck, Kevin and Biswas, Tathagata and Bonkowski, Alexander and Bustamante, Joana and Chen, Xin and Chiang, Yuan and Chrzan, Daryl and Clary, Jacob and Cohen, Orion and Ertural, Christina and Gallant, Max and George, Janine and Gerits, Sophie and Goodall, Rhys and Guha, Rishabh and Hautier, Geoffroy and Horton, Matthew and Kaplan, Aaron and Kingsbury, Ryan and Kuner, Matthew and Li, Bryant and Linn, Xavier and McDermott, Matthew and Mohanakrishnan, Rohith Srinivaas and Naik, Aakash and Neaton, Jeffrey and Persson, Kristin and Petretto, Guido and Purcell, Thomas and Ricci, Francesco and Rich, Benjamin and Riebesell, Janosh and Rignanese, Gian-Marco and Rosen, Andrew and Scheffler, Matthias and Schmidt, Jonathan and Shen, Jimmy-Xuan and Sobolev, Andrei and Sundararaman, Ravishankar and Tezak, Cooper and Trinquet, Victor and Varley, Joel and Vigil-Fowler, Derek and Wang, Duo and Waroquiers, David and Wen, Mingjian and Yang, Han and Zheng, Hui and Zheng, Jiongzhi and Zhu, Zhuoying and Jain, Anubhav},
143-
year = 2025,
144-
journal = {ChemRxiv},
145-
url = {https://chemrxiv.org/engage/chemrxiv/article-details/678e76a16dde43c9085c75e9},
146-
urldate = {2025-01-22},
141+
title = {Atomate2: modular workflows for materials science},
142+
author = {Ganose, Alex M. and Sahasrabuddhe, Hrushikesh and Asta, Mark and Beck, Kevin and Biswas, Tathagata and Bonkowski, Alexander and Bustamante, Joana and Chen, Xin and Chiang, Yuan and Chrzan, Daryl C. and Clary, Jacob and Cohen, Orion A. and Ertural, Christina and Gallant, Max C. and George, Janine and Gerits, Sophie and Goodall, Rhys E. A. and Guha, Rishabh D. and Hautier, Geoffroy and Horton, Matthew and Inizan, T. J. and Kaplan, Aaron D. and Kingsbury, Ryan S. and Kuner, Matthew C. and Li, Bryant and Linn, Xavier and McDermott, Matthew J. and Mohanakrishnan, Rohith Srinivaas and Naik, Aakash A. and Neaton, Jeffrey B. and Parmar, Shehan M. and Persson, Kristin A. and Petretto, Guido and Purcell, Thomas A. R. and Ricci, Francesco and Rich, Benjamin and Riebesell, Janosh and Rignanese, Gian-Marco and Rosen, Andrew S. and Scheffler, Matthias and Schmidt, Jonathan and Shen, Jimmy-Xuan and Sobolev, Andrei and Sundararaman, Ravishankar and Tezak, Cooper and Trinquet, Victor and Varley, Joel B. and Vigil-Fowler, Derek and Wang, Duo and Waroquiers, David and Wen, Mingjian and Yang, Han and Zheng, Hui and Zheng, Jiongzhi and Zhu, Zhuoying and Jain, Anubhav},
143+
year = {2025},
144+
journal = {Digital Discovery},
145+
doi = {10.1039/D5DD00019J},
146+
url = {https://doi.org/10.1039/D5DD00019J},
147+
urldate = {2025-07-01},
147148
}
148149
```
149150

0 commit comments

Comments
 (0)