Skip to content

Commit 6db514b

Browse files
committed
Merge remote-tracking branch 'upstream/main'
Merging latest changes in upstream.
2 parents 61720bb + eccfaf1 commit 6db514b

Some content is hidden

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

56 files changed

+1829
-475
lines changed

.github/workflows/docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
run: sphinx-build docs docs_build
4040

4141
- name: Upload build artifact
42-
uses: actions/upload-pages-artifact@v2
42+
uses: actions/upload-pages-artifact@v3
4343
with:
4444
path: ./docs_build
4545

@@ -52,4 +52,4 @@ jobs:
5252
steps:
5353
- name: Deploy to GitHub Pages
5454
id: deployment
55-
uses: actions/deploy-pages@v2
55+
uses: actions/deploy-pages@v4

.github/workflows/testing.yml

Lines changed: 78 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ jobs:
8989
micromamba activate a2
9090
pytest --splits 3 --group ${{ matrix.split }} --durations-path tests/.pytest-split-durations --splitting-algorithm least_duration --ignore=tests/ase --cov=atomate2 --cov-report=xml
9191
92+
9293
- uses: codecov/codecov-action@v1
9394
if: matrix.python-version == '3.10' && github.repository == 'materialsproject/atomate2'
9495
with:
@@ -150,7 +151,7 @@ jobs:
150151
- name: Test Notebooks
151152
run: |
152153
micromamba activate a2
153-
pytest --nbmake ./tutorials --ignore=./tutorials/openmm_tutorial.ipynb
154+
pytest --nbmake ./tutorials --ignore=./tutorials/openmm_tutorial.ipynb --ignore=./tutorials/force_fields
154155
155156
- name: Test ASE
156157
env:
@@ -165,6 +166,81 @@ jobs:
165166
token: ${{ secrets.CODECOV_TOKEN }}
166167
file: ./coverage.xml
167168

169+
test-force-field-notebook:
170+
# prevent this action from running on forks
171+
if: github.repository == 'materialsproject/atomate2'
172+
173+
services:
174+
local_mongodb:
175+
image: mongo:4.0
176+
ports:
177+
- 27017:27017
178+
179+
runs-on: ubuntu-latest
180+
defaults:
181+
run:
182+
shell: bash -l {0} # enables conda/mamba env activation by reading bash profile
183+
strategy:
184+
matrix:
185+
python-version: ["3.10", "3.11", "3.12"]
186+
187+
steps:
188+
- name: Check out repo
189+
uses: actions/checkout@v4
190+
191+
- name: Set up micromamba
192+
uses: mamba-org/setup-micromamba@main
193+
194+
- name: Create mamba environment
195+
run: |
196+
micromamba create -n a2 python=${{ matrix.python-version }} --yes
197+
198+
- name: Install uv
199+
run: micromamba run -n a2 pip install uv
200+
201+
- name: Install conda dependencies
202+
run: |
203+
micromamba install -n a2 -c conda-forge enumlib packmol bader openbabel openff-toolkit==0.16.2 openff-interchange==0.3.22 --yes
204+
205+
- name: Install dependencies
206+
run: |
207+
micromamba activate a2
208+
python -m pip install --upgrade pip
209+
mkdir -p ~/.abinit/pseudos
210+
cp -r tests/test_data/abinit/pseudos/ONCVPSP-PBE-SR-PDv0.4 ~/.abinit/pseudos
211+
uv pip install .[strict,strict-forcefields,tests,abinit]
212+
uv pip install torch-runstats
213+
uv pip install --no-deps nequip==0.5.6
214+
215+
- name: Install pymatgen from master if triggered by pymatgen repo dispatch
216+
if: github.event_name == 'repository_dispatch' && github.event.action == 'pymatgen-ci-trigger'
217+
run: |
218+
micromamba activate a2
219+
uv pip install --upgrade 'git+https://github.com/materialsproject/pymatgen@${{ github.event.client_payload.pymatgen_ref }}'
220+
221+
- name: Forcefield tutorial
222+
env:
223+
MP_API_KEY: ${{ secrets.MP_API_KEY }}
224+
225+
# regenerate durations file with `pytest --store-durations --durations-path tests/.pytest-split-durations`
226+
# Note the use of `--splitting-algorithm least_duration`.
227+
# This helps prevent a test split having no tests to run, and then the GH action failing, see:
228+
# https://github.com/jerry-git/pytest-split/issues/95
229+
# However this `splitting-algorithm` means that tests cannot depend sensitively on the order they're executed in.
230+
run: |
231+
micromamba activate a2
232+
pytest --nbmake ./tutorials/force_fields
233+
234+
235+
- uses: codecov/codecov-action@v1
236+
if: matrix.python-version == '3.10' && github.repository == 'materialsproject/atomate2'
237+
with:
238+
token: ${{ secrets.CODECOV_TOKEN }}
239+
name: coverage
240+
file: ./coverage.xml
241+
242+
243+
168244
docs:
169245
runs-on: ubuntu-latest
170246

