From 11b122649eb4eee4eb0a9e3a60473fa9c9cc3c48 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 07:45:10 +0000 Subject: [PATCH 1/3] build(deps): bump pyo3 from 0.27.2 to 0.29.0 Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.27.2 to 0.29.0. - [Release notes](https://github.com/pyo3/pyo3/releases) - [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md) - [Commits](https://github.com/pyo3/pyo3/compare/v0.27.2...v0.29.0) --- updated-dependencies: - dependency-name: pyo3 dependency-version: 0.29.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- Cargo.lock | 51 ++++++++++++----------------------------------- python/Cargo.toml | 2 +- 2 files changed, 14 insertions(+), 39 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 98f64616..8541283b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -890,12 +890,6 @@ dependencies = [ "regex", ] -[[package]] -name = "indoc" -version = "2.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" - [[package]] name = "instant" version = "0.1.13" @@ -1137,15 +1131,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - [[package]] name = "microvmi" version = "0.4.0" @@ -1250,7 +1235,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "memoffset 0.6.5", + "memoffset", ] [[package]] @@ -1501,35 +1486,32 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.27.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d" +checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c" dependencies = [ - "indoc", "libc", - "memoffset 0.9.1", "once_cell", "portable-atomic", "pyo3-build-config", "pyo3-ffi", "pyo3-macros", - "unindent", ] [[package]] name = "pyo3-build-config" -version = "0.27.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6" +checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078" dependencies = [ "target-lexicon", ] [[package]] name = "pyo3-ffi" -version = "0.27.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089" +checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b" dependencies = [ "libc", "pyo3-build-config", @@ -1537,9 +1519,9 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.27.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02" +checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771" dependencies = [ "proc-macro2", "pyo3-macros-backend", @@ -1549,13 +1531,12 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.27.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9" +checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362" dependencies = [ "heck 0.5.0", "proc-macro2", - "pyo3-build-config", "quote 1.0.38", "syn 2.0.98", ] @@ -1861,9 +1842,9 @@ checksum = "88da97cd34718f47df2adae0c2310ee305e061c794b9c07fd33d8387f4ee2e1c" [[package]] name = "target-lexicon" -version = "0.13.2" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a" +checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca" [[package]] name = "tempfile" @@ -2044,12 +2025,6 @@ version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" -[[package]] -name = "unindent" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" - [[package]] name = "utf8parse" version = "0.2.2" diff --git a/python/Cargo.toml b/python/Cargo.toml index ac19e2a7..9fbc44ba 100644 --- a/python/Cargo.toml +++ b/python/Cargo.toml @@ -33,7 +33,7 @@ thiserror = "2.0.11" microvmi = { path = "../" } [dependencies.pyo3] -version = "0.27.2" +version = "0.29.0" features = ["extension-module", "abi3-py39"] [package.metadata.release] From 038eb7803d7778ffd7c6d9dc8778e91c3d91825d Mon Sep 17 00:00:00 2001 From: Wenzel <964610+Wenzel@users.noreply.github.com> Date: Mon, 12 Oct 2026 07:57:50 +0000 Subject: [PATCH 2/3] python: opt in to FromPyObject for pyclass params (pyo3 0.29) --- python/src/params.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python/src/params.rs b/python/src/params.rs index 5c9bae40..fdffb8b8 100644 --- a/python/src/params.rs +++ b/python/src/params.rs @@ -2,7 +2,7 @@ use pyo3::prelude::*; /// equivalent of `CommonInitParams` for Python -#[pyclass] +#[pyclass(from_py_object)] #[derive(Default, Debug, Clone)] pub struct CommonInitParamsPy { #[pyo3(get, set)] @@ -18,7 +18,7 @@ impl CommonInitParamsPy { } /// equivalent of `KVMInitParams` for Python -#[pyclass] +#[pyclass(from_py_object)] #[derive(Default, Debug, Clone)] pub struct KVMInitParamsPy { #[pyo3(get, set)] @@ -34,7 +34,7 @@ impl KVMInitParamsPy { } /// equivalent of `MemflowInitParams` for Python -#[pyclass] +#[pyclass(from_py_object)] #[derive(Default, Debug, Clone)] pub struct MemflowInitParamsPy { #[pyo3(get, set)] @@ -72,7 +72,7 @@ impl MemflowInitParamsPy { /// init_params.common = common /// init_params.kvm = kvm /// ``` -#[pyclass] +#[pyclass(from_py_object)] #[derive(Default, Debug, Clone)] pub struct DriverInitParamsPy { #[pyo3(get, set)] From 97e10203b39cbb1918989ddc7f8bcf20a4c3f6bb Mon Sep 17 00:00:00 2001 From: ops Date: Mon, 12 Oct 2026 08:06:00 +0000 Subject: [PATCH 3/3] python: skip free-threaded 3.13 wheels (unsupported by pyo3 0.29) --- python/build-wheels.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python/build-wheels.sh b/python/build-wheels.sh index 4001e857..fb4e3876 100755 --- a/python/build-wheels.sh +++ b/python/build-wheels.sh @@ -17,6 +17,8 @@ export BINDGEN_EXTRA_CLANG_ARGS="-I/opt/rh/devtoolset-10/root/usr/lib/gcc/x86_64 cd /io/python for PYBIN in /opt/python/cp{310,311,312,313,314}*/bin; do + # pyo3 0.29 dropped free-threaded 3.13 + [[ "$PYBIN" == */cp313-cp313t/* ]] && continue "${PYBIN}/pip" install -r requirements.txt "${PYBIN}/python" setup.py bdist_wheel $@ done