dependabot[bot] opened a new pull request, #7120: URL: https://github.com/apache/opendal/pull/7120
Updates the requirements on [pyo3](https://github.com/pyo3/pyo3) and [pyo3-async-runtimes](https://github.com/PyO3/pyo3-async-runtimes) to permit the latest version. Updates `pyo3` 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>See full diff in <a href="https://github.com/pyo3/pyo3/compare/v0.26.0...v0.26.0">compare view</a></li> </ul> </details> <br /> Updates `pyo3-async-runtimes` to 0.27.0 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/PyO3/pyo3-async-runtimes/blob/main/CHANGELOG.md">pyo3-async-runtimes's changelog</a>.</em></p> <blockquote> <h2>[0.27.0] - 2025-10-20</h2> <ul> <li>Avoid attaching to the runtime when cloning TaskLocals by using std::sync::Arc. <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/62">#62</a></li> <li><strong>Breaking</strong>: Finalize the future without holding GIL inside async-std/tokio runtime. Trait <code>Runtime</code> now requires <code>spawn_blocking</code> function, <code>future_into_py</code> functions now require future return type to be <code>Send</code>. <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/60">#60</a></li> <li>Change pyo3 <code>downcast</code> calls to <code>cast</code> calls <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/65">#65</a></li> <li>Use <code>pyo3::intern!</code> for method calls and <code>getattr</code> calls <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/66">#66</a></li> <li>Fix missing LICENSE file in macros crate by <a href="https://github.com/musicinmybrain"><code>@musicinmybrain</code></a> in <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/63">PyO3/pyo3-async-runtimes#63</a></li> <li>Bump to pyo3 0.27. <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/68">#68</a></li> </ul> <h2>[0.26.0] - 2025-09-02</h2> <ul> <li>Bump to pyo3 0.26. <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/54">#54</a></li> </ul> <h2>[0.25.0] - 2025-05-14</h2> <ul> <li>Bump to pyo3 0.25. <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/41">#41</a></li> </ul> <h2>[0.24.0] - 2025-03-11</h2> <ul> <li>Bump to pyo3 0.24. <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/34">#34</a></li> </ul> <h2>[0.23.0] - 2024-11-22</h2> <ul> <li>Bump minimum version of <code>pyo3</code> dependency to 0.23. <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/21">#21</a></li> </ul> <h2><a href="https://github.com/PyO3/pyo3-async-runtimes/tree/0.22.0">0.22.0</a> - 2024-10-28</h2> <ul> <li>Move from <a href="https://github.com/davidhewitt/pyo3-asyncio">the <code>davidhewitt/pyo3-asyncio</code> fork</a> (had been published as <code>pyo3-asyncio-0.21</code>) to <code>pyo3-async-runtimes</code>.</li> <li>Bump minimum version of <code>syn</code> dependency to 2. <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/12">#12</a></li> </ul> <h2>Older versions</h2> <p>Previous versions were published from <a href="https://github.com/awestlake87/pyo3-asyncio"><code>pyo3-asyncio</code></a>. Consult that library for older changes.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/PyO3/pyo3-async-runtimes/commit/22e0ec107b3f6b0741ab6a0b4321d0e247a4a981"><code>22e0ec1</code></a> Merge pull request <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/issues/69">#69</a> from PyO3/kyle/chore-bump-0.27</li> <li><a href="https://github.com/PyO3/pyo3-async-runtimes/commit/3338a51a90ad85c24969b76b59c8f2d71510dd25"><code>3338a51</code></a> Bump to 0.27</li> <li><a href="https://github.com/PyO3/pyo3-async-runtimes/commit/50b0d13987ff9c83a8145560aaddd50f89e1f668"><code>50b0d13</code></a> Merge pull request <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/issues/68">#68</a> from PyO3/dependabot/cargo/pyo3-0.27</li> <li><a href="https://github.com/PyO3/pyo3-async-runtimes/commit/30dfd55e7e33774ae036bc2fe9c7764d867a2353"><code>30dfd55</code></a> Update pyo3 requirement from 0.26 to 0.27</li> <li><a href="https://github.com/PyO3/pyo3-async-runtimes/commit/b90e189ff79eee5d7cf15eb18a8c370cb42ba50b"><code>b90e189</code></a> use <code>pyo3::intern!</code> (<a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/issues/66">#66</a>)</li> <li><a href="https://github.com/PyO3/pyo3-async-runtimes/commit/da865a7e653012d622e582bc363daadee7472b75"><code>da865a7</code></a> Fix missing LICENSE file in macros crate (<a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/issues/63">#63</a>)</li> <li><a href="https://github.com/PyO3/pyo3-async-runtimes/commit/0837d910e032d29d8ccde5b9c73748da4df7a67b"><code>0837d91</code></a> pyo3 downcasts changed to casts (<a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/issues/65">#65</a>)</li> <li><a href="https://github.com/PyO3/pyo3-async-runtimes/commit/94b1c25ef0289cc426895ea920f57f2ae41aa3d1"><code>94b1c25</code></a> Merge pull request <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/issues/60">#60</a> from stepancheg/with-gil-2</li> <li><a href="https://github.com/PyO3/pyo3-async-runtimes/commit/f6ebac3c78d6f31992d3825258213bc28a29ea7c"><code>f6ebac3</code></a> Move remaining with_gil calls outside of tokio event loop</li> <li><a href="https://github.com/PyO3/pyo3-async-runtimes/commit/2b243eff3fd421a9de1afc3b4a16869588ec4e88"><code>2b243ef</code></a> Merge pull request <a href="https://redirect.github.com/PyO3/pyo3-async-runtimes/issues/62">#62</a> from iksteen/task-locals-arc</li> <li>Additional commits viewable in <a href="https://github.com/PyO3/pyo3-async-runtimes/compare/v0.26.0...v0.27.0">compare view</a></li> </ul> </details> <br /> 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 <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