@@ -186,7 +262,7 @@ jobs:
186262
run: sphinx-build docs docs_build
187263

188264
automerge:
189-
needs: [lint, test-non-ase, test-notebooks-and-ase, docs]
265+
needs: [lint, test-non-ase, test-notebooks-and-ase, test-force-field-notebook, docs]
190266
runs-on: ubuntu-latest
191267

192268
permissions:

.pre-commit-config.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ default_language_version:
33
exclude: ^(.github/|tests/test_data/abinit/)
44
repos:
55
- repo: https://github.com/charliermarsh/ruff-pre-commit
6-
rev: v0.8.0
6+
rev: v0.9.3
77
hooks:
88
- id: ruff
99
args: [--fix]
@@ -30,15 +30,15 @@ repos:
3030
- id: rst-directive-colons
3131
- id: rst-inline-touching-normal
3232
- repo: https://github.com/pre-commit/mirrors-mypy
33-
rev: v1.13.0
33+
rev: v1.14.1
3434
hooks:
3535
- id: mypy
3636
files: ^src/
3737
additional_dependencies:
3838
- tokenize-rt==4.1.0
3939
- types-paramiko
4040
- repo: https://github.com/codespell-project/codespell
41-
rev: v2.3.0
41+
rev: v2.4.0
4242
hooks:
4343
- id: codespell
4444
stages: [pre-commit, commit-msg]

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,34 @@
11
# Change log
22

3+
## v0.0.19
4+
5+
### Bug Fixes 🐛
6+
* CP2K fixes by @janosh in https://github.com/materialsproject/atomate2/pull/1056
7+
* bug fix for linear strain passing in qha by @JaGeo in https://github.com/materialsproject/atomate2/pull/1061
8+
* Fix `generate_phonon_displacements` magmom removal side effect by @janosh in https://github.com/materialsproject/atomate2/pull/1064
9+
* Fixed Failing Abinit tests bis by @VicTrqt in https://github.com/materialsproject/atomate2/pull/1108
10+
### Enhancements 🛠
11+
* Add trajectory reporter to openmm workflow by @orionarcher in https://github.com/materialsproject/atomate2/pull/1053
12+
* `PhononMaker` add options to `calculate_pdos` and save force constants to file by @chouyoudou in https://github.com/materialsproject/atomate2/pull/1008
13+
* Allow `MatPesStaticFlowMaker(static2=None)` by @janosh in https://github.com/materialsproject/atomate2/pull/997
14+
### Documentation 📖
15+
* Minor docs cleanup by @esoteric-ephemera in https://github.com/materialsproject/atomate2/pull/1047
16+
* add openmm description to docs by @JaGeo in https://github.com/materialsproject/atomate2/pull/1069
17+
* Docs update, forcefield elastic convenience maker, forcefield enum hydration by @esoteric-ephemera in https://github.com/materialsproject/atomate2/pull/1072
18+
* Added the ChemRxiv citation by @hrushikesh-s in https://github.com/materialsproject/atomate2/pull/1107
19+
* Fix docs by @janosh in https://github.com/materialsproject/atomate2/pull/1109
20+
### House-Keeping 🧹
21+
* Fix minor phonon code formatting issues + typos by @janosh in https://github.com/materialsproject/atomate2/pull/1070
22+
* Fix bump phonopy by @naik-aakash in https://github.com/materialsproject/atomate2/pull/1006
23+
* update calorine version by @naik-aakash in https://github.com/materialsproject/atomate2/pull/1083
24+
* Deprecated `Structure.ntypesp` in pymatgen by @jmmshn in https://github.com/materialsproject/atomate2/pull/1105
25+
26+
### New Contributors
27+
* @chouyoudou made their first contribution in https://github.com/materialsproject/atomate2/pull/1008
28+
* @VicTrqt made their first contribution in https://github.com/materialsproject/atomate2/pull/1108
29+
30+
**Full Changelog**: https://github.com/materialsproject/atomate2/compare/v0.0.18...v0.0.19
31+
332
## v0.0.18
433

