Commit 475c77f
⬆️🦀 Update Rust crate pyo3 to 0.26.0 (#145)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [pyo3](https://redirect.github.com/pyo3/pyo3) | dependencies | minor |
`0.24.2` -> `0.26.0` |
---
### Release Notes
<details>
<summary>pyo3/pyo3 (pyo3)</summary>
###
[`v0.26.0`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0260---2025-08-29)
[Compare
Source](https://redirect.github.com/pyo3/pyo3/compare/v0.25.1...v0.26.0)
##### Packaging
- Bump hashbrown dependency to 0.15.
[#​5152](https://redirect.github.com/PyO3/pyo3/pull/5152)
- Update MSRV to 1.74.
[#​5171](https://redirect.github.com/PyO3/pyo3/pull/5171)
- Set the same maximum supported version for alternative interpreters as
for CPython.
[#​5192](https://redirect.github.com/PyO3/pyo3/pull/5192)
- Add optional `bytes` dependency to add conversions for `bytes::Bytes`.
[#​5252](https://redirect.github.com/PyO3/pyo3/pull/5252)
- Publish new crate `pyo3-introspection` to pair with the
`experimental-inspect` feature.
[#​5300](https://redirect.github.com/PyO3/pyo3/pull/5300)
- The `PYO3_BUILD_EXTENSION_MODULE` now causes the same effect as the
`extension-module` 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.
[#​5343](https://redirect.github.com/PyO3/pyo3/pull/5343)
##### Added
- Add `#[pyo3(warn(message = "...", category = ...))]` attribute for
automatic warnings generation for `#[pyfunction]` and `#[pymethods]`.
[#​4364](https://redirect.github.com/PyO3/pyo3/pull/4364)
- Add `PyMutex`, available on Python 3.13 and newer.
[#​4523](https://redirect.github.com/PyO3/pyo3/pull/4523)
- Add FFI definition `PyMutex_IsLocked`, available on Python 3.14 and
newer. [#​4523](https://redirect.github.com/PyO3/pyo3/pull/4523)
- Add `PyString::from_encoded_object`.
[#​5017](https://redirect.github.com/PyO3/pyo3/pull/5017)
- `experimental-inspect`: add basic input type annotations.
[#​5089](https://redirect.github.com/PyO3/pyo3/pull/5089)
- Add FFI function definitions for `PyFrameObject` from CPython 3.13.
[#​5154](https://redirect.github.com/PyO3/pyo3/pull/5154)
- `experimental-inspect`: tag modules created using `#[pymodule]` or
`#[pymodule_init]` functions as incomplete.
[#​5207](https://redirect.github.com/PyO3/pyo3/pull/5207)
- `experimental-inspect`: add basic return type support.
[#​5208](https://redirect.github.com/PyO3/pyo3/pull/5208)
- Add `PyCode::compile` and `PyCodeMethods::run` to create and execute
code objects.
[#​5217](https://redirect.github.com/PyO3/pyo3/pull/5217)
- Add `PyOnceLock` type for thread-safe single-initialization.
[#​5223](https://redirect.github.com/PyO3/pyo3/pull/5223)
- Add `PyClassGuard(Mut)` pyclass holders. In the future they will
replace `PyRef(Mut)`.
[#​5233](https://redirect.github.com/PyO3/pyo3/pull/5233)
- `experimental-inspect`: allow annotations in `#[pyo3(signature)]`
signature attribute.
[#​5241](https://redirect.github.com/PyO3/pyo3/pull/5241)
- Implement `MutexExt` for parking\_lot's/lock\_api `ReentrantMutex`.
[#​5258](https://redirect.github.com/PyO3/pyo3/pull/5258)
- `experimental-inspect`: support class associated constants.
[#​5272](https://redirect.github.com/PyO3/pyo3/pull/5272)
- Add `Bound::cast` family of functions superseding the
`PyAnyMethods::downcast` family.
[#​5289](https://redirect.github.com/PyO3/pyo3/pull/5289)
- Add FFI definitions `Py_Version` and `Py_IsFinalizing`.
[#​5317](https://redirect.github.com/PyO3/pyo3/pull/5317)
- `experimental-inspect`: add output type annotation for `#[pyclass]`.
[#​5320](https://redirect.github.com/PyO3/pyo3/pull/5320)
- `experimental-inspect`: support `#[pyclass(eq, eq_int, ord, hash,
str)]`. [#​5338](https://redirect.github.com/PyO3/pyo3/pull/5338)
- `experimental-inspect`: add basic support for
`#[derive(FromPyObject)]` (no struct fields support yet).
[#​5339](https://redirect.github.com/PyO3/pyo3/pull/5339)
- Add `Python::try_attach`.
[#​5342](https://redirect.github.com/PyO3/pyo3/pull/5342)
##### Changed
- Use `Py_TPFLAGS_DISALLOW_INSTANTIATION` instead of a `__new__` which
always fails for a `#[pyclass]` without a `#[new]` on Python 3.10 and
up. [#​4568](https://redirect.github.com/PyO3/pyo3/pull/4568)
- `PyModule::from_code` now defaults `file_name` to `<string>` if empty.
[#​4777](https://redirect.github.com/PyO3/pyo3/pull/4777)
- Deprecate `PyString::from_object` in favour of
`PyString::from_encoded_object`.
[#​5017](https://redirect.github.com/PyO3/pyo3/pull/5017)
- When building with `abi3` for a Python version newer than pyo3
supports, automatically fall back to an abi3 build for the latest
supported version.
[#​5144](https://redirect.github.com/PyO3/pyo3/pull/5144)
- Change `is_instance_of` trait bound from `PyTypeInfo` to
`PyTypeCheck`.
[#​5146](https://redirect.github.com/PyO3/pyo3/pull/5146)
- Many PyO3 proc macros now report multiple errors instead of only the
first one.
[#​5159](https://redirect.github.com/PyO3/pyo3/pull/5159)
- Change `MutexExt` return type to be an associated type.
[#​5201](https://redirect.github.com/PyO3/pyo3/pull/5201)
- Use `PyCallArgs` for `Py::call` and friends so they're equivalent to
their `Bound` counterpart.
[#​5206](https://redirect.github.com/PyO3/pyo3/pull/5206)
- Rename `Python::with_gil` to `Python::attach`.
[#​5209](https://redirect.github.com/PyO3/pyo3/pull/5209)
- Rename `Python::allow_threads` to `Python::detach`
[#​5221](https://redirect.github.com/PyO3/pyo3/pull/5221)
- Deprecate `GILOnceCell` type in favour of `PyOnceLock`.
[#​5223](https://redirect.github.com/PyO3/pyo3/pull/5223)
- Rename `pyo3::prepare_freethreaded_python` to `Python::initialize`.
[#​5247](https://redirect.github.com/PyO3/pyo3/pull/5247)
- Convert `PyMemoryError` into/from `io::ErrorKind::OutOfMemory`.
[#​5256](https://redirect.github.com/PyO3/pyo3/pull/5256)
- Deprecate `GILProtected`.
[#​5285](https://redirect.github.com/PyO3/pyo3/pull/5285)
- Move `#[pyclass]` docstring formatting from import time to compile
time. [#​5286](https://redirect.github.com/PyO3/pyo3/pull/5286)
- `Python::attach` will now panic if the Python interpreter is in the
process of shutting down.
[#​5317](https://redirect.github.com/PyO3/pyo3/pull/5317)
- Add fast-path to `PyTypeInfo::type_object` for `#[pyclass]` types.
[#​5324](https://redirect.github.com/PyO3/pyo3/pull/5324)
- Deprecate `PyObject` type alias for `Py<PyAny>`.
[#​5325](https://redirect.github.com/PyO3/pyo3/pull/5325)
- Rename `Python::with_gil_unchecked` to `Python::attach_unchecked`.
[#​5340](https://redirect.github.com/PyO3/pyo3/pull/5340)
- Rename `Python::assume_gil_acquired` to `Python::assume_attached`.
[#​5354](https://redirect.github.com/PyO3/pyo3/pull/5354)
##### Removed
- Remove FFI definition of internals of `PyFrameObject`.
[#​5154](https://redirect.github.com/PyO3/pyo3/pull/5154)
- Remove `Eq` and `PartialEq` implementations on `PyGetSetDef` FFI
definition.
[#​5196](https://redirect.github.com/PyO3/pyo3/pull/5196)
- Remove private FFI definitions `_Py_IsCoreInitialized` and
`_Py_InitializeMain`.
[#​5317](https://redirect.github.com/PyO3/pyo3/pull/5317)
##### Fixed
- Use critical section in `PyByteArray::to_vec` on freethreaded build to
replicate GIL-enabled "soundness".
[#​4742](https://redirect.github.com/PyO3/pyo3/pull/4742)
- Fix precision loss when converting `bigdecimal` into Python.
[#​5198](https://redirect.github.com/PyO3/pyo3/pull/5198)
- Don't treat win7 target as a cross-compilation.
[#​5210](https://redirect.github.com/PyO3/pyo3/pull/5210)
- WASM targets no longer require exception handling support for Python <
3.14. [#​5239](https://redirect.github.com/PyO3/pyo3/pull/5239)
- Fix segfault when dropping `PyBuffer<T>` after the Python interpreter
has been finalized.
[#​5242](https://redirect.github.com/PyO3/pyo3/pull/5242)
- `experimental-inspect`: better automated imports generation.
[#​5251](https://redirect.github.com/PyO3/pyo3/pull/5251)
- `experimental-inspect`: fix introspection of `__richcmp__`,
`__concat__`, `__repeat__`, `__inplace_concat__` and
`__inplace_repeat__`.
[#​5273](https://redirect.github.com/PyO3/pyo3/pull/5273)
- fixed a leaked borrow, when converting a mutable sub class into a
frozen base class using `PyRef::into_super`
[#​5281](https://redirect.github.com/PyO3/pyo3/pull/5281)
- Fix FFI definition `Py_Exit` (never returns, was `()` return value,
now `!`).
[#​5317](https://redirect.github.com/PyO3/pyo3/pull/5317)
- `experimental-inspect`: fix handling of module members gated behind
`#[cfg(...)]` attributes.
[#​5318](https://redirect.github.com/PyO3/pyo3/pull/5318)
###
[`v0.25.1`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0251---2025-06-12)
[Compare
Source](https://redirect.github.com/pyo3/pyo3/compare/v0.25.0...v0.25.1)
##### Packaging
- Add support for Windows on ARM64.
[#​5145](https://redirect.github.com/PyO3/pyo3/pull/5145)
- Add `chrono-local` feature for optional conversions for chrono's
`Local` timezone & `DateTime<Local>` instances.
[#​5174](https://redirect.github.com/PyO3/pyo3/pull/5174)
##### Added
- Add FFI definition `PyBytes_AS_STRING`.
[#​5121](https://redirect.github.com/PyO3/pyo3/pull/5121)
- Add support for module associated consts introspection.
[#​5150](https://redirect.github.com/PyO3/pyo3/pull/5150)
##### Changed
- Enable "vectorcall" FFI definitions on GraalPy.
[#​5121](https://redirect.github.com/PyO3/pyo3/pull/5121)
- Use `Py_Is` function on GraalPy
[#​5121](https://redirect.github.com/PyO3/pyo3/pull/5121)
##### Fixed
- Report a better compile error for `async` declarations when not using
`experimental-async` feature.
[#​5156](https://redirect.github.com/PyO3/pyo3/pull/5156)
- Fix implementation of `FromPyObject` for `uuid::Uuid` on big-endian
architectures.
[#​5161](https://redirect.github.com/PyO3/pyo3/pull/5161)
- Fix segmentation faults on 32-bit x86 with Python 3.14.
[#​5180](https://redirect.github.com/PyO3/pyo3/pull/5180)
###
[`v0.25.0`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0250---2025-05-14)
[Compare
Source](https://redirect.github.com/pyo3/pyo3/compare/v0.24.2...v0.25.0)
##### Packaging
- Support Python 3.14.0b1.
[#​4811](https://redirect.github.com/PyO3/pyo3/pull/4811)
- Bump supported GraalPy version to 24.2.
[#​5116](https://redirect.github.com/PyO3/pyo3/pull/5116)
- Add optional `bigdecimal` dependency to add conversions for
`bigdecimal::BigDecimal`.
[#​5011](https://redirect.github.com/PyO3/pyo3/pull/5011)
- Add optional `time` dependency to add conversions for `time` types.
[#​5057](https://redirect.github.com/PyO3/pyo3/pull/5057)
- Remove `cfg-if` dependency.
[#​5110](https://redirect.github.com/PyO3/pyo3/pull/5110)
- Add optional `ordered_float` dependency to add conversions for
`ordered_float::NotNan` and `ordered_float::OrderedFloat`.
[#​5114](https://redirect.github.com/PyO3/pyo3/pull/5114)
##### Added
- Add initial type stub generation to the `experimental-inspect`
feature. [#​3977](https://redirect.github.com/PyO3/pyo3/pull/3977)
- Add `#[pyclass(generic)]` option to support runtime generic typing.
[#​4926](https://redirect.github.com/PyO3/pyo3/pull/4926)
- Implement `OnceExt` & `MutexExt` for `parking_lot` & `lock_api`. Use
the new extension traits by enabling the `arc_lock`, `lock_api`, or
`parking_lot` cargo features.
[#​5044](https://redirect.github.com/PyO3/pyo3/pull/5044)
- Implement `From`/`Into` for `Borrowed<T>` -> `Py<T>`.
[#​5054](https://redirect.github.com/PyO3/pyo3/pull/5054)
- Add `PyTzInfo` constructors.
[#​5055](https://redirect.github.com/PyO3/pyo3/pull/5055)
- Add FFI definition `PY_INVALID_STACK_EFFECT`.
[#​5064](https://redirect.github.com/PyO3/pyo3/pull/5064)
- Implement `AsRef<Py<PyAny>>` for `Py<T>`, `Bound<T>` and
`Borrowed<T>`.
[#​5071](https://redirect.github.com/PyO3/pyo3/pull/5071)
- Add FFI definition `PyModule_Add` and `compat::PyModule_Add`.
[#​5085](https://redirect.github.com/PyO3/pyo3/pull/5085)
- Add FFI definitions `Py_HashBuffer`, `Py_HashPointer`, and
`PyObject_GenericHash`.
[#​5086](https://redirect.github.com/PyO3/pyo3/pull/5086)
- Support `#[pymodule_export]` on `const` items in declarative modules.
[#​5096](https://redirect.github.com/PyO3/pyo3/pull/5096)
- Add `#[pyclass(immutable_type)]` option (on Python 3.14+ with `abi3`,
or 3.10+ otherwise) for immutable type objects.
[#​5101](https://redirect.github.com/PyO3/pyo3/pull/5101)
- Support `#[pyo3(rename_all)]` support on `#[derive(IntoPyObject)]`.
[#​5112](https://redirect.github.com/PyO3/pyo3/pull/5112)
- Add `PyRange` wrapper.
[#​5117](https://redirect.github.com/PyO3/pyo3/pull/5117)
##### Changed
- Enable use of `datetime` types with `abi3` feature enabled.
[#​4970](https://redirect.github.com/PyO3/pyo3/pull/4970)
- Deprecate `timezone_utc` in favor of `PyTzInfo::utc`.
[#​5055](https://redirect.github.com/PyO3/pyo3/pull/5055)
- Reduce visibility of some CPython implementation details:
[#​5064](https://redirect.github.com/PyO3/pyo3/pull/5064)
- The FFI definition `PyCodeObject` is now an opaque struct on all
Python versions.
- The FFI definition `PyFutureFeatures` is now only defined up until
Python 3.10 (it was present in CPython headers but unused in 3.11 and
3.12).
- Change `PyAnyMethods::is` to take `other: &Bound<T>`.
[#​5071](https://redirect.github.com/PyO3/pyo3/pull/5071)
- Change `Py::is` to take `other: &Py<T>`.
[#​5071](https://redirect.github.com/PyO3/pyo3/pull/5071)
- Change `PyVisit::call` to take `T: Into<Option<&Py<T>>>`.
[#​5071](https://redirect.github.com/PyO3/pyo3/pull/5071)
- Expose `PyDateTime_DATE_GET_TZINFO` and `PyDateTime_TIME_GET_TZINFO`
on PyPy 3.10 and later.
[#​5079](https://redirect.github.com/PyO3/pyo3/pull/5079)
- Add `#[track_caller]` to `with_gil` and `with_gil_unchecked`.
[#​5109](https://redirect.github.com/PyO3/pyo3/pull/5109)
- Use `std::thread::park()` instead of `libc::pause()` or
`sleep(9999999)`.
[#​5115](https://redirect.github.com/PyO3/pyo3/pull/5115)
##### Removed
- Remove all functionality deprecated in PyO3 0.23.
[#​4982](https://redirect.github.com/PyO3/pyo3/pull/4982)
- Remove deprecated `IntoPy` and `ToPyObject` traits.
[#​5010](https://redirect.github.com/PyO3/pyo3/pull/5010)
- Remove private types from `pyo3-ffi` (i.e. starting with `_Py`) which
are not referenced by public APIs: `_PyLocalMonitors`,
`_Py_GlobalMonitors`, `_PyCoCached`, `_PyCoLineInstrumentationData`,
`_PyCoMonitoringData`, `_PyCompilerSrcLocation`, `_PyErr_StackItem`.
[#​5064](https://redirect.github.com/PyO3/pyo3/pull/5064)
- Remove FFI definition `PyCode_GetNumFree` (PyO3 cannot support it due
to knowledge of the code object).
[#​5064](https://redirect.github.com/PyO3/pyo3/pull/5064)
- Remove `AsPyPointer` trait.
[#​5071](https://redirect.github.com/PyO3/pyo3/pull/5071)
- Remove support for the deprecated string form of `from_py_with`.
[#​5097](https://redirect.github.com/PyO3/pyo3/pull/5097)
- Remove FFI definitions of private static variables:
`_PyMethodWrapper_Type`, `_PyCoroWrapper_Type`,
`_PyImport_FrozenBootstrap`, `_PyImport_FrozenStdlib`,
`_PyImport_FrozenTest`, `_PyManagedBuffer_Type`, `_PySet_Dummy`,
`_PyWeakref_ProxyType`, and `_PyWeakref_CallableProxyType`.
[#​5105](https://redirect.github.com/PyO3/pyo3/pull/5105)
- Remove FFI definitions `PyASCIIObjectState`, `PyUnicode_IS_ASCII`,
`PyUnicode_IS_COMPACT`, and `PyUnicode_IS_COMPACT_ASCII` on Python 3.14
and newer.
[#​5133](https://redirect.github.com/PyO3/pyo3/pull/5133)
##### Fixed
- Correctly pick up the shared state for conda-based Python installation
when reading information from sysconfigdata.
[#​5037](https://redirect.github.com/PyO3/pyo3/pull/5037)
- Fix compile failure with `#[derive(IntoPyObject, FromPyObject)]` when
using `#[pyo3()]` options recognised by only one of the two derives.
[#​5070](https://redirect.github.com/PyO3/pyo3/pull/5070)
- Fix various compile errors from missing FFI definitions using certain
feature combinations on PyPy and GraalPy.
[#​5091](https://redirect.github.com/PyO3/pyo3/pull/5091)
- Fallback on `backports.zoneinfo` for python <3.9 when converting
timezones into python.
[#​5120](https://redirect.github.com/PyO3/pyo3/pull/5120)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "every weekend" (UTC), Automerge - At
any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **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/munich-quantum-toolkit/naviz).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS44MS4yIiwidXBkYXRlZEluVmVyIjoiNDEuMTQzLjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJ1c3QiXX0=-->
---------
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Haag <[email protected]>1 parent ec61816 commit 475c77f
3 files changed
+14
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
57 | | - | |
58 | 56 | | |
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 | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
0 commit comments