Repository: Quantum-Accelerators/quacc
Pull request #1628 (2024-01-29 16:49:22)

Bump pydantic from 2.5.3 to 2.6.0
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.5.3 to 2.6.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/pydantic/pydantic/releases">pydantic's releases</a>.</em></p>
<blockquote>
<h2>v2.6.0 2024-01-29</h2>
<h2>v2.6.0 (2024-01-29)</h2>
<p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.6.0">GitHub release</a></p>
<p>The code released in v2.6.0 is practically identical to that of v2.6.0b1.</p>
<h3>What's Changed</h3>
<h4>Packaging</h4>
<ul>
<li>Check for <code>email-validator</code> version &gt;= 2.0 by <a href="https://github.com/commonism"><code>@​commonism</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/6033">#6033</a></li>
<li>Upgrade `ruff`` target version to Python 3.8 by <a href="https://github.com/Elkiwa"><code>@​Elkiwa</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8341">#8341</a></li>
<li>Update to <code>pydantic-extra-types==2.4.1</code> by <a href="https://github.com/yezz123"><code>@​yezz123</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8478">#8478</a></li>
<li>Update to <code>pyright==1.1.345</code> by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8453">#8453</a></li>
<li>Update pydantic-core from 2.14.6 to 2.16.1, significant changes from these updates are described below, full changelog <a href="https://github.com/pydantic/pydantic-core/compare/v2.14.6...v2.16.1">here</a></li>
</ul>
<h4>New Features</h4>
<ul>
<li>Add <code>NatsDsn</code> by <a href="https://github.com/ekeew"><code>@​ekeew</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/6874">#6874</a></li>
<li>Add <code>ConfigDict.ser_json_inf_nan</code> by <a href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8159">#8159</a></li>
<li>Add <code>types.OnErrorOmit</code> by <a href="https://github.com/adriangb"><code>@​adriangb</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8222">#8222</a></li>
<li>Support <code>AliasGenerator</code> usage by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8282">#8282</a></li>
<li>Add Pydantic People Page to docs by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8345">#8345</a></li>
<li>Support <code>yyyy-MM-DD</code> datetime parsing by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8404">#8404</a></li>
<li>Added bits conversions to the <code>ByteSize</code> class <a href="https://redirect.github.com/pydantic/pydantic/issues/8415">#8415</a> by <a href="https://github.com/luca-matei"><code>@​luca-matei</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8507">#8507</a></li>
<li>Enable json schema creation with type <code>ByteSize</code> by <a href="https://github.com/geospackle"><code>@​geospackle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8537">#8537</a></li>
<li>Add <code>eval_type_backport</code> to handle union operator and builtin generic subscripting in older Pythons by <a href="https://github.com/alexmojaki"><code>@​alexmojaki</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8209">#8209</a></li>
<li>Add support for <code>dataclass</code> fields <code>init</code> by <a href="https://github.com/dmontagu"><code>@​dmontagu</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8552">#8552</a></li>
<li>Implement pickling for <code>ValidationError</code> by <a href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1119">pydantic/pydantic-core#1119</a></li>
<li>Add unified tuple validator that can handle &quot;variadic&quot; tuples via PEP-646 by <a href="https://github.com/dmontagu"><code>@​dmontagu</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/865">pydantic/pydantic-core#865</a></li>
</ul>
<h4>Changes</h4>
<ul>
<li>Drop Python3.7 support by <a href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/7188">#7188</a></li>
<li>Drop Python 3.7, and PyPy 3.7 and 3.8 by <a href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1129">pydantic/pydantic-core#1129</a></li>
<li>Use positional-only <code>self</code> in <code>BaseModel</code> constructor, so no field name can ever conflict with it by <a href="https://github.com/ariebovenberg"><code>@​ariebovenberg</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8072">#8072</a></li>
<li>Make <code>@validate_call</code> return a function instead of a custom descriptor - fixes binding issue with inheritance and adds <code>self/cls</code> argument to validation errors by <a href="https://github.com/alexmojaki"><code>@​alexmojaki</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8268">#8268</a></li>
<li>Exclude <code>BaseModel</code> docstring from JSON schema description by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8352">#8352</a></li>
<li>Introducing <code>classproperty</code> decorator for <code>model_computed_fields</code> by <a href="https://github.com/Jocelyn-Gas"><code>@​Jocelyn-Gas</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8437">#8437</a></li>
<li>Explicitly raise an error if field names clashes with types by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8243">#8243</a></li>
<li>Use stricter serializer for unions of simple types by <a href="https://github.com/alexdrydew"><code>@​alexdrydew</code></a> <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1132">pydantic/pydantic-core#1132</a></li>
</ul>
<h4>Performance</h4>
<ul>
<li>Add Codspeed profiling Actions workflow  by <a href="https://github.com/lambertsbennett"><code>@​lambertsbennett</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8054">#8054</a></li>
<li>Improve <code>int</code> extraction by <a href="https://github.com/samuelcolvin"><code>@​samuelcolvin</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1155">pydantic/pydantic-core#1155</a></li>
<li>Improve performance of recursion guard by <a href="https://github.com/samuelcolvin"><code>@​samuelcolvin</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1156">pydantic/pydantic-core#1156</a></li>
<li><code>dataclass</code> serialization speedups by <a href="https://github.com/samuelcolvin"><code>@​samuelcolvin</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1162">pydantic/pydantic-core#1162</a></li>
<li>Avoid <code>HashMap</code> creation when looking up small JSON objects in <code>LazyIndexMaps</code> by <a href="https://github.com/samuelcolvin"><code>@​samuelcolvin</code></a> in <a href="https://redirect.github.com/pydantic/jiter/pull/55">pydantic/jiter#55</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pydantic/pydantic/blob/main/HISTORY.md">pydantic's changelog</a>.</em></p>
<blockquote>
<h2>v2.6.0 (2024-01-23)</h2>
<p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.6.0">GitHub release</a></p>
<p>The code released in v2.6.0 is practically identical to that of v2.6.0b1.</p>
<h3>What's Changed</h3>
<h4>Packaging</h4>
<ul>
<li>Check for <code>email-validator</code> version &gt;= 2.0 by <a href="https://github.com/commonism"><code>@​commonism</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/6033">#6033</a></li>
<li>Upgrade `ruff`` target version to Python 3.8 by <a href="https://github.com/Elkiwa"><code>@​Elkiwa</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8341">#8341</a></li>
<li>Update to <code>pydantic-extra-types==2.4.1</code> by <a href="https://github.com/yezz123"><code>@​yezz123</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8478">#8478</a></li>
<li>Update to <code>pyright==1.1.345</code> by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8453">#8453</a></li>
<li>Update pydantic-core from 2.14.6 to 2.16.1, significant changes from these updates are described below, full changelog <a href="https://github.com/pydantic/pydantic-core/compare/v2.14.6...v2.16.1">here</a></li>
</ul>
<h4>New Features</h4>
<ul>
<li>Add <code>NatsDsn</code> by <a href="https://github.com/ekeew"><code>@​ekeew</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/6874">#6874</a></li>
<li>Add <code>ConfigDict.ser_json_inf_nan</code> by <a href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8159">#8159</a></li>
<li>Add <code>types.OnErrorOmit</code> by <a href="https://github.com/adriangb"><code>@​adriangb</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8222">#8222</a></li>
<li>Support <code>AliasGenerator</code> usage by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8282">#8282</a></li>
<li>Add Pydantic People Page to docs by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8345">#8345</a></li>
<li>Support <code>yyyy-MM-DD</code> datetime parsing by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8404">#8404</a></li>
<li>Added bits conversions to the <code>ByteSize</code> class <a href="https://redirect.github.com/pydantic/pydantic/issues/8415">#8415</a> by <a href="https://github.com/luca-matei"><code>@​luca-matei</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8507">#8507</a></li>
<li>Enable json schema creation with type <code>ByteSize</code> by <a href="https://github.com/geospackle"><code>@​geospackle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8537">#8537</a></li>
<li>Add <code>eval_type_backport</code> to handle union operator and builtin generic subscripting in older Pythons by <a href="https://github.com/alexmojaki"><code>@​alexmojaki</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8209">#8209</a></li>
<li>Add support for <code>dataclass</code> fields <code>init</code> by <a href="https://github.com/dmontagu"><code>@​dmontagu</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8552">#8552</a></li>
<li>Implement pickling for <code>ValidationError</code> by <a href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1119">pydantic/pydantic-core#1119</a></li>
<li>Add unified tuple validator that can handle &quot;variadic&quot; tuples via PEP-646 by <a href="https://github.com/dmontagu"><code>@​dmontagu</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/865">pydantic/pydantic-core#865</a></li>
</ul>
<h4>Changes</h4>
<ul>
<li>Drop Python3.7 support by <a href="https://github.com/hramezani"><code>@​hramezani</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/7188">#7188</a></li>
<li>Drop Python 3.7, and PyPy 3.7 and 3.8 by <a href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1129">pydantic/pydantic-core#1129</a></li>
<li>Use positional-only <code>self</code> in <code>BaseModel</code> constructor, so no field name can ever conflict with it by <a href="https://github.com/ariebovenberg"><code>@​ariebovenberg</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8072">#8072</a></li>
<li>Make <code>@validate_call</code> return a function instead of a custom descriptor - fixes binding issue with inheritance and adds <code>self/cls</code> argument to validation errors by <a href="https://github.com/alexmojaki"><code>@​alexmojaki</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8268">#8268</a></li>
<li>Exclude <code>BaseModel</code> docstring from JSON schema description by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8352">#8352</a></li>
<li>Introducing <code>classproperty</code> decorator for <code>model_computed_fields</code> by <a href="https://github.com/Jocelyn-Gas"><code>@​Jocelyn-Gas</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8437">#8437</a></li>
<li>Explicitly raise an error if field names clashes with types by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8243">#8243</a></li>
<li>Use stricter serializer for unions of simple types by <a href="https://github.com/alexdrydew"><code>@​alexdrydew</code></a> <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1132">pydantic/pydantic-core#1132</a></li>
</ul>
<h4>Performance</h4>
<ul>
<li>Add Codspeed profiling Actions workflow  by <a href="https://github.com/lambertsbennett"><code>@​lambertsbennett</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/8054">#8054</a></li>
<li>Improve <code>int</code> extraction by <a href="https://github.com/samuelcolvin"><code>@​samuelcolvin</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1155">pydantic/pydantic-core#1155</a></li>
<li>Improve performance of recursion guard by <a href="https://github.com/samuelcolvin"><code>@​samuelcolvin</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1156">pydantic/pydantic-core#1156</a></li>
<li><code>dataclass</code> serialization speedups by <a href="https://github.com/samuelcolvin"><code>@​samuelcolvin</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1162">pydantic/pydantic-core#1162</a></li>
<li>Avoid <code>HashMap</code> creation when looking up small JSON objects in <code>LazyIndexMaps</code> by <a href="https://github.com/samuelcolvin"><code>@​samuelcolvin</code></a> in <a href="https://redirect.github.com/pydantic/jiter/pull/55">pydantic/jiter#55</a></li>
<li>use hashbrown to speedup python string caching by <a href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in <a href="https://redirect.github.com/pydantic/jiter/pull/51">pydantic/jiter#51</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pydantic/pydantic/commit/3257fa32eb5a017ae61f030089ecb90c2b4824f2"><code>3257fa3</code></a> Use pydantic-settings 2.1 docs (<a href="https://redirect.github.com/pydantic/pydantic/issues/8636">#8636</a>)</li>
<li><a href="https://github.com/pydantic/pydantic/commit/3e871258bd5ea7caa7f18c0b810d8b1e915bd8f2"><code>3e87125</code></a> Prep for 2.6 release (<a href="https://redirect.github.com/pydantic/pydantic/issues/8612">#8612</a>)</li>
<li><a href="https://github.com/pydantic/pydantic/commit/b2aa36a80904773d7db2e4c007fc00a5a4d7653b"><code>b2aa36a</code></a> Tweak ordering of definitions in generated schemas (<a href="https://redirect.github.com/pydantic/pydantic/issues/8583">#8583</a>)</li>
<li><a href="https://github.com/pydantic/pydantic/commit/5d6840f9798b37e0d3389d72b4db05c696044105"><code>5d6840f</code></a> Add examples for <code>functional_serializers</code> in API docs (<a href="https://redirect.github.com/pydantic/pydantic/issues/8546">#8546</a>)</li>
<li><a href="https://github.com/pydantic/pydantic/commit/e131d53a07da080c2ba642775efa9e81cb2cf0ba"><code>e131d53</code></a> Prep for 2.6.0b1 Release (<a href="https://redirect.github.com/pydantic/pydantic/issues/8589">#8589</a>)</li>
<li><a href="https://github.com/pydantic/pydantic/commit/a2a4281a6eeb3cf6e8296600ff13ac25815ccc20"><code>a2a4281</code></a> Add support for dataclass fields init (<a href="https://redirect.github.com/pydantic/pydantic/issues/8552">#8552</a>)</li>
<li><a href="https://github.com/pydantic/pydantic/commit/48d0df43be6e662585484cfd9a28b7f81f057efe"><code>48d0df4</code></a> Fix ordering bug of PlainValidator annotation <a href="https://redirect.github.com/pydantic/pydantic/issues/8512">#8512</a> (<a href="https://redirect.github.com/pydantic/pydantic/issues/8567">#8567</a>)</li>
<li><a href="https://github.com/pydantic/pydantic/commit/8e9b1074d8373830de30ebc58b163323b5435d16"><code>8e9b107</code></a> Bump <code>pydantic-core</code> to 2.16.1, various other bumps (<a href="https://redirect.github.com/pydantic/pydantic/issues/8578">#8578</a>)</li>
<li><a href="https://github.com/pydantic/pydantic/commit/2171b20f311be66d9e7e55184ee29011688f26a3"><code>2171b20</code></a> Refactor signature generation for simplicity (<a href="https://redirect.github.com/pydantic/pydantic/issues/8572">#8572</a>)</li>
<li><a href="https://github.com/pydantic/pydantic/commit/8060fa1cff965850e5e08a67ca73d5272dcdcf9f"><code>8060fa1</code></a> Add eval_type_backport to handle union operator and builtin generic subscript...</li>
<li>Additional commits viewable in <a href="https://github.com/pydantic/pydantic/compare/v2.5.3...v2.6.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pydantic&package-manager=pip&previous-version=2.5.3&new-version=2.6.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..ee37d16e 100644
--- a/tests/requirements.txt
+++ b/tests/requirements.txt
@@ -6,7 +6,7 @@ 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