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] 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 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)]