chore(deps): bump pyo3 from 0.24.2 to 0.27.2
Bumps pyo3 from 0.24.2 to 0.27.2.
Release notes
Sourced from pyo3's releases.
PyO3 0.27.2
This patch contains very minor fixes for the PyO3 0.27 series:
- Workaround a rustc 1.92+ crash compiling PyO3 with both debug assertions and optimizations enabled.
- Fix runtime crash when subclassing dicts on PyPy and GraalPy.
There are also a number of documentation improvements applied across the codebase.
Thank you to the following contributors for the improvements:
@davidhewitt@dependabot[bot]@MusicalNinjaDad@pkalivas@tpoliaw@TptPyO3 0.27.1
This release fixes a clippy lint regression in PyO3 0.27.0, and exposes the
PySendResulttype (the return value fromBound<PyIterator>::send).Thank you to the following contributors for the improvements:
@alex@davidhewitt@reaperhulk@tpoliawPyO3 0.27.0
This release is the first PyO3 release to be tested against Python 3.14.0 final. There are no significant changes to 3.14 support since PyO3 0.26 which was tested against the 3.14 release candidates.
Support for PyPy 3.9 and PyPy 3.10 (both no longer supported upstream) has been dropped.
The
FromPyObjecttrait has been reworked in a similar fashion to theIntoPyObjecttrait introduced in PyO3 0.23. This has established a performant and flexible implementation of both these traits and no further changes to the traits are anticipated in the future. Thank you for the patience upgrading through these incremental improvements at the core of PyO3.The
.downcast()family of functions are now deprecated in favour of the.cast()family of functions, which are an incremental improvement to API usability and to error messages on failed conversions.Operations on the
PyCapsuletype have been changed without deprecation to fix some issues with lifetimes of return values (in.name()and.reference()specifically). The capsule API now also encourages checking of capsule names, which is one of the few defences available to protect the validity of casting data read by the capsule API.There are also many other incremental improvements, bug fixes and smaller features.
Please consult the migration guide for help upgrading.
Thank you to everyone who contributed code, documentation, design ideas, bug reports, and feedback. The following contributors' commits are included in this release:
@alex@altendky@bazaah@bschoenmaeckers@crepererum@davidhewitt
... (truncated)
Changelog
Sourced from pyo3's changelog.
[0.27.2] - 2025-11-30
Changed
- Disable subclassing
PyDicton GraalPy (unsupported for now, may crash at runtime). #5653Fixed
- Fix crash when compiling on Rust 1.92+ with both debug assertions and optimizations enabled. #5638
- Fix FFI definition of
PyDictObjecton PyPy. #5653[0.27.1] - 2025-10-21
Fixed
- Fix
clippy:declare_interior_mutable_constwarning from#[pyfunction]. #5538- Expose
pyo3::types::PySendResultin public API. #5539[0.27.0] - 2025-10-19
Packaging
- Extend range of supported versions of
hashbrownoptional dependency to include version 0.16. #5428- Bump optional
num-bigintdependency minimum version to 0.4.4. #5471- Test against Python 3.14 final release. #5499
- Drop support for PyPy 3.9 and 3.10. #5516
- Provide a better error message when building an outdated PyO3 for a too-new Python version. #5519
Added
- Add
FromPyObjectOwnedas convenient trait bound forFromPyObjectwhen the data is not borrowed from Python. #4390- Add
Borrowed::extract, same asPyAnyMethods::extract, but does not restrict the lifetime by deref. #4390experimental-inspect: basic support for#[derive(IntoPyObject)](no struct fields support yet). #5365experimental-inspect: support#[pyo3(get, set)]and#[pyclass(get_all, set_all)]. #5370- Add
PyTypeCheck::classinfo_objectthat returns an object that can be used as parameter inisinstanceorissubclass. #5387- Implement
PyTypeInfoondatetime.*types even when the limited API is enabled. #5388- Implement
PyTypeInfoonPyIterator,PyMappingandPySequence. #5402- Implement
PyTypeInfoonPyCodewhen using the stable ABI. #5403- Implement
PyTypeInfoonPyWeakrefReferencewhen using the stable ABI. #5404- Add
pyo3::sync::RwLockExttrait, analogous topyo3::sync::MutexExtfor readwrite locks. #5435- Add
PyString::from_bytes. #5437- Implement
AsRef<[u8]>forPyBytes. #5445- Add
CastErrorandCastIntoError. #5468- Add
PyCapsuleMethods::pointer_checkedandPyCapsuleMethods::is_valid_checked. #5474- Add
Borrowed::cast,Borrowed::cast_exactandBorrowed::cast_unchecked. #5475- Add conversions for
jiff::civil::ISOWeekDate. #5478- Add conversions for
&Cstr,CstringandCow<Cstr>. #5482- add
#[pyclass(skip_from_py_object)]option, to opt-out of theFromPyObject: PyClass + Cloneblanket impl. #5488- Add
PyErr::add_note. #5489- Add
FromPyObjectimpl forCow<Path>&Cow<OsStr>. #5497
... (truncated)
Commits
117102drelease: 0.27.22b1d6c5fix FFI definition ofPyDictObjecton PyPy (#5653)032d4d3ci: add lychee cache (#5616)b4f78c0fixrumdlformatting0497d48ci: remove old netlify build files (#5631)f3d6e05Avoid introducing generic parameter with implied bounds from an associated ty...c8e6597ci: pinmdbookto 0.4 for now, properly installmdbook-tabs(#5632)30cca7ebuild(deps): bump actions/checkout from 5.0.0 to 5.0.1 (#5629)bb7bb94Update PyIterator::send docs to match behaviour (#5593)1acadc5Add radiate to README examples section (#5561)- Additional commits viewable in compare view
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 commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebasewill rebase this PR -
@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it -
@dependabot mergewill merge this PR after your CI passes on it -
@dependabot squash and mergewill squash and merge this PR after your CI passes on it -
@dependabot cancel mergewill cancel a previously requested merge and block automerging -
@dependabot reopenwill reopen this PR if it is closed -
@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency -
@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
@dependabot recreate