Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
e6231ad
Pin MACE calculator version, add missing metadata to AseStructureTask…
esoteric-ephemera Feb 11, 2025
fdcd63f
Improve documentation LOBSTER and PHONON workflow (#1117)
JaGeo Feb 11, 2025
6b2e0cd
Add key concept tutorial to tutorial list in README (#1120)
QuantumChemist Feb 11, 2025
eccfaf1
fixing headline levels in key_concepts_overview.md (#1121)
QuantumChemist Feb 11, 2025
46d13b6
Tutorials for QHA and Grüneisen workflows (#1122)
JaGeo Feb 18, 2025
8d16d9f
try to fix the doc (#1125)
JaGeo Feb 18, 2025
4f4b607
add more headlines to tutorials and fix a typo (#1126)
JaGeo Feb 18, 2025
e5a5ba8
Minor update to tutorials (#1128)
naik-aakash Feb 21, 2025
e4b9d39
Added code snippets for Grüneisen, QHA and EOS wfs documentation (#1130)
QuantumChemist Feb 24, 2025
b8ff9f4
adjust example flow names (#1131)
QuantumChemist Feb 25, 2025
49357ed
a few improvements for the tutorials (#1132)
QuantumChemist Mar 7, 2025
1bec0b4
Update pyproject.toml
JaGeo Mar 7, 2025
944070e
Update pyproject.toml
JaGeo Mar 9, 2025
82a6305
test a new pymatgen version
JaGeo Mar 10, 2025
283ebe3
Update pyproject.toml
JaGeo Mar 10, 2025
c693d61
Update test_utils.py
JaGeo Mar 10, 2025
3ddc48b
Aims phonon tutorials (#1136)
tpurcell90 Mar 10, 2025
0752e93
Merge branch 'main' into Fix-mpapi
JaGeo Mar 10, 2025
7375bb3
redraft mp flows
esoteric-ephemera Oct 2, 2024
667ecf1
Merge remote-tracking branch 'jageo/Fix-mpapi' into updated_mp
esoteric-ephemera Mar 12, 2025
b729f98
split off openff tests
esoteric-ephemera Mar 12, 2025
c697722
remove deprecated flows (completely forgot at the start of the year
esoteric-ephemera Mar 12, 2025
7c56e00
fix pin in strict openff wf
esoteric-ephemera Mar 12, 2025
7a2953a
correctly partition tests?
esoteric-ephemera Mar 12, 2025
fdb216f
revert openff_md test ref change
esoteric-ephemera Mar 12, 2025
645385e
openff test over py310-312
esoteric-ephemera Mar 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ jobs:
python -m pip install --upgrade pip
pip install .[strict,docs]

- name: Copy tutorials
run: |
cp -r tutorials docs/
jupyter nbconvert --to markdown docs/tutorials/*.ipynb
jupyter nbconvert --to markdown docs/tutorials/*/*.ipynb

- name: Build
run: sphinx-build docs docs_build

Expand Down
140 changes: 136 additions & 4 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:

- name: Install conda dependencies
run: |
micromamba install -n a2 -c conda-forge enumlib packmol bader openbabel openff-toolkit==0.16.2 openff-interchange==0.3.22 --yes
micromamba install -n a2 -c conda-forge enumlib packmol bader --yes

- name: Install dependencies
run: |
Expand Down Expand Up @@ -87,7 +87,8 @@ jobs:
# However this `splitting-algorithm` means that tests cannot depend sensitively on the order they're executed in.
run: |
micromamba activate a2
pytest --splits 3 --group ${{ matrix.split }} --durations-path tests/.pytest-split-durations --splitting-algorithm least_duration --ignore=tests/ase --cov=atomate2 --cov-report=xml
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


- uses: codecov/codecov-action@v1
if: matrix.python-version == '3.10' && github.repository == 'materialsproject/atomate2'
Expand All @@ -96,6 +97,62 @@ jobs:
name: coverage${{ matrix.split }}
file: ./coverage.xml

test-openff:
# prevent this action from running on forks
if: github.repository == 'materialsproject/atomate2'

services:
local_mongodb:
image: mongo:4.0
ports:
- 27017:27017

runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0} # enables conda/mamba env activation by reading bash profile
strategy:
matrix:
python-version: ["3.10","3.11","3.12"]

steps:
- name: Check out repo
uses: actions/checkout@v4

- name: Set up micromamba
uses: mamba-org/setup-micromamba@main

- name: Create mamba environment
run: |
micromamba create -n a2 python=${{ matrix.python-version }} --yes

- name: Install uv
run: micromamba run -n a2 pip install uv

- name: Install conda dependencies
run: |
micromamba install -n a2 -c conda-forge enumlib packmol bader openbabel openff-toolkit==0.16.2 openff-interchange==0.3.22 --yes

- name: Install dependencies
run: |
micromamba activate a2
python -m pip install --upgrade pip
uv pip install .[strict-openff,tests]

- name: Install pymatgen from master if triggered by pymatgen repo dispatch
if: github.event_name == 'repository_dispatch' && github.event.action == 'pymatgen-ci-trigger'
run: |
micromamba activate a2
uv pip install --upgrade 'git+https://github.com/materialsproject/pymatgen@${{ github.event.client_payload.pymatgen_ref }}'

- name: Test split ${{ matrix.split }}
env:
MP_API_KEY: ${{ secrets.MP_API_KEY }}

run: |
micromamba activate a2
pytest tests/{openff_md,openmm_md}

test-notebooks-and-ase:
# prevent this action from running on forks
if: github.repository == 'materialsproject/atomate2'
Expand Down Expand Up @@ -150,7 +207,7 @@ jobs:
- name: Test Notebooks
run: |
micromamba activate a2
pytest --nbmake ./tutorials --ignore=./tutorials/openmm_tutorial.ipynb
pytest --nbmake ./tutorials --ignore=./tutorials/openmm_tutorial.ipynb --ignore=./tutorials/force_fields

- name: Test ASE
env:
Expand All @@ -165,6 +222,81 @@ jobs:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml

test-force-field-notebook:
# prevent this action from running on forks
if: github.repository == 'materialsproject/atomate2'

services:
local_mongodb:
image: mongo:4.0
ports:
- 27017:27017

runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0} # enables conda/mamba env activation by reading bash profile
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]

steps:
- name: Check out repo
uses: actions/checkout@v4

- name: Set up micromamba
uses: mamba-org/setup-micromamba@main

- name: Create mamba environment
run: |
micromamba create -n a2 python=${{ matrix.python-version }} --yes

- name: Install uv
run: micromamba run -n a2 pip install uv

- name: Install conda dependencies
run: |
micromamba install -n a2 -c conda-forge enumlib packmol bader openbabel openff-toolkit==0.16.2 openff-interchange==0.3.22 --yes

- name: Install dependencies
run: |
micromamba activate a2
python -m pip install --upgrade pip
mkdir -p ~/.abinit/pseudos
cp -r tests/test_data/abinit/pseudos/ONCVPSP-PBE-SR-PDv0.4 ~/.abinit/pseudos
uv pip install .[strict,strict-forcefields,tests,abinit]
uv pip install torch-runstats
uv pip install --no-deps nequip==0.5.6

- name: Install pymatgen from master if triggered by pymatgen repo dispatch
if: github.event_name == 'repository_dispatch' && github.event.action == 'pymatgen-ci-trigger'
run: |
micromamba activate a2
uv pip install --upgrade 'git+https://github.com/materialsproject/pymatgen@${{ github.event.client_payload.pymatgen_ref }}'

- name: Forcefield tutorial
env:
MP_API_KEY: ${{ secrets.MP_API_KEY }}

# regenerate durations file with `pytest --store-durations --durations-path tests/.pytest-split-durations`
# Note the use of `--splitting-algorithm least_duration`.
# This helps prevent a test split having no tests to run, and then the GH action failing, see:
# https://github.com/jerry-git/pytest-split/issues/95
# However this `splitting-algorithm` means that tests cannot depend sensitively on the order they're executed in.
run: |
micromamba activate a2
pytest --nbmake ./tutorials/force_fields


- uses: codecov/codecov-action@v1
if: matrix.python-version == '3.10' && github.repository == 'materialsproject/atomate2'
with:
token: ${{ secrets.CODECOV_TOKEN }}
name: coverage
file: ./coverage.xml



docs:
runs-on: ubuntu-latest

Expand All @@ -186,7 +318,7 @@ jobs:
run: sphinx-build docs docs_build

automerge:
needs: [lint, test-non-ase, test-notebooks-and-ase, docs]
needs: [lint, test-non-ase, test-notebooks-and-ase, test-force-field-notebook, docs]
runs-on: ubuntu-latest

permissions:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ docs/_build/*
docs/_build/*/*
docs/_build/*/*/*
docs_build/*
docs/tutorials/*
docs/tutorials/*/*

# C extensions
*.so
Expand Down
1 change: 1 addition & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ repos:
hooks:
- id: ruff
args: [--fix]
exclude: tutorials/grueneisen_workflow.ipynb
- id: ruff-format
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ started:

- [Introduction to running workflows][running-workflows]
- [Using atomate2 with FireWorks][atomate2_fireworks]
- [Overview of key concepts][key-concepts]
- [List of VASP workflows][vasp_workflows]

## Need help?
Expand Down Expand Up @@ -151,6 +152,7 @@ A journal submission of `atomate2` is undergoing peer review. In the meantime, p
[contributors]: https://materialsproject.github.io/atomate2/about/contributors.html
[license]: https://raw.githubusercontent.com/materialsproject/atomate2/main/LICENSE
[running-workflows]: https://materialsproject.github.io/atomate2/user/running-workflows.html
[key-concepts]: https://materialsproject.github.io/atomate2/user/key_concepts_overview.html#key-concepts-in-atomate2-job-flow-makers-inputset-taskdocument-and-builder
[atomate2_fireworks]: https://materialsproject.github.io/atomate2/user/fireworks.html
[vasp_workflows]: https://materialsproject.github.io/atomate2/user/codes/vasp.html
[RelaxBandStructure]: https://materialsproject.github.io/atomate2/user/codes/vasp.html#relax-and-band-structure
Expand Down
2 changes: 2 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@
user/index
user/install
user/running-workflows
user/key_concepts_overview
user/docs-schemas-emmet
user/fireworks
user/atomate-1-vs-2
user/codes/index
tutorials/tutorials
```

```{toctree}
Expand Down
Loading