Commit de4fde5
authored
Build(deps): bump pyo3 from 0.25.1 to 0.26.0 (#207)
Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.25.1 to 0.26.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pyo3/pyo3/releases">pyo3's
releases</a>.</em></p>
<blockquote>
<h2>PyO3 0.26.0</h2>
<p>This version solidifies support for Python 3.14 and free-threaded
Python 3.14t. A number of PyO3 APIs have been renamed to reflect the
fact the GIL is no longer a universal feature of all Python
implementations. For example:</p>
<ul>
<li><code>Python::with_gil</code> is now known as
<code>Python::attach</code></li>
<li><code>Python::allow_threads</code> is now known as
<code>Python::detach</code></li>
<li><code>pyo3::prepare_freethreaded_python</code> is now known as
<code>Python::initialize()</code></li>
</ul>
<p>The minimum supported Rust version has been increased to Rust
1.74.</p>
<p>An optional dependency on the <code>bytes</code> crate has been added
to allow support for converting <code>bytes::Bytes</code> to / from
Python.</p>
<p>The <code>PyObject</code> type alias for <code>Py<PyAny></code>
has also been deprecated; the <code>Py</code> and <code>Bound</code>
smart pointers have been the primary interface for all Python-facing
types since PyO3 0.21 and the <code>PyObject</code> type alias had been
a frequent source of confusion.</p>
<p>There are also many other incremental improvements, bug fixes and
smaller features.</p>
<p>Please consult the <a
href="https://pyo3.rs/v0.26.0/migration.html">migration guide</a> for
help upgrading.</p>
<p>Thank you to everyone who contributed code, documentation, design
ideas, bug reports, and feedback. The following contributors' commits
are included in this release:</p>
<p><a href="https://github.com/ahlinc"><code>@ahlinc</code></a>
<a href="https://github.com/alex"><code>@alex</code></a>
<a href="https://github.com/anilbey"><code>@anilbey</code></a>
<a
href="https://github.com/bschoenmaeckers"><code>@bschoenmaeckers</code></a>
<a href="https://github.com/Cheukting"><code>@Cheukting</code></a>
<a href="https://github.com/codeguru42"><code>@codeguru42</code></a>
<a href="https://github.com/davidhewitt"><code>@davidhewitt</code></a>
<a href="https://github.com/decathorpe"><code>@decathorpe</code></a>
<a
href="https://github.com/dependabot"><code>@dependabot</code></a>[bot]
<a href="https://github.com/drewkett"><code>@drewkett</code></a>
<a href="https://github.com/FlickerSoul"><code>@FlickerSoul</code></a>
<a href="https://github.com/Icxolu"><code>@Icxolu</code></a>
<a href="https://github.com/jder"><code>@jder</code></a>
<a href="https://github.com/jessekrubin"><code>@jessekrubin</code></a>
<a
href="https://github.com/jjmarchewitz"><code>@jjmarchewitz</code></a>
<a href="https://github.com/kemingy"><code>@kemingy</code></a>
<a href="https://github.com/msimacek"><code>@msimacek</code></a>
<a
href="https://github.com/musicinmybrain"><code>@musicinmybrain</code></a>
<a href="https://github.com/ngoldbaum"><code>@ngoldbaum</code></a>
<a href="https://github.com/Nnamdi-sys"><code>@Nnamdi-sys</code></a>
<a href="https://github.com/nucccc"><code>@nucccc</code></a>
<a href="https://github.com/olp-cs"><code>@olp-cs</code></a>
<a href="https://github.com/robsdedude"><code>@robsdedude</code></a>
<a href="https://github.com/rrricharrrd"><code>@rrricharrrd</code></a>
<a href="https://github.com/sxlijin"><code>@sxlijin</code></a>
<a href="https://github.com/timfel"><code>@timfel</code></a>
<a href="https://github.com/tonybaloney"><code>@tonybaloney</code></a>
<a href="https://github.com/Tpt"><code>@Tpt</code></a>
<a href="https://github.com/wxianxin"><code>@wxianxin</code></a>
<a href="https://github.com/xushiyan"><code>@xushiyan</code></a>
<a href="https://github.com/yogevm15"><code>@yogevm15</code></a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md">pyo3's
changelog</a>.</em></p>
<blockquote>
<h2>[0.26.0] - 2025-08-29</h2>
<h3>Packaging</h3>
<ul>
<li>Bump hashbrown dependency to 0.15. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5152">#5152</a></li>
<li>Update MSRV to 1.74. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5171">#5171</a></li>
<li>Set the same maximum supported version for alternative interpreters
as for CPython. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5192">#5192</a></li>
<li>Add optional <code>bytes</code> dependency to add conversions for
<code>bytes::Bytes</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5252">#5252</a></li>
<li>Publish new crate <code>pyo3-introspection</code> to pair with the
<code>experimental-inspect</code> feature. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5300">#5300</a></li>
<li>The <code>PYO3_BUILD_EXTENSION_MODULE</code> now causes the same
effect as the <code>extension-module</code> feature. Eventually we
expect maturin and setuptools-rust to set this environment variable
automatically. Users with their own build systems will need to do the
same. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5343">#5343</a></li>
</ul>
<h3>Added</h3>
<ul>
<li>Add <code>#[pyo3(warn(message = "...", category =
...))]</code> attribute for automatic warnings generation for
<code>#[pyfunction]</code> and <code>#[pymethods]</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/4364">#4364</a></li>
<li>Add <code>PyMutex</code>, available on Python 3.13 and newer. <a
href="https://redirect.github.com/PyO3/pyo3/pull/4523">#4523</a></li>
<li>Add FFI definition <code>PyMutex_IsLocked</code>, available on
Python 3.14 and newer. <a
href="https://redirect.github.com/PyO3/pyo3/pull/4523">#4523</a></li>
<li>Add <code>PyString::from_encoded_object</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5017">#5017</a></li>
<li><code>experimental-inspect</code>: add basic input type annotations.
<a href="https://redirect.github.com/PyO3/pyo3/pull/5089">#5089</a></li>
<li>Add FFI function definitions for <code>PyFrameObject</code> from
CPython 3.13. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5154">#5154</a></li>
<li><code>experimental-inspect</code>: tag modules created using
<code>#[pymodule]</code> or <code>#[pymodule_init]</code> functions as
incomplete. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5207">#5207</a></li>
<li><code>experimental-inspect</code>: add basic return type support. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5208">#5208</a></li>
<li>Add <code>PyCode::compile</code> and <code>PyCodeMethods::run</code>
to create and execute code objects. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5217">#5217</a></li>
<li>Add <code>PyOnceLock</code> type for thread-safe
single-initialization. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5223">#5223</a></li>
<li>Add <code>PyClassGuard(Mut)</code> pyclass holders. In the future
they will replace <code>PyRef(Mut)</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5233">#5233</a></li>
<li><code>experimental-inspect</code>: allow annotations in
<code>#[pyo3(signature)]</code> signature attribute. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5241">#5241</a></li>
<li>Implement <code>MutexExt</code> for parking_lot's/lock_api
<code>ReentrantMutex</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5258">#5258</a></li>
<li><code>experimental-inspect</code>: support class associated
constants. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5272">#5272</a></li>
<li>Add <code>Bound::cast</code> family of functions superseding the
<code>PyAnyMethods::downcast</code> family. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5289">#5289</a></li>
<li>Add FFI definitions <code>Py_Version</code> and
<code>Py_IsFinalizing</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5317">#5317</a></li>
<li><code>experimental-inspect</code>: add output type annotation for
<code>#[pyclass]</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5320">#5320</a></li>
<li><code>experimental-inspect</code>: support <code>#[pyclass(eq,
eq_int, ord, hash, str)]</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5338">#5338</a></li>
<li><code>experimental-inspect</code>: add basic support for
<code>#[derive(FromPyObject)]</code> (no struct fields support yet). <a
href="https://redirect.github.com/PyO3/pyo3/pull/5339">#5339</a></li>
<li>Add <code>Python::try_attach</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5342">#5342</a></li>
</ul>
<h3>Changed</h3>
<ul>
<li>Use <code>Py_TPFLAGS_DISALLOW_INSTANTIATION</code> instead of a
<code>__new__</code> which always fails for a <code>#[pyclass]</code>
without a <code>#[new]</code> on Python 3.10 and up. <a
href="https://redirect.github.com/PyO3/pyo3/pull/4568">#4568</a></li>
<li><code>PyModule::from_code</code> now defaults <code>file_name</code>
to <code><string></code> if empty. <a
href="https://redirect.github.com/PyO3/pyo3/pull/4777">#4777</a></li>
<li>Deprecate <code>PyString::from_object</code> in favour of
<code>PyString::from_encoded_object</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5017">#5017</a></li>
<li>When building with <code>abi3</code> for a Python version newer than
pyo3 supports, automatically fall back to an abi3 build for the latest
supported version. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5144">#5144</a></li>
<li>Change <code>is_instance_of</code> trait bound from
<code>PyTypeInfo</code> to <code>PyTypeCheck</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5146">#5146</a></li>
<li>Many PyO3 proc macros now report multiple errors instead of only the
first one. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5159">#5159</a></li>
<li>Change <code>MutexExt</code> return type to be an associated type.
<a href="https://redirect.github.com/PyO3/pyo3/pull/5201">#5201</a></li>
<li>Use <code>PyCallArgs</code> for <code>Py::call</code> and friends so
they're equivalent to their <code>Bound</code> counterpart. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5206">#5206</a></li>
<li>Rename <code>Python::with_gil</code> to <code>Python::attach</code>.
<a href="https://redirect.github.com/PyO3/pyo3/pull/5209">#5209</a></li>
<li>Rename <code>Python::allow_threads</code> to
<code>Python::detach</code> <a
href="https://redirect.github.com/PyO3/pyo3/pull/5221">#5221</a></li>
<li>Deprecate <code>GILOnceCell</code> type in favour of
<code>PyOnceLock</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5223">#5223</a></li>
<li>Rename <code>pyo3::prepare_freethreaded_python</code> to
<code>Python::initialize</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5247">#5247</a></li>
<li>Convert <code>PyMemoryError</code> into/from
<code>io::ErrorKind::OutOfMemory</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5256">#5256</a></li>
<li>Deprecate <code>GILProtected</code>. <a
href="https://redirect.github.com/PyO3/pyo3/pull/5285">#5285</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/PyO3/pyo3/commit/4502c2e786b53e16ded3b8afbe46202f6707e46c"><code>4502c2e</code></a>
ci: fix release job token permissions (<a
href="https://redirect.github.com/pyo3/pyo3/issues/5374">#5374</a>)</li>
<li><a
href="https://github.com/PyO3/pyo3/commit/a43cf79bbfbe9edd4545dc915c40fdcea7b5b10b"><code>a43cf79</code></a>
release: 0.26.0 (<a
href="https://redirect.github.com/pyo3/pyo3/issues/5367">#5367</a>)</li>
<li><a
href="https://github.com/PyO3/pyo3/commit/f4d533fb9a5ad1f5aa84c1f1e6abdd4b97ed6025"><code>f4d533f</code></a>
Clarity and grammar fixes in free-threading guide (<a
href="https://redirect.github.com/pyo3/pyo3/issues/5369">#5369</a>)</li>
<li><a
href="https://github.com/PyO3/pyo3/commit/ed030a79c18f2127090f2b5390b6c068f28289df"><code>ed030a7</code></a>
fixes <a
href="https://redirect.github.com/pyo3/pyo3/issues/5202">#5202</a> --
treat the <code>PYO3_BUILD_EXTENSION_MODULE</code> env var the same as
te...</li>
<li><a
href="https://github.com/PyO3/pyo3/commit/1775bafe6eb00c66e099eb49b898e952ce73e453"><code>1775baf</code></a>
Use links to latest CPython stable release in docs (<a
href="https://redirect.github.com/pyo3/pyo3/issues/5366">#5366</a>)</li>
<li><a
href="https://github.com/PyO3/pyo3/commit/acaa2be20a8da7dd5fcdff00bd9c2e1ebadb0788"><code>acaa2be</code></a>
Update free-threading docs for 0.26 (<a
href="https://redirect.github.com/pyo3/pyo3/issues/5355">#5355</a>)</li>
<li><a
href="https://github.com/PyO3/pyo3/commit/9cc0bb63b889f30d9aefa5b4642f8914b8932180"><code>9cc0bb6</code></a>
fix "no constructor defined" messages on PyPy (<a
href="https://redirect.github.com/pyo3/pyo3/issues/5329">#5329</a>)</li>
<li><a
href="https://github.com/PyO3/pyo3/commit/9aa53f4d7760a1036ab81597c463e6aeb710848f"><code>9aa53f4</code></a>
Generate introspection for #[pyclass(eq, eq_int, ord, hash, str)] (<a
href="https://redirect.github.com/pyo3/pyo3/issues/5338">#5338</a>)</li>
<li><a
href="https://github.com/PyO3/pyo3/commit/a0c7d2cc7e97033691f122b436be3b4eb3a8e0b0"><code>a0c7d2c</code></a>
fixup <code>Py::cast_bound</code> (<a
href="https://redirect.github.com/pyo3/pyo3/issues/5361">#5361</a>)</li>
<li><a
href="https://github.com/PyO3/pyo3/commit/50b019338c4b2268f5b16f43961df7ba25187afc"><code>50b0193</code></a>
fix warning leaking out of test in <code>test_methods</code> (<a
href="https://redirect.github.com/pyo3/pyo3/issues/5362">#5362</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pyo3/pyo3/compare/v0.25.1...v0.26.0">compare
view</a></li>
</ul>
</details>
<br />
[](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>2 files changed
Lines changed: 11 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
| 68 | + | |
69 | 69 | | |
70 | | - | |
| 70 | + | |
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
| 85 | + | |
86 | 86 | | |
87 | | - | |
| 87 | + | |
88 | 88 | | |
89 | | - | |
90 | 89 | | |
91 | 90 | | |
92 | 91 | | |
93 | 92 | | |
94 | 93 | | |
95 | | - | |
| 94 | + | |
96 | 95 | | |
97 | | - | |
| 96 | + | |
98 | 97 | | |
99 | 98 | | |
100 | 99 | | |
101 | 100 | | |
102 | 101 | | |
103 | 102 | | |
104 | 103 | | |
105 | | - | |
| 104 | + | |
106 | 105 | | |
107 | | - | |
| 106 | + | |
108 | 107 | | |
109 | 108 | | |
110 | 109 | | |
| |||
114 | 113 | | |
115 | 114 | | |
116 | 115 | | |
117 | | - | |
| 116 | + | |
118 | 117 | | |
119 | | - | |
| 118 | + | |
120 | 119 | | |
121 | 120 | | |
122 | 121 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
0 commit comments