534
### New Features 🎉

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ started:
9696

9797
- [Introduction to running workflows][running-workflows]
9898
- [Using atomate2 with FireWorks][atomate2_fireworks]
99+
- [Overview of key concepts][key-concepts]
99100
- [List of VASP workflows][vasp_workflows]
100101

101102
## Need help?
@@ -124,18 +125,16 @@ A full list of contributors can be found [here][contributors].
124125

125126
## Citing atomate2
126127

127-
A journal submission for `atomate2` is planned. In the meantime, please use [`citation.cff`](citation.cff) and the [Zenodo record](https://zenodo.org/badge/latestdoi/306414371) to cite `atomate2`.
128+
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):
128129

129130
```bib
130-
@software{ganose_atomate2_2024,
131-
author = {Ganose, Alex and Riebesell, Janosh and George, J. and Shen, Jimmy and S. Rosen, Andrew and Ashok Naik, Aakash and nwinner and Wen, Mingjian and rdguha1995 and Kuner, Matthew and Petretto, Guido and Zhu, Zhuoying and Horton, Matthew and Sahasrabuddhe, Hrushikesh and Kaplan, Aaron and Schmidt, Jonathan and Ertural, Christina and Kingsbury, Ryan and McDermott, Matt and Goodall, Rhys and Bonkowski, Alexander and Purcell, Thomas and Zügner, Daniel and Qi, Ji},
132-
doi = {10.5281/zenodo.10677081},
133-
license = {cc-by-4.0},
134-
month = jan,
135-
title = {atomate2},
136-
url = {https://github.com/materialsproject/atomate2},
137-
version = {0.0.13},
138-
year = {2024}
131+
@article{ganose2025_atomate2,
132+
title = {Atomate2: Modular Workflows for Materials Science},
133+
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},
134+
year = 2025,
135+
journal = {ChemRxiv},
136+
url = {https://chemrxiv.org/engage/chemrxiv/article-details/678e76a16dde43c9085c75e9},
137+
urldate = {2025-01-22},
139138
}
140139
```
141140

@@ -153,6 +152,7 @@ A journal submission for `atomate2` is planned. In the meantime, please use [`ci
153152
[contributors]: https://materialsproject.github.io/atomate2/about/contributors.html
154153
[license]: https://raw.githubusercontent.com/materialsproject/atomate2/main/LICENSE
155154
[running-workflows]: https://materialsproject.github.io/atomate2/user/running-workflows.html
155+
[key-concepts]: https://materialsproject.github.io/atomate2/user/key_concepts_overview.html#key-concepts-in-atomate2-job-flow-makers-inputset-taskdocument-and-builder
156156
[atomate2_fireworks]: https://materialsproject.github.io/atomate2/user/fireworks.html
157157
[vasp_workflows]: https://materialsproject.github.io/atomate2/user/codes/vasp.html
158158
[RelaxBandStructure]: https://materialsproject.github.io/atomate2/user/codes/vasp.html#relax-and-band-structure

0 commit comments

Comments
 (0)