dependabot[bot] opened a new pull request, #9331: URL: https://github.com/apache/arrow-rs/pull/9331
Updates the requirements on [pyo3](https://github.com/pyo3/pyo3) to permit the latest version. <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.28.0</h2> <p>This release contains many improvements across PyO3's feature set:</p> <ul> <li>Proper support for <code>__init__</code> methods for <code>#[pyclass]</code> types</li> <li>Support for <code>#[deleter]</code>s to complement the existing <code>#[getter]</code> and <code>#[setter]</code> attributes when implementing class "properties".</li> <li>Support for subclassing many Python types with the <code>abi3</code> feature (requires Python 3.12+).</li> <li>A new <code>#[pyclass(new = "from_fields")]</code> option to automatically define the constructor from the class fields.</li> <li>Many corrections to FFI definitions (including removal of many private CPython methods)</li> <li>Many improvements to the <code>experimental-inspect</code> feature's functionality.</li> </ul> <p>The minimum supported Rust version has been increased to Rust 1.83.</p> <p>This release also switches <code>#[pymodule]</code> to use PEP 489 multi-phase initialization internally. This should have no immediate functional impact other than preparing PyO3 to support newer technologies such as Python subinterpreters.</p> <p>There are also many other incremental improvements, bug fixes and smaller features; full detail can be found in the <a href="https://pyo3.rs/v0.28.0/changelog.html">CHANGELOG</a>.</p> <p>Please consult the <a href="https://pyo3.rs/v0.28.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/ABorgna"><code>@ABorgna</code></a> <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/altendky"><code>@altendky</code></a> <a href="https://github.com/bazaah"><code>@bazaah</code></a> <a href="https://github.com/bschoenmaeckers"><code>@bschoenmaeckers</code></a> <a href="https://github.com/chirizxc"><code>@chirizxc</code></a> <a href="https://github.com/clin1234"><code>@clin1234</code></a> <a href="https://github.com/davidhewitt"><code>@davidhewitt</code></a> <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] <a href="https://github.com/freakboy3742"><code>@freakboy3742</code></a> <a href="https://github.com/henryp3278"><code>@henryp3278</code></a> <a href="https://github.com/Icxolu"><code>@Icxolu</code></a> <a href="https://github.com/lazka"><code>@lazka</code></a> <a href="https://github.com/LilyFirefly"><code>@LilyFirefly</code></a> <a href="https://github.com/linkmauve"><code>@linkmauve</code></a> <a href="https://github.com/lmmx"><code>@lmmx</code></a> <a href="https://github.com/lukaslueg"><code>@lukaslueg</code></a> <a href="https://github.com/MatthieuDartiailh"><code>@MatthieuDartiailh</code></a> <a href="https://github.com/MusicalNinjaDad"><code>@MusicalNinjaDad</code></a> <a href="https://github.com/ngoldbaum"><code>@ngoldbaum</code></a> <a href="https://github.com/pkalivas"><code>@pkalivas</code></a> <a href="https://github.com/reaperhulk"><code>@reaperhulk</code></a> <a href="https://github.com/RedKinda"><code>@RedKinda</code></a> <a href="https://github.com/SilasMarvin"><code>@SilasMarvin</code></a> <a href="https://github.com/SoroushMoosapour"><code>@SoroushMoosapour</code></a> <a href="https://github.com/stijndcl"><code>@stijndcl</code></a> <a href="https://github.com/tpoliaw"><code>@tpoliaw</code></a> <a href="https://github.com/Tpt"><code>@Tpt</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.28.0] - 2026-02-01</h2> <h3>Packaging</h3> <ul> <li>Bump MSRV to Rust 1.83. <a href="https://redirect.github.com/PyO3/pyo3/pull/5531">#5531</a></li> <li>Bump minimum supported <code>quote</code> version to 1.0.37. <a href="https://redirect.github.com/PyO3/pyo3/pull/5531">#5531</a></li> <li>Bump supported GraalPy version to 25.0. <a href="https://redirect.github.com/PyO3/pyo3/pull/5542">#5542</a></li> <li>Drop <code>memoffset</code> dependency. <a href="https://redirect.github.com/PyO3/pyo3/pull/5545">#5545</a></li> <li>Support for free-threaded Python is now opt-out rather than opt-in. <a href="https://redirect.github.com/PyO3/pyo3/pull/5564">#5564</a></li> <li>Bump <code>target-lexicon</code> dependency to 0.13.3. <a href="https://redirect.github.com/PyO3/pyo3/pull/5571">#5571</a></li> <li>Drop <code>indoc</code> and <code>unindent</code> dependencies. <a href="https://redirect.github.com/PyO3/pyo3/pull/5608">#5608</a></li> </ul> <h3>Added</h3> <ul> <li>Add <code>__init__</code> support in <code>#[pymethods]</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4951">#4951</a></li> <li>Expose <code>PySuper</code> on PyPy, GraalPy and ABI3 <a href="https://redirect.github.com/PyO3/pyo3/pull/4951">#4951</a></li> <li>Add <code>PyString::from_fmt</code> and <code>py_format!</code> macro. <a href="https://redirect.github.com/PyO3/pyo3/pull/5199">#5199</a></li> <li>Add <code>#[pyclass(new = "from_fields")]</code> option. <a href="https://redirect.github.com/PyO3/pyo3/pull/5421">#5421</a></li> <li>Add <code>pyo3::buffer::PyUntypedBuffer</code>, a type-erased form of <code>PyBuffer<T></code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5458">#5458</a></li> <li>Add <code>PyBytes::new_with_writer</code> <a href="https://redirect.github.com/PyO3/pyo3/pull/5517">#5517</a></li> <li>Add <code>PyClass::NAME</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5579">#5579</a></li> <li>Add <code>pyo3_build_config::add_libpython_rpath_link_args</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5624">#5624</a></li> <li>Add <code>PyBackedStr::clone_ref</code> and <code>PyBackedBytes::clone_ref</code> methods. <a href="https://redirect.github.com/PyO3/pyo3/pull/5654">#5654</a></li> <li>Add <code>PyCapsule::new_with_pointer</code> and <code>PyCapsule::new_with_pointer_and_destructor</code> for creating capsules with raw pointers. <a href="https://redirect.github.com/PyO3/pyo3/pull/5689">#5689</a></li> <li>Add <code>#[deleter]</code> attribute to implement property deleters in <code>#[methods]</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5699">#5699</a></li> <li>Add <code>IntoPyObject</code> and <code>FromPyObject</code> implementations for <code>uuid::NonNilUuid</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5707">#5707</a></li> <li>Add <code>PyBackedStr::as_str</code> and <code>PyBackedStr::as_py_str</code> methods. <a href="https://redirect.github.com/PyO3/pyo3/pull/5723">#5723</a></li> <li>Add support for subclassing native types (<code>PyDict</code>, exceptions, ...) when building for abi3 on Python 3.12+. <a href="https://redirect.github.com/PyO3/pyo3/pull/5733">#5733</a></li> <li>Add support for subclassing <code>PyList</code> when building for Python 3.12+. <a href="https://redirect.github.com/PyO3/pyo3/pull/5734">#5734</a></li> <li>FFI definitions: <ul> <li>Add FFI definitions <code>PyEval_GetFrameBuiltins</code>, <code>PyEval_GetFrameGlobals</code> and <code>PyEval_GetFrameLocals</code> on Python 3.13 and up. <a href="https://redirect.github.com/PyO3/pyo3/pull/5590">#5590</a></li> <li>Add FFI definitions <code>PyObject_New</code>, <code>PyObject_NewVar</code>, <code>PyObject_GC_Resize</code>, <code>PyObject_GC_New</code>, and <code>PyObject_GC_NewVar</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5591">#5591</a></li> <li>Added FFI definitions and an unsafe Rust API wrapping <code>Py_BEGIN_CRITICAL_SECTION_MUTEX</code> and <code>Py_BEGIN_CRITICAL_SECTION_MUTEX2</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5642">#5642</a></li> <li>Add FFI definition <code>PyDict_GetItemStringRef</code> on Python 3.13 and up. <a href="https://redirect.github.com/PyO3/pyo3/pull/5659">#5659</a></li> <li>Add FFI definition <code>PyIter_NextItem</code> on Python 3.14 and up, and <code>compat::PyIter_NextItem</code> for older versions. <a href="https://redirect.github.com/PyO3/pyo3/pull/5661">#5661</a></li> <li>Add FFI definitions <code>PyThreadState_GetInterpreter</code> and <code>PyThreadState_GetID</code> on Python 3.9+, <code>PyThreadState_EnterTracing</code> and <code>PyThreadState_LeaveTracing</code> on Python 3.11+, <code>PyThreadState_GetUnchecked</code> on Python 3.13+, and <code>compat::PyThreadState_GetUnchecked</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5711">#5711</a></li> <li>Add FFI definitions <code>PyImport_ImportModuleAttr</code> and <code>PyImport_ImportModuleAttrString</code> on Python 3.14+. <a href="https://redirect.github.com/PyO3/pyo3/pull/5737">#5737</a></li> <li>Add FFI definitions for the <code>PyABIInfo</code> and <code>PyModExport</code> APIs available in Python 3.15. <a href="https://redirect.github.com/PyO3/pyo3/pull/5746">#5746</a></li> </ul> </li> <li><code>experimental-inspect</code>: <ul> <li>Emit base classes. <a href="https://redirect.github.com/PyO3/pyo3/pull/5331">#5331</a></li> <li>Emit <code>@typing.final</code> on final classes. <a href="https://redirect.github.com/PyO3/pyo3/pull/5552">#5552</a></li> <li>Generate nested classes for complex enums. <a href="https://redirect.github.com/PyO3/pyo3/pull/5708">#5708</a></li> <li>Emit <code>async</code> keyword for async functions. <a href="https://redirect.github.com/PyO3/pyo3/pull/5731">#5731</a></li> </ul> </li> </ul> <h3>Changed</h3> <ul> <li>Call <code>sys.unraisablehook</code> instead of <code>PyErr_Print</code> if panicking on null FFI pointer in <code>Bound</code>, <code>Borrowed</code> and <code>Py</code> constructors. <a href="https://redirect.github.com/PyO3/pyo3/pull/5496">#5496</a></li> <li>Use PEP-489 multi-phase initialization for <code>#[pymodule]</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5525">#5525</a></li> <li>Deprecate implicit by-value implementation of <code>FromPyObject</code> for <code>#[pyclass]</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5550">#5550</a></li> <li>Deprecate <code>PyTypeInfo::NAME</code> and <code>PyTypeInfo::MODULE</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5579">#5579</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/f0c1523b69fd86f2a0e263d1b5830335912f574a"><code>f0c1523</code></a> release: 0.28.0 (<a href="https://redirect.github.com/pyo3/pyo3/issues/5762">#5762</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/278b54d0540814f842bafa3db0a47fa08f039b1c"><code>278b54d</code></a> ci: fix nightly warning of <code>PyClassObjectContents</code> privacy (<a href="https://redirect.github.com/pyo3/pyo3/issues/5767">#5767</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/f6223016c67c8c388c1000cef848d2178a0465c9"><code>f622301</code></a> add <code>PyUntypedBuffer</code> (<a href="https://redirect.github.com/pyo3/pyo3/issues/5458">#5458</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/aeeaf68578a27c80c08f506e65fcb913decd817c"><code>aeeaf68</code></a> Implement <code>auto_new</code> attribute for <code>#[pyclass]</code> (<a href="https://redirect.github.com/pyo3/pyo3/issues/5421">#5421</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/5578141face69a2bc166bb0e3d371c818975b7d6"><code>5578141</code></a> clean up error messages for Send / Sync requirements on <code>#[pyclass]</code> (<a href="https://redirect.github.com/pyo3/pyo3/issues/5750">#5750</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/18aa0c27facf90c64f1237d82a48003fa71f3125"><code>18aa0c2</code></a> docs: fix some sections in the migration guide (<a href="https://redirect.github.com/pyo3/pyo3/issues/5763">#5763</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/8848c7674e4179d24d7f96570aff4ad45d295f75"><code>8848c76</code></a> ci: run benchmarks on free-threaded build (<a href="https://redirect.github.com/pyo3/pyo3/issues/5760">#5760</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/d7c050c057be925da3210e33678967b9f70ae853"><code>d7c050c</code></a> Fix missing return types in PyModExport API wrappers (<a href="https://redirect.github.com/pyo3/pyo3/issues/5764">#5764</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/45f9f620e12d8df431457428650be9e2059a7186"><code>45f9f62</code></a> macros: rename PythonTypeHint into PyExpr (<a href="https://redirect.github.com/pyo3/pyo3/issues/5756">#5756</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/ae44f85b53066a9c715933401910b2786f7df8a2"><code>ae44f85</code></a> netlify: try marking canonical URLs for all files (<a href="https://redirect.github.com/pyo3/pyo3/issues/5761">#5761</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pyo3/pyo3/compare/v0.27.1...v0.28.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 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> -- 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]
