Skip to content

Commit de4fde5

Browse files
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&lt;PyAny&gt;</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 = &quot;...&quot;, 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>&lt;string&gt;</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 &quot;no constructor defined&quot; 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 /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyo3&package-manager=cargo&previous-version=0.25.1&new-version=0.26.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>
2 parents e0f2618 + b227ef6 commit de4fde5

2 files changed

Lines changed: 11 additions & 12 deletions

File tree

Cargo.lock

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ dependencies = [
6565

6666
[[package]]
6767
name = "pyo3"
68-
version = "0.25.1"
68+
version = "0.26.0"
6969
source = "registry+https://github.com/rust-lang/crates.io-index"
70-
checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a"
70+
checksum = "7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383"
7171
dependencies = [
7272
"indoc",
7373
"libc",
@@ -82,29 +82,28 @@ dependencies = [
8282

8383
[[package]]
8484
name = "pyo3-build-config"
85-
version = "0.25.1"
85+
version = "0.26.0"
8686
source = "registry+https://github.com/rust-lang/crates.io-index"
87-
checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598"
87+
checksum = "4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f"
8888
dependencies = [
89-
"once_cell",
9089
"target-lexicon",
9190
]
9291

9392
[[package]]
9493
name = "pyo3-ffi"
95-
version = "0.25.1"
94+
version = "0.26.0"
9695
source = "registry+https://github.com/rust-lang/crates.io-index"
97-
checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c"
96+
checksum = "025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105"
9897
dependencies = [
9998
"libc",
10099
"pyo3-build-config",
101100
]
102101

103102
[[package]]
104103
name = "pyo3-macros"
105-
version = "0.25.1"
104+
version = "0.26.0"
106105
source = "registry+https://github.com/rust-lang/crates.io-index"
107-
checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50"
106+
checksum = "2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded"
108107
dependencies = [
109108
"proc-macro2",
110109
"pyo3-macros-backend",
@@ -114,9 +113,9 @@ dependencies = [
114113

115114
[[package]]
116115
name = "pyo3-macros-backend"
117-
version = "0.25.1"
116+
version = "0.26.0"
118117
source = "registry+https://github.com/rust-lang/crates.io-index"
119-
checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc"
118+
checksum = "100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf"
120119
dependencies = [
121120
"heck",
122121
"proc-macro2",

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ crate-type = ["cdylib",]
99

1010

1111
[dependencies]
12-
pyo3 = { version = "^0.25.1", features = ["extension-module"] }
12+
pyo3 = { version = "^0.26.0", features = ["extension-module"] }

0 commit comments

Comments
 (0)