Repository: Quantum-Accelerators/quacc
Pull request #1631 (2024-01-29 16:53:06)

Bump emmet-core from 0.76.2 to 0.77.0
Bumps [emmet-core](https://github.com/materialsproject/emmet) from 0.76.2 to 0.77.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/materialsproject/emmet/releases">emmet-core's releases</a>.</em></p>
<blockquote>
<h2>v0.77.0</h2>
<p>Version 0.77.0</p>
<h3>Commits</h3>
<ul>
<li>[d7c80366] Allow ULID for MPIDS (<a href="https://redirect.github.com/materialsproject/emmet/issues/928">#928</a>)</li>
<li>[43727994] upgrade dependencies for deployment</li>
<li>[35b1d428] bump python image 3.1010.21</li>
<li>[83530f98] Automated dependency upgrades (<a href="https://redirect.github.com/materialsproject/emmet/issues/927">#927</a>)</li>
<li>[973b6a05] upgrade dependencies for deployment</li>
<li>[987eb4b3] upgrade dependencies for deployment</li>
<li>[8d8beb6d] Automated dependency upgrades (<a href="https://redirect.github.com/materialsproject/emmet/issues/923">#923</a>)</li>
<li>[8bfc343b] Merge pull request <a href="https://redirect.github.com/materialsproject/emmet/issues/924">#924</a> from materialsproject/ml-doc-pydantic-schema-compliance</li>
<li>[c2b572d1] update doc str</li>
<li>[8b77f161] switch 'name' to 'model' for clarity</li>
<li>[44138636] don't forget to update the builder too...</li>
<li>[43697784] remove 'model_' from field names to prevent clash with pydantic's protected 'model_' namespace</li>
<li>[fdbd3a47] upgrade dependencies for deployment</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/materialsproject/emmet/commit/d7c8036690e341119d5f5481f97f50dbd943e7d1"><code>d7c8036</code></a> Allow ULID for MPIDS (<a href="https://redirect.github.com/materialsproject/emmet/issues/928">#928</a>)</li>
<li><a href="https://github.com/materialsproject/emmet/commit/437279940bacce86d646de9b73ded57a9893fe4a"><code>4372799</code></a> upgrade dependencies for deployment</li>
<li><a href="https://github.com/materialsproject/emmet/commit/35b1d428a510b000bbc8f40f0891686f7a44ad9d"><code>35b1d42</code></a> bump python image 3.1010.21</li>
<li><a href="https://github.com/materialsproject/emmet/commit/83530f9853adaa4b83d02c0dba94478f2861151f"><code>83530f9</code></a> Automated dependency upgrades (<a href="https://redirect.github.com/materialsproject/emmet/issues/927">#927</a>)</li>
<li><a href="https://github.com/materialsproject/emmet/commit/973b6a0592cea34fefadcea0f0108ee0d0352d59"><code>973b6a0</code></a> upgrade dependencies for deployment</li>
<li><a href="https://github.com/materialsproject/emmet/commit/987eb4b3d8fadc8c4ca054ab418e1b4ffe1c719f"><code>987eb4b</code></a> upgrade dependencies for deployment</li>
<li><a href="https://github.com/materialsproject/emmet/commit/8d8beb6d3ddd4ea054e8b37e88257338dea15c47"><code>8d8beb6</code></a> Automated dependency upgrades (<a href="https://redirect.github.com/materialsproject/emmet/issues/923">#923</a>)</li>
<li><a href="https://github.com/materialsproject/emmet/commit/8bfc343b5330327f7f3b65d4f618e8090d743684"><code>8bfc343</code></a> Merge pull request <a href="https://redirect.github.com/materialsproject/emmet/issues/924">#924</a> from materialsproject/ml-doc-pydantic-schema-compliance</li>
<li><a href="https://github.com/materialsproject/emmet/commit/c2b572d1f172447c46977099d6498f54e04b977c"><code>c2b572d</code></a> update doc str</li>
<li><a href="https://github.com/materialsproject/emmet/commit/8b77f161c0d3cc93c602de4dfb099abe21e387c5"><code>8b77f16</code></a> switch 'name' to 'model' for clarity</li>
<li>Additional commits viewable in <a href="https://github.com/materialsproject/emmet/compare/v0.76.2...v0.77.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=emmet-core&package-manager=pip&previous-version=0.76.2&new-version=0.77.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

buildbot-princeton: Can one of the admins verify this patch?

Patch:
diff --git a/src/quacc/runners/ase.py b/src/quacc/runners/ase.py
index 569a4040..fbbd1ce0 100644
--- a/src/quacc/runners/ase.py
+++ b/src/quacc/runners/ase.py
@@ -176,8 +176,10 @@ def run_opt(
         msg = "Quacc does not support setting the `trajectory` kwarg."
         raise ValueError(msg)
 
-    # Set Sella kwargs
-    if optimizer.__name__ == "Sella":
+    # Handle optimizer kwargs
+    if optimizer.__name__.startswith("SciPy"):
+        optimizer_kwargs.pop("restart")
+    elif optimizer.__name__ == "Sella":
         _set_sella_kwargs(atoms, optimizer_kwargs)
     elif optimizer.__name__ == "IRC":
         optimizer_kwargs.pop("restart", None)


Test patch:
diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml
index fdabaa96..f59f1240 100644
--- a/.github/workflows/tests.yaml
+++ b/.github/workflows/tests.yaml
@@ -425,8 +425,8 @@ jobs:
           path: "coverage.xml"
           retention-days: 1
 
-  dependabot:
-    name: 'Dependabot'
+  metamerge:
+    name: 'meta-automerge'
     needs:
       - tests-core
       - tests-engines-covalent
@@ -438,7 +438,7 @@ jobs:
       - tests-qchem-sella
       - tests-mlps
     runs-on: ubuntu-latest
-    if: ${{ github.actor == 'dependabot[bot]' && github.event_name == 'pull_request'}}
+    if: (github.actor == 'dependabot[bot]' || github.actor == 'deepsource-autofix[bot]') && github.event_name == 'pull_request'
     steps:
       - name: Dependabot metadata
         id: metadata
diff --git a/tests/core/runners/test_ase.py b/tests/core/runners/test_ase.py
index 38127e79..007b8a85 100644
--- a/tests/core/runners/test_ase.py
+++ b/tests/core/runners/test_ase.py
@@ -9,6 +9,7 @@ from ase.build import bulk, molecule
 from ase.calculators.emt import EMT
 from ase.calculators.lj import LennardJones
 from ase.optimize import BFGS, BFGSLineSearch
+from ase.optimize.sciopt import SciPyFminBFGS
 
 from quacc import SETTINGS
 from quacc.runners.ase import run_calc, run_opt, run_vib
@@ -98,6 +99,7 @@ def test_run_opt1(tmp_path, monkeypatch):
     assert os.path.exists(os.path.join(results_dir, "test_file.txt.gz"))
     assert np.array_equal(traj[-1].get_positions(), atoms.get_positions()) is False
     assert np.array_equal(traj[-1].cell.array, atoms.cell.array) is True
+    assert dyn.todict().get("restart")
 
 
 def test_run_opt2(tmp_path, monkeypatch):
@@ -125,6 +127,18 @@ def test_run_opt2(tmp_path, monkeypatch):
     assert traj[-1].calc.results is not None
 
 
+def test_run_scipy_opt(tmp_path, monkeypatch):
+    monkeypatch.chdir(tmp_path)
+    atoms = bulk("Cu") * (2, 1, 1)
+    atoms[0].position += 0.1
+    atoms.calc = EMT()
+
+    dyn = run_opt(atoms, optimizer=SciPyFminBFGS)
+    traj = dyn.traj_atoms
+    assert traj[-1].calc.results is not None
+    assert dyn.todict().get("restart") is None
+
+
 def test_run_vib(tmp_path, monkeypatch):
     monkeypatch.chdir(tmp_path)
     prep_files()
diff --git a/tests/requirements.txt b/tests/requirements.txt
index 2d079cfc..ee45d150 100644
--- a/tests/requirements.txt
+++ b/tests/requirements.txt
@@ -1,12 +1,12 @@
 git+https://gitlab.com/ase/ase.git
 cclib==1.8
 custodian==2023.10.9
-emmet-core==0.76.2
+emmet-core==0.77.0
 maggma==0.61.0
 monty==2024.1.26
 numpy==1.26.3
 psutil==5.9.8
-pydantic==2.5.3
+pydantic==2.6.0
 pydantic-settings==2.1.0
 pymatgen==2023.12.18
 typer[all]==0.9.0
\ No newline at end of file