Commit bf0ec1c
chore(deps): update rust crate pyo3 to 0.28.0 (#7043)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [pyo3](https://redirect.github.com/pyo3/pyo3) | workspace.dependencies
| minor | `0.27.0` → `0.28.0` |
---
### Release Notes
<details>
<summary>pyo3/pyo3 (pyo3)</summary>
###
[`v0.28.2`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0282---2026-02-18)
[Compare
Source](https://redirect.github.com/pyo3/pyo3/compare/v0.28.1...v0.28.2)
##### Fixed
- Fix complex enum `__qualname__` not using python name
[#​5815](https://redirect.github.com/PyO3/pyo3/pull/5815)
- Fix FFI definition `PyType_GetTypeDataSize` (was incorrectly named
`PyObject_GetTypeDataSize`).
[#​5819](https://redirect.github.com/PyO3/pyo3/pull/5819)
- Fix memory corruption when subclassing native types with `abi3`
feature on Python 3.12+ (newly enabled in PyO3 0.28.0).
[#​5823](https://redirect.github.com/PyO3/pyo3/pull/5823)
###
[`v0.28.1`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0281---2026-02-14)
[Compare
Source](https://redirect.github.com/pyo3/pyo3/compare/v0.28.0...v0.28.1)
##### Fixed
- Fix `*args` / `**kwargs` support in` experimental-async` feature
(regressed in 0.28.0).
[#​5771](https://redirect.github.com/PyO3/pyo3/pull/5771)
- Fix `clippy::declare_interior_mutable_const` warning inside
`#[pyclass]` generated code on enums.
[#​5772](https://redirect.github.com/PyO3/pyo3/pull/5772)
- Fix `ambiguous_associated_items` compilation error when deriving
`FromPyObject` or using `#[pyclass(from_py_object)]` macro on enums with
`Error` variant.
[#​5784](https://redirect.github.com/PyO3/pyo3/pull/5784)
- Fix `__qualname__` for complex `#[pyclass]` enum variants to include
the enum name.
[#​5796](https://redirect.github.com/PyO3/pyo3/pull/5796)
- Fix missing `std::sync::atomic::Ordering` import for targets without
atomic64.
[#​5808](https://redirect.github.com/PyO3/pyo3/pull/5808)
###
[`v0.28.0`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0280---2026-02-01)
[Compare
Source](https://redirect.github.com/pyo3/pyo3/compare/v0.27.2...v0.28.0)
##### Packaging
- Bump MSRV to Rust 1.83.
[#​5531](https://redirect.github.com/PyO3/pyo3/pull/5531)
- Bump minimum supported `quote` version to 1.0.37.
[#​5531](https://redirect.github.com/PyO3/pyo3/pull/5531)
- Bump supported GraalPy version to 25.0.
[#​5542](https://redirect.github.com/PyO3/pyo3/pull/5542)
- Drop `memoffset` dependency.
[#​5545](https://redirect.github.com/PyO3/pyo3/pull/5545)
- Support for free-threaded Python is now opt-out rather than opt-in.
[#​5564](https://redirect.github.com/PyO3/pyo3/pull/5564)
- Bump `target-lexicon` dependency to 0.13.3.
[#​5571](https://redirect.github.com/PyO3/pyo3/pull/5571)
- Drop `indoc` and `unindent` dependencies.
[#​5608](https://redirect.github.com/PyO3/pyo3/pull/5608)
##### Added
- Add `__init__` support in `#[pymethods]`.
[#​4951](https://redirect.github.com/PyO3/pyo3/pull/4951)
- Expose `PySuper` on PyPy, GraalPy and ABI3
[#​4951](https://redirect.github.com/PyO3/pyo3/pull/4951)
- Add `PyString::from_fmt` and `py_format!` macro.
[#​5199](https://redirect.github.com/PyO3/pyo3/pull/5199)
- Add `#[pyclass(new = "from_fields")]` option.
[#​5421](https://redirect.github.com/PyO3/pyo3/pull/5421)
- Add `pyo3::buffer::PyUntypedBuffer`, a type-erased form of
`PyBuffer<T>`.
[#​5458](https://redirect.github.com/PyO3/pyo3/pull/5458)
- Add `PyBytes::new_with_writer`
[#​5517](https://redirect.github.com/PyO3/pyo3/pull/5517)
- Add `PyClass::NAME`.
[#​5579](https://redirect.github.com/PyO3/pyo3/pull/5579)
- Add `pyo3_build_config::add_libpython_rpath_link_args`.
[#​5624](https://redirect.github.com/PyO3/pyo3/pull/5624)
- Add `PyBackedStr::clone_ref` and `PyBackedBytes::clone_ref` methods.
[#​5654](https://redirect.github.com/PyO3/pyo3/pull/5654)
- Add `PyCapsule::new_with_pointer` and
`PyCapsule::new_with_pointer_and_destructor` for creating capsules with
raw pointers.
[#​5689](https://redirect.github.com/PyO3/pyo3/pull/5689)
- Add `#[deleter]` attribute to implement property deleters in
`#[methods]`.
[#​5699](https://redirect.github.com/PyO3/pyo3/pull/5699)
- Add `IntoPyObject` and `FromPyObject` implementations for
`uuid::NonNilUuid`.
[#​5707](https://redirect.github.com/PyO3/pyo3/pull/5707)
- Add `PyBackedStr::as_str` and `PyBackedStr::as_py_str` methods.
[#​5723](https://redirect.github.com/PyO3/pyo3/pull/5723)
- Add support for subclassing native types (`PyDict`, exceptions, ...)
when building for abi3 on Python 3.12+.
[#​5733](https://redirect.github.com/PyO3/pyo3/pull/5733)
- Add support for subclassing `PyList` when building for Python 3.12+.
[#​5734](https://redirect.github.com/PyO3/pyo3/pull/5734)
- FFI definitions:
- Add FFI definitions `PyEval_GetFrameBuiltins`,
`PyEval_GetFrameGlobals` and `PyEval_GetFrameLocals` on Python 3.13 and
up. [#​5590](https://redirect.github.com/PyO3/pyo3/pull/5590)
- Add FFI definitions `PyObject_New`, `PyObject_NewVar`,
`PyObject_GC_Resize`, `PyObject_GC_New`, and `PyObject_GC_NewVar`.
[#​5591](https://redirect.github.com/PyO3/pyo3/pull/5591)
- Added FFI definitions and an unsafe Rust API wrapping
`Py_BEGIN_CRITICAL_SECTION_MUTEX` and
`Py_BEGIN_CRITICAL_SECTION_MUTEX2`.
[#​5642](https://redirect.github.com/PyO3/pyo3/pull/5642)
- Add FFI definition `PyDict_GetItemStringRef` on Python 3.13 and up.
[#​5659](https://redirect.github.com/PyO3/pyo3/pull/5659)
- Add FFI definition `PyIter_NextItem` on Python 3.14 and up, and
`compat::PyIter_NextItem` for older versions.
[#​5661](https://redirect.github.com/PyO3/pyo3/pull/5661)
- Add FFI definitions `PyThreadState_GetInterpreter` and
`PyThreadState_GetID` on Python 3.9+, `PyThreadState_EnterTracing` and
`PyThreadState_LeaveTracing` on Python 3.11+,
`PyThreadState_GetUnchecked` on Python 3.13+, and
`compat::PyThreadState_GetUnchecked`.
[#​5711](https://redirect.github.com/PyO3/pyo3/pull/5711)
- Add FFI definitions `PyImport_ImportModuleAttr` and
`PyImport_ImportModuleAttrString` on Python 3.14+.
[#​5737](https://redirect.github.com/PyO3/pyo3/pull/5737)
- Add FFI definitions for the `PyABIInfo` and `PyModExport` APIs
available in Python 3.15.
[#​5746](https://redirect.github.com/PyO3/pyo3/pull/5746)
- `experimental-inspect`:
- Emit base classes.
[#​5331](https://redirect.github.com/PyO3/pyo3/pull/5331)
- Emit `@typing.final` on final classes.
[#​5552](https://redirect.github.com/PyO3/pyo3/pull/5552)
- Generate nested classes for complex enums.
[#​5708](https://redirect.github.com/PyO3/pyo3/pull/5708)
- Emit `async` keyword for async functions.
[#​5731](https://redirect.github.com/PyO3/pyo3/pull/5731)
##### Changed
- Call `sys.unraisablehook` instead of `PyErr_Print` if panicking on
null FFI pointer in `Bound`, `Borrowed` and `Py` constructors.
[#​5496](https://redirect.github.com/PyO3/pyo3/pull/5496)
- Use PEP-489 multi-phase initialization for `#[pymodule]`.
[#​5525](https://redirect.github.com/PyO3/pyo3/pull/5525)
- Deprecate implicit by-value implementation of `FromPyObject` for
`#[pyclass]`.
[#​5550](https://redirect.github.com/PyO3/pyo3/pull/5550)
- Deprecate `PyTypeInfo::NAME` and `PyTypeInfo::MODULE`.
[#​5579](https://redirect.github.com/PyO3/pyo3/pull/5579)
- Deprecate `Py<T>::from_{owned,borrowed}[or_{err,opt}]` constructors
from raw pointer.
[#​5585](https://redirect.github.com/PyO3/pyo3/pull/5585)
- Deprecate FFI definitions `PyEval_AcquireLock` and
`PyEval_ReleaseLock`.
[#​5590](https://redirect.github.com/PyO3/pyo3/pull/5590)
- Relax `'py: 'a` bound in `Py::extract`.
[#​5594](https://redirect.github.com/PyO3/pyo3/pull/5594)
- Add a `T: PyTypeCheck` bound to the `IntoPyObject` implementations on
`Bound<T>`, `Borrowed<T>` and `Py<T>`.
[#​5640](https://redirect.github.com/PyO3/pyo3/pull/5640)
- The `with_critical_section` and `with_critical_section2` functions are
moved to `pyo3::sync::critical_section`.
[#​5642](https://redirect.github.com/PyO3/pyo3/pull/5642)
- Use `PyIter_NextItem` in `PyIterator::next` implementation.
[#​5661](https://redirect.github.com/PyO3/pyo3/pull/5661)
- `IntoPyObject` for simple enums now uses a singleton value, allowing
identity (python `is`) comparisons.
[#​5665](https://redirect.github.com/PyO3/pyo3/pull/5665)
- Allow any `Sequence[int]` in `FromPyObject` on `Cow<[u8]>` and change
the error type to `PyErr`.
[#​5667](https://redirect.github.com/PyO3/pyo3/pull/5667)
- `async` pymethods now borrow `self` only for the duration of awaiting
the future, not the entire method call.
[#​5684](https://redirect.github.com/PyO3/pyo3/pull/5684)
- Change `CastError` formatted message to directly describe the "is not
an instance of" failure condition.
[#​5693](https://redirect.github.com/PyO3/pyo3/pull/5693)
- Add `#[inline]` hints to many methods on `PyBackedStr`.
[#​5723](https://redirect.github.com/PyO3/pyo3/pull/5723)
- Remove redundant internal counters from `BoundSetIterator` and
`BoundFrozenSetIterator`.
[#​5725](https://redirect.github.com/PyO3/pyo3/pull/5725)
- Implement `PyIterator::size_hint` on abi3 builds (previously was only
on unlimited API builds).
[#​5727](https://redirect.github.com/PyO3/pyo3/pull/5727)
- Deprecate FFI definition `PyImport_ImportModuleNoBlock` (deprecated in
Python 3.13).
[#​5737](https://redirect.github.com/PyO3/pyo3/pull/5737)
- `#[new]` can now return arbitrary Python objects.
[#​5739](https://redirect.github.com/PyO3/pyo3/pull/5739)
- `experimental-inspect`:
- Introduce `TypeHint` and make use of it to encode type hint
annotations.
[#​5438](https://redirect.github.com/PyO3/pyo3/pull/5438)
- Rename `PyType{Info,Check}::TYPE_INFO` into
`PyType{Info,Check}::TYPE_HINT`.
[#​5438](https://redirect.github.com/PyO3/pyo3/pull/5438)
[#​5619](https://redirect.github.com/PyO3/pyo3/pull/5619)
[#​5641](https://redirect.github.com/PyO3/pyo3/pull/5641)
- Fill annotations on function arguments and return values for all types
supported natively by PyO3.
[#​5634](https://redirect.github.com/PyO3/pyo3/pull/5634)
[#​5637](https://redirect.github.com/PyO3/pyo3/pull/5637)
[#​5639](https://redirect.github.com/PyO3/pyo3/pull/5639)
- Use `_typeshed.Incomplete` instead of `typing.Any` as default type
hint, to make it easier to spot incomplete trait implementations.
[#​5744](https://redirect.github.com/PyO3/pyo3/pull/5744)
- Use general Python expression syntax for type hints.
[#​5671](https://redirect.github.com/PyO3/pyo3/pull/5671)
##### Removed
- Remove all functionality deprecated in PyO3 0.25 and 0.26.
[#​5740](https://redirect.github.com/PyO3/pyo3/pull/5740)
- FFI definitions:
- Remove FFI definition `PyEval_GetCallStats` (removed from CPython in
Python 3.7).
[#​5590](https://redirect.github.com/PyO3/pyo3/pull/5590)
- Remove FFI definitions `PyEval_AcquireLock` and `PyEval_ReleaseLock`
on Python 3.13 and up.
[#​5590](https://redirect.github.com/PyO3/pyo3/pull/5590)
- Remove private FFI definitions `_PyObject_New`, `_PyObject_NewVar`,
`_PyObject_GC_Resize`, `_PyObject_GC_New`, and `_PyObject_GC_NewVar`.
[#​5591](https://redirect.github.com/PyO3/pyo3/pull/5591)
- Remove private FFI definitions `_PyDict_SetItem_KnownHash`,
`_PyDict_Next`, `_PyDict_NewPresized`, `_PyDict_Contains_KnownHash`, and
`_PyDict_Contains`.
[#​5659](https://redirect.github.com/PyO3/pyo3/pull/5659)
- Remove private FFI definitions `_PyFrameEvalFunction`,
`_PyInterpreterState_GetEvalFrameFunc` and
`_PyInterpreterState_SetEvalFrameFunc`.
[#​5711](https://redirect.github.com/PyO3/pyo3/pull/5711)
- Remove private FFI definitions `_PyImport_IsInitialized`,
`_PyImport_SetModule`, `_PyImport_SetModuleString`,
`_PyImport_AcquireLock`, `_PyImport_ReleaseLock`,
`_PyImport_FindBuiltin`, `_PyImport_FindExtensionObject`,
`_PyImport_FixupBuiltin`, and `_PyImport_FixupExtensionObject`.
[#​5737](https://redirect.github.com/PyO3/pyo3/pull/5737)
##### Fixed
- Fix `PyModuleMethods::add_submodule()` to use the last segment of the
submodule name as the attribute name on the parent module instead of
using the full name.
[#​5375](https://redirect.github.com/PyO3/pyo3/pull/5375)
- Link with libpython for Cygwin extension modules.
[#​5571](https://redirect.github.com/PyO3/pyo3/pull/5571)
- Link against the limited API DLL for Cygwin when abi3 is used.
[#​5574](https://redirect.github.com/PyO3/pyo3/pull/5574)
- Handle errors in `PyIterator` when calling `size_hint`
[#​5604](https://redirect.github.com/PyO3/pyo3/pull/5604)
- Link with libpython for iOS extension modules.
[#​5605](https://redirect.github.com/PyO3/pyo3/pull/5605)
- Correct `IntoPyObject` output type of `PyBackedStr` to be `PyString`,
not `PyAny`.
[#​5655](https://redirect.github.com/PyO3/pyo3/pull/5655)
- Fix `async` functions to return `None` rather than empty tuple `()`.
[#​5685](https://redirect.github.com/PyO3/pyo3/pull/5685)
- Fix compile error when using references to `#[pyclass]` types (e.g.
`&MyClass`) as arguments to async `#[pyfunction]`s.
[#​5725](https://redirect.github.com/PyO3/pyo3/pull/5725)
- FFI definitions:
- Fix FFI definition `PyMemberDescrObject.d_member` to use `PyMemberDef`
for Python 3.11+ (was incorrectly `PyGetSetDef`).
[#​5647](https://redirect.github.com/PyO3/pyo3/pull/5647)
- Mark FFI definition `PyThreadState_GetFrame` available with abi3 in
3.10+. [#​5711](https://redirect.github.com/PyO3/pyo3/pull/5711)
- Fix FFI definition `PyImport_GetModule` on PyPy.
[#​5737](https://redirect.github.com/PyO3/pyo3/pull/5737)
- `experimental-inspect`:
- fix `__new__` return type to be the built object type and not `None`.
[#​5555](https://redirect.github.com/PyO3/pyo3/pull/5555)
- fix imports of decorators.
[#​5618](https://redirect.github.com/PyO3/pyo3/pull/5618)
- fix the return type annotation of `PyResult<()>` (must be `None` and
not `tuple`)
[#​5674](https://redirect.github.com/PyO3/pyo3/pull/5674)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on
Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule
defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni40IiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AiLCJsYWJlbHMiOlsiY2hhbmdlbG9nL2Nob3JlIl19-->
---------
Signed-off-by: Robert Kruszewski <github@robertk.io>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Kruszewski <github@robertk.io>1 parent 7cd2206 commit bf0ec1c
7 files changed
Lines changed: 50 additions & 42 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
196 | | - | |
197 | | - | |
| 196 | + | |
| 197 | + | |
198 | 198 | | |
| 199 | + | |
199 | 200 | | |
200 | 201 | | |
201 | 202 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
| 50 | + | |
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
96 | 104 | | |
97 | 105 | | |
98 | 106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
12 | 20 | | |
13 | 21 | | |
14 | 22 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
67 | 75 | | |
68 | 76 | | |
69 | 77 | | |
| |||
0 commit comments