Skip to content

Commit 475c77f

Browse files
⬆️🦀 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. [#&#8203;5152](https://redirect.github.com/PyO3/pyo3/pull/5152) - Update MSRV to 1.74. [#&#8203;5171](https://redirect.github.com/PyO3/pyo3/pull/5171) - Set the same maximum supported version for alternative interpreters as for CPython. [#&#8203;5192](https://redirect.github.com/PyO3/pyo3/pull/5192) - Add optional `bytes` dependency to add conversions for `bytes::Bytes`. [#&#8203;5252](https://redirect.github.com/PyO3/pyo3/pull/5252) - Publish new crate `pyo3-introspection` to pair with the `experimental-inspect` feature. [#&#8203;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. [#&#8203;5343](https://redirect.github.com/PyO3/pyo3/pull/5343) ##### Added - Add `#[pyo3(warn(message = "...", category = ...))]` attribute for automatic warnings generation for `#[pyfunction]` and `#[pymethods]`. [#&#8203;4364](https://redirect.github.com/PyO3/pyo3/pull/4364) - Add `PyMutex`, available on Python 3.13 and newer. [#&#8203;4523](https://redirect.github.com/PyO3/pyo3/pull/4523) - Add FFI definition `PyMutex_IsLocked`, available on Python 3.14 and newer. [#&#8203;4523](https://redirect.github.com/PyO3/pyo3/pull/4523) - Add `PyString::from_encoded_object`. [#&#8203;5017](https://redirect.github.com/PyO3/pyo3/pull/5017) - `experimental-inspect`: add basic input type annotations. [#&#8203;5089](https://redirect.github.com/PyO3/pyo3/pull/5089) - Add FFI function definitions for `PyFrameObject` from CPython 3.13. [#&#8203;5154](https://redirect.github.com/PyO3/pyo3/pull/5154) - `experimental-inspect`: tag modules created using `#[pymodule]` or `#[pymodule_init]` functions as incomplete. [#&#8203;5207](https://redirect.github.com/PyO3/pyo3/pull/5207) - `experimental-inspect`: add basic return type support. [#&#8203;5208](https://redirect.github.com/PyO3/pyo3/pull/5208) - Add `PyCode::compile` and `PyCodeMethods::run` to create and execute code objects. [#&#8203;5217](https://redirect.github.com/PyO3/pyo3/pull/5217) - Add `PyOnceLock` type for thread-safe single-initialization. [#&#8203;5223](https://redirect.github.com/PyO3/pyo3/pull/5223) - Add `PyClassGuard(Mut)` pyclass holders. In the future they will replace `PyRef(Mut)`. [#&#8203;5233](https://redirect.github.com/PyO3/pyo3/pull/5233) - `experimental-inspect`: allow annotations in `#[pyo3(signature)]` signature attribute. [#&#8203;5241](https://redirect.github.com/PyO3/pyo3/pull/5241) - Implement `MutexExt` for parking\_lot's/lock\_api `ReentrantMutex`. [#&#8203;5258](https://redirect.github.com/PyO3/pyo3/pull/5258) - `experimental-inspect`: support class associated constants. [#&#8203;5272](https://redirect.github.com/PyO3/pyo3/pull/5272) - Add `Bound::cast` family of functions superseding the `PyAnyMethods::downcast` family. [#&#8203;5289](https://redirect.github.com/PyO3/pyo3/pull/5289) - Add FFI definitions `Py_Version` and `Py_IsFinalizing`. [#&#8203;5317](https://redirect.github.com/PyO3/pyo3/pull/5317) - `experimental-inspect`: add output type annotation for `#[pyclass]`. [#&#8203;5320](https://redirect.github.com/PyO3/pyo3/pull/5320) - `experimental-inspect`: support `#[pyclass(eq, eq_int, ord, hash, str)]`. [#&#8203;5338](https://redirect.github.com/PyO3/pyo3/pull/5338) - `experimental-inspect`: add basic support for `#[derive(FromPyObject)]` (no struct fields support yet). [#&#8203;5339](https://redirect.github.com/PyO3/pyo3/pull/5339) - Add `Python::try_attach`. [#&#8203;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. [#&#8203;4568](https://redirect.github.com/PyO3/pyo3/pull/4568) - `PyModule::from_code` now defaults `file_name` to `<string>` if empty. [#&#8203;4777](https://redirect.github.com/PyO3/pyo3/pull/4777) - Deprecate `PyString::from_object` in favour of `PyString::from_encoded_object`. [#&#8203;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. [#&#8203;5144](https://redirect.github.com/PyO3/pyo3/pull/5144) - Change `is_instance_of` trait bound from `PyTypeInfo` to `PyTypeCheck`. [#&#8203;5146](https://redirect.github.com/PyO3/pyo3/pull/5146) - Many PyO3 proc macros now report multiple errors instead of only the first one. [#&#8203;5159](https://redirect.github.com/PyO3/pyo3/pull/5159) - Change `MutexExt` return type to be an associated type. [#&#8203;5201](https://redirect.github.com/PyO3/pyo3/pull/5201) - Use `PyCallArgs` for `Py::call` and friends so they're equivalent to their `Bound` counterpart. [#&#8203;5206](https://redirect.github.com/PyO3/pyo3/pull/5206) - Rename `Python::with_gil` to `Python::attach`. [#&#8203;5209](https://redirect.github.com/PyO3/pyo3/pull/5209) - Rename `Python::allow_threads` to `Python::detach` [#&#8203;5221](https://redirect.github.com/PyO3/pyo3/pull/5221) - Deprecate `GILOnceCell` type in favour of `PyOnceLock`. [#&#8203;5223](https://redirect.github.com/PyO3/pyo3/pull/5223) - Rename `pyo3::prepare_freethreaded_python` to `Python::initialize`. [#&#8203;5247](https://redirect.github.com/PyO3/pyo3/pull/5247) - Convert `PyMemoryError` into/from `io::ErrorKind::OutOfMemory`. [#&#8203;5256](https://redirect.github.com/PyO3/pyo3/pull/5256) - Deprecate `GILProtected`. [#&#8203;5285](https://redirect.github.com/PyO3/pyo3/pull/5285) - Move `#[pyclass]` docstring formatting from import time to compile time. [#&#8203;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. [#&#8203;5317](https://redirect.github.com/PyO3/pyo3/pull/5317) - Add fast-path to `PyTypeInfo::type_object` for `#[pyclass]` types. [#&#8203;5324](https://redirect.github.com/PyO3/pyo3/pull/5324) - Deprecate `PyObject` type alias for `Py<PyAny>`. [#&#8203;5325](https://redirect.github.com/PyO3/pyo3/pull/5325) - Rename `Python::with_gil_unchecked` to `Python::attach_unchecked`. [#&#8203;5340](https://redirect.github.com/PyO3/pyo3/pull/5340) - Rename `Python::assume_gil_acquired` to `Python::assume_attached`. [#&#8203;5354](https://redirect.github.com/PyO3/pyo3/pull/5354) ##### Removed - Remove FFI definition of internals of `PyFrameObject`. [#&#8203;5154](https://redirect.github.com/PyO3/pyo3/pull/5154) - Remove `Eq` and `PartialEq` implementations on `PyGetSetDef` FFI definition. [#&#8203;5196](https://redirect.github.com/PyO3/pyo3/pull/5196) - Remove private FFI definitions `_Py_IsCoreInitialized` and `_Py_InitializeMain`. [#&#8203;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". [#&#8203;4742](https://redirect.github.com/PyO3/pyo3/pull/4742) - Fix precision loss when converting `bigdecimal` into Python. [#&#8203;5198](https://redirect.github.com/PyO3/pyo3/pull/5198) - Don't treat win7 target as a cross-compilation. [#&#8203;5210](https://redirect.github.com/PyO3/pyo3/pull/5210) - WASM targets no longer require exception handling support for Python < 3.14. [#&#8203;5239](https://redirect.github.com/PyO3/pyo3/pull/5239) - Fix segfault when dropping `PyBuffer<T>` after the Python interpreter has been finalized. [#&#8203;5242](https://redirect.github.com/PyO3/pyo3/pull/5242) - `experimental-inspect`: better automated imports generation. [#&#8203;5251](https://redirect.github.com/PyO3/pyo3/pull/5251) - `experimental-inspect`: fix introspection of `__richcmp__`, `__concat__`, `__repeat__`, `__inplace_concat__` and `__inplace_repeat__`. [#&#8203;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` [#&#8203;5281](https://redirect.github.com/PyO3/pyo3/pull/5281) - Fix FFI definition `Py_Exit` (never returns, was `()` return value, now `!`). [#&#8203;5317](https://redirect.github.com/PyO3/pyo3/pull/5317) - `experimental-inspect`: fix handling of module members gated behind `#[cfg(...)]` attributes. [#&#8203;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. [#&#8203;5145](https://redirect.github.com/PyO3/pyo3/pull/5145) - Add `chrono-local` feature for optional conversions for chrono's `Local` timezone & `DateTime<Local>` instances. [#&#8203;5174](https://redirect.github.com/PyO3/pyo3/pull/5174) ##### Added - Add FFI definition `PyBytes_AS_STRING`. [#&#8203;5121](https://redirect.github.com/PyO3/pyo3/pull/5121) - Add support for module associated consts introspection. [#&#8203;5150](https://redirect.github.com/PyO3/pyo3/pull/5150) ##### Changed - Enable "vectorcall" FFI definitions on GraalPy. [#&#8203;5121](https://redirect.github.com/PyO3/pyo3/pull/5121) - Use `Py_Is` function on GraalPy [#&#8203;5121](https://redirect.github.com/PyO3/pyo3/pull/5121) ##### Fixed - Report a better compile error for `async` declarations when not using `experimental-async` feature. [#&#8203;5156](https://redirect.github.com/PyO3/pyo3/pull/5156) - Fix implementation of `FromPyObject` for `uuid::Uuid` on big-endian architectures. [#&#8203;5161](https://redirect.github.com/PyO3/pyo3/pull/5161) - Fix segmentation faults on 32-bit x86 with Python 3.14. [#&#8203;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. [#&#8203;4811](https://redirect.github.com/PyO3/pyo3/pull/4811) - Bump supported GraalPy version to 24.2. [#&#8203;5116](https://redirect.github.com/PyO3/pyo3/pull/5116) - Add optional `bigdecimal` dependency to add conversions for `bigdecimal::BigDecimal`. [#&#8203;5011](https://redirect.github.com/PyO3/pyo3/pull/5011) - Add optional `time` dependency to add conversions for `time` types. [#&#8203;5057](https://redirect.github.com/PyO3/pyo3/pull/5057) - Remove `cfg-if` dependency. [#&#8203;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`. [#&#8203;5114](https://redirect.github.com/PyO3/pyo3/pull/5114) ##### Added - Add initial type stub generation to the `experimental-inspect` feature. [#&#8203;3977](https://redirect.github.com/PyO3/pyo3/pull/3977) - Add `#[pyclass(generic)]` option to support runtime generic typing. [#&#8203;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. [#&#8203;5044](https://redirect.github.com/PyO3/pyo3/pull/5044) - Implement `From`/`Into` for `Borrowed<T>` -> `Py<T>`. [#&#8203;5054](https://redirect.github.com/PyO3/pyo3/pull/5054) - Add `PyTzInfo` constructors. [#&#8203;5055](https://redirect.github.com/PyO3/pyo3/pull/5055) - Add FFI definition `PY_INVALID_STACK_EFFECT`. [#&#8203;5064](https://redirect.github.com/PyO3/pyo3/pull/5064) - Implement `AsRef<Py<PyAny>>` for `Py<T>`, `Bound<T>` and `Borrowed<T>`. [#&#8203;5071](https://redirect.github.com/PyO3/pyo3/pull/5071) - Add FFI definition `PyModule_Add` and `compat::PyModule_Add`. [#&#8203;5085](https://redirect.github.com/PyO3/pyo3/pull/5085) - Add FFI definitions `Py_HashBuffer`, `Py_HashPointer`, and `PyObject_GenericHash`. [#&#8203;5086](https://redirect.github.com/PyO3/pyo3/pull/5086) - Support `#[pymodule_export]` on `const` items in declarative modules. [#&#8203;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. [#&#8203;5101](https://redirect.github.com/PyO3/pyo3/pull/5101) - Support `#[pyo3(rename_all)]` support on `#[derive(IntoPyObject)]`. [#&#8203;5112](https://redirect.github.com/PyO3/pyo3/pull/5112) - Add `PyRange` wrapper. [#&#8203;5117](https://redirect.github.com/PyO3/pyo3/pull/5117) ##### Changed - Enable use of `datetime` types with `abi3` feature enabled. [#&#8203;4970](https://redirect.github.com/PyO3/pyo3/pull/4970) - Deprecate `timezone_utc` in favor of `PyTzInfo::utc`. [#&#8203;5055](https://redirect.github.com/PyO3/pyo3/pull/5055) - Reduce visibility of some CPython implementation details: [#&#8203;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>`. [#&#8203;5071](https://redirect.github.com/PyO3/pyo3/pull/5071) - Change `Py::is` to take `other: &Py<T>`. [#&#8203;5071](https://redirect.github.com/PyO3/pyo3/pull/5071) - Change `PyVisit::call` to take `T: Into<Option<&Py<T>>>`. [#&#8203;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. [#&#8203;5079](https://redirect.github.com/PyO3/pyo3/pull/5079) - Add `#[track_caller]` to `with_gil` and `with_gil_unchecked`. [#&#8203;5109](https://redirect.github.com/PyO3/pyo3/pull/5109) - Use `std::thread::park()` instead of `libc::pause()` or `sleep(9999999)`. [#&#8203;5115](https://redirect.github.com/PyO3/pyo3/pull/5115) ##### Removed - Remove all functionality deprecated in PyO3 0.23. [#&#8203;4982](https://redirect.github.com/PyO3/pyo3/pull/4982) - Remove deprecated `IntoPy` and `ToPyObject` traits. [#&#8203;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`. [#&#8203;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). [#&#8203;5064](https://redirect.github.com/PyO3/pyo3/pull/5064) - Remove `AsPyPointer` trait. [#&#8203;5071](https://redirect.github.com/PyO3/pyo3/pull/5071) - Remove support for the deprecated string form of `from_py_with`. [#&#8203;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`. [#&#8203;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. [#&#8203;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. [#&#8203;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. [#&#8203;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. [#&#8203;5091](https://redirect.github.com/PyO3/pyo3/pull/5091) - Fallback on `backports.zoneinfo` for python <3.9 when converting timezones into python. [#&#8203;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

File tree

3 files changed

+14
-18
lines changed

3 files changed

+14
-18
lines changed

.github/workflows/test.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,4 @@ jobs:
5353
target: ${{ matrix.target }}
5454
rustflags: "" # Don't fail on warnings
5555
- name: Run Rust Tests
56-
env:
57-
PYO3_USE_ABI3_FORWARD_COMPATIBILITY: 1
5856
run: cargo test --color=always --all-features --target=${{ matrix.target }}

Cargo.lock

Lines changed: 12 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bindings/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ naviz-import = {workspace = true, features = ["serde"]}
2121
naviz-parser = {workspace = true}
2222
naviz-repository = {workspace = true}
2323
naviz-video = {workspace = true}
24-
pyo3 = "0.24.2"
24+
pyo3 = "0.26.0"
2525
serde = "1.0.217"
26-
serde-pyobject = "0.6.2"
26+
serde-pyobject = "0.7.0"

0 commit comments

Comments
 (0)