From be4904cb19a527b2d7c38399247ddc0a60ee1fab Mon Sep 17 00:00:00 2001 From: Ben Mares Date: Tue, 16 Jun 2026 09:08:20 +0200 Subject: [PATCH 1/2] deps: upgrade PyO3 to 0.29 and align ecosystem crates Bump PyO3 from 0.28 to 0.29.0 to pick up the security fix, moving the whole binding family in lockstep (they must share one PyO3 minor): pyo3 0.28 -> 0.29.0 numpy 0.28 -> 0.29.0 pythonize 0.28 -> 0.29.0 pyo3-arrow 0.17 -> 0.19.0 pyo3-object_store 0.9 -> 0.11.0 (pulls pyo3-async-runtimes 0.29) pyo3-arrow 0.19 and nuts-rs 0.18.3 both require arrow 59, so bump arrow 58 -> 59 and nuts-rs 0.18.0 -> 0.18.3 to keep them aligned. nuts-rs 0.18.3 removed ArrowConfig::new(); use ArrowConfig::default() (store_warmup: true), which preserves the previous behavior. Co-Authored-By: Claude Opus 4.8 --- Cargo.toml | 14 +++++++------- src/wrapper.rs | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b427559..5789ca7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,8 +21,8 @@ name = "_lib" crate-type = ["cdylib"] [dependencies] -nuts-rs = { version = "0.18.0", features = ["zarr", "arrow"] } -numpy = "0.28.0" +nuts-rs = { version = "0.18.3", features = ["zarr", "arrow"] } +numpy = "0.29.0" rand = "0.10.0" thiserror = "2.0.3" rand_chacha = "0.10.0" @@ -36,19 +36,19 @@ upon = { version = "0.10.0", default-features = false, features = [] } time-humanize = { version = "0.1.3", default-features = false } indicatif = "0.18.0" tch = { version = "0.24.0", optional = true } -pyo3-object_store = "0.9.0" +pyo3-object_store = "0.11.0" # Keep zarrs crates in sync with nuts-rs requirements zarrs = { version = "0.23.2", features = ["async"] } zarrs_object_store = "0.6.0" -pyo3-arrow = "0.17.0" -arrow = { version = "58.1.0", features = ["json"] } +pyo3-arrow = "0.19.0" +arrow = { version = "59.0.0", features = ["json"] } tokio = { version = "1.47.1", features = ["rt", "rt-multi-thread"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -pythonize = "0.28.0" +pythonize = "0.29.0" [dependencies.pyo3] -version = "0.28.0" +version = "0.29.0" features = ["extension-module", "anyhow"] [dev-dependencies] diff --git a/src/wrapper.rs b/src/wrapper.rs index 665e77f..7a9f98c 100644 --- a/src/wrapper.rs +++ b/src/wrapper.rs @@ -969,7 +969,7 @@ impl PySampler { let tokio_rt = Runtime::new().context("Failed to create Tokio runtime")?; match &mut store.0 { InnerPyStorage::Arrow => { - let storage_config = ArrowConfig::new(); + let storage_config = ArrowConfig::default(); match settings { PySamplerSettings::Nuts(settings) => match settings.inner { NutsSettingsKind::LowRank(settings) => { From d38ae5cf9b01364a2f63f2a7b2b103dc9a7c7a46 Mon Sep 17 00:00:00 2001 From: Ben Mares Date: Tue, 16 Jun 2026 09:08:22 +0200 Subject: [PATCH 2/2] deps: regenerate Cargo.lock for PyO3 0.29 upgrade Co-Authored-By: Claude Opus 4.8 --- Cargo.lock | 101 ++++++++++++++++++++++++++--------------------------- 1 file changed, 50 insertions(+), 51 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4e5ea6a..d1690b6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -86,9 +86,9 @@ checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "arrow" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "607e64bb911ee4f90483e044fe78f175989148c2892e659a2cd25429e782ec54" +checksum = "ffaaa3e009861fd829d0a24dd6f115aa8e4634324bb092147d43baafe69ca4a7" dependencies = [ "arrow-arith", "arrow-array", @@ -107,9 +107,9 @@ dependencies = [ [[package]] name = "arrow-arith" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e754319ed8a85d817fe7adf183227e0b5308b82790a737b426c1124626b48118" +checksum = "3ac95125e1d71c4a252b5a9c729aef111e80418f08aaa6dbabd1ba66918247fc" dependencies = [ "arrow-array", "arrow-buffer", @@ -121,9 +121,9 @@ dependencies = [ [[package]] name = "arrow-array" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841321891f247aa86c6112c80d83d89cb36e0addd020fa2425085b8eb6c3f579" +checksum = "0c60c79628e9a97cb90d7a0dc3e944f216a902f837d4ecabc14d524bddbbc137" dependencies = [ "ahash", "arrow-buffer", @@ -140,9 +140,9 @@ dependencies = [ [[package]] name = "arrow-buffer" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f955dfb73fae000425f49c8226d2044dab60fb7ad4af1e24f961756354d996c9" +checksum = "6026f638c400e9878c1b1cc05c3cfd46fbf381285916ab408678701c1df46c1a" dependencies = [ "bytes", "half", @@ -152,9 +152,9 @@ dependencies = [ [[package]] name = "arrow-cast" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca5e686972523798f76bef355145bc1ae25a84c731e650268d31ab763c701663" +checksum = "c82c236c3caf8df5664284f3f1fbe89938852163998c3fdbf37e84ac220445e9" dependencies = [ "arrow-array", "arrow-buffer", @@ -174,9 +174,9 @@ dependencies = [ [[package]] name = "arrow-csv" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86c276756867fc8186ec380c72c290e6e3b23a1d4fb05df6b1d62d2e62666d48" +checksum = "12714e5fb7954159af1e26d4e0d37108bcf1a2ad5ee5c5bf02a944d564d588b7" dependencies = [ "arrow-array", "arrow-cast", @@ -189,9 +189,9 @@ dependencies = [ [[package]] name = "arrow-data" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3b5846209775b6dc8056d77ff9a032b27043383dd5488abd0b663e265b9373" +checksum = "7bd568aa70c4ec5947027b0d5caee94877433b661a0bb9e8ddceeeb5f0c9b1ab" dependencies = [ "arrow-buffer", "arrow-schema", @@ -202,9 +202,9 @@ dependencies = [ [[package]] name = "arrow-ipc" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd8907ddd8f9fbabf91ec2c85c1d81fe2874e336d2443eb36373595e28b98dd5" +checksum = "e57ee4d470eab1a021bc4b63fa2b2c15d572892bf227b0a982d3b755a6c662b5" dependencies = [ "arrow-array", "arrow-buffer", @@ -216,9 +216,9 @@ dependencies = [ [[package]] name = "arrow-json" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4518c59acc501f10d7dcae397fe12b8db3d81bc7de94456f8a58f9165d6f502" +checksum = "38f47e0e7a284e1f3707a780dc8cd5451b1614e9e398ea2d9ca03c7a2fe9a9ed" dependencies = [ "arrow-array", "arrow-buffer", @@ -241,9 +241,9 @@ dependencies = [ [[package]] name = "arrow-ord" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efa70d9d6b1356f1fb9f1f651b84a725b7e0abb93f188cf7d31f14abfa2f2e6f" +checksum = "a79cf73ad2eba8686ec2aa9bbf8671208e509025f166afc040cedbd94ffe4983" dependencies = [ "arrow-array", "arrow-buffer", @@ -254,9 +254,9 @@ dependencies = [ [[package]] name = "arrow-row" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faec88a945338192beffbbd4be0def70135422930caa244ac3cec0cd213b26b4" +checksum = "cea0f7d8ed6182f14952761e2c0f989852d5aa334fcbc49f73a9f2247c25b879" dependencies = [ "arrow-array", "arrow-buffer", @@ -267,9 +267,9 @@ dependencies = [ [[package]] name = "arrow-schema" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18aa020f6bc8e5201dcd2d4b7f98c68f8a410ef37128263243e6ff2a47a67d4f" +checksum = "80b3e786a0dd9103acd583a6fb486dbf2f3268466cc0bd571dcf34cef231c1f1" dependencies = [ "bitflags", "serde_core", @@ -278,9 +278,9 @@ dependencies = [ [[package]] name = "arrow-select" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a657ab5132e9c8ca3b24eb15a823d0ced38017fe3930ff50167466b02e2d592c" +checksum = "067a67e0361f6c31f4a7248759f36ca4ca71b187a941ed4d49da1c7d3d4db624" dependencies = [ "ahash", "arrow-array", @@ -292,9 +292,9 @@ dependencies = [ [[package]] name = "arrow-string" -version = "58.2.0" +version = "59.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6de2efbbd1a9f9780ceb8d1ff5d20421b35863b361e3386b4f571f1fc69fcb8" +checksum = "99bc95847f3ff62a2b03d6f8ce2e3e78f01362060549a2a311898dd442f6256d" dependencies = [ "arrow-array", "arrow-buffer", @@ -2232,9 +2232,9 @@ dependencies = [ [[package]] name = "numpy" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778da78c64ddc928ebf5ad9df5edf0789410ff3bdbf3619aed51cd789a6af1e2" +checksum = "6a5b15d63a5ff39e378daed0e1340d3a5964703ea9712eb09a0dc66fade996f4" dependencies = [ "half", "libc", @@ -2293,9 +2293,9 @@ dependencies = [ [[package]] name = "nuts-rs" -version = "0.18.1" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62664bb4327ef957a2188e2ea314d6693261100b9c2cc68c1b2398da301f6e2" +checksum = "7a6183b511b6610fc023da2634179d6df0f10873017d03df7221fb36dcd71a4f" dependencies = [ "anyhow", "arrow", @@ -2630,9 +2630,9 @@ checksum = "40e24eee682d89fb193496edf918a7f407d30175b2e785fe057e4392dfd182e0" [[package]] name = "pyo3" -version = "0.28.3" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fd8e38a3b50ed1167fb981cd6fd60147e091784c427b8f7183a7ee32c31c12" +checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c" dependencies = [ "anyhow", "chrono", @@ -2648,9 +2648,9 @@ dependencies = [ [[package]] name = "pyo3-arrow" -version = "0.17.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0360400036dda3db3d69102ef7e9646e4cd946c75a2d1d41fb8fd39879312636" +checksum = "3d5ddf226a2dbf7607570d0657c2bf6fbe299208368b2914f3dd7e7ba0b57688" dependencies = [ "arrow-array", "arrow-buffer", @@ -2669,9 +2669,9 @@ dependencies = [ [[package]] name = "pyo3-async-runtimes" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e7364a95bf00e8377bbf9b0f09d7ff9715a29d8fcf93b47d1a967363b973178" +checksum = "b3ef68daa7316a3fac65e5e18b2203f010346de1c1c53456811a2624673ab046" dependencies = [ "futures-channel", "futures-util", @@ -2683,18 +2683,18 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.28.3" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e368e7ddfdeb98c9bca7f8383be1648fd84ab466bf2bc015e94008db6d35611e" +checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078" dependencies = [ "target-lexicon", ] [[package]] name = "pyo3-ffi" -version = "0.28.3" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f29e10af80b1f7ccaf7f69eace800a03ecd13e883acfacc1e5d0988605f651e" +checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b" dependencies = [ "libc", "pyo3-build-config", @@ -2702,9 +2702,9 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.28.3" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df6e520eff47c45997d2fc7dd8214b25dd1310918bbb2642156ef66a67f29813" +checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771" dependencies = [ "proc-macro2", "pyo3-macros-backend", @@ -2714,22 +2714,21 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.28.3" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cdc218d835738f81c2338f822078af45b4afdf8b2e33cbb5916f108b813acb" +checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362" dependencies = [ "heck", "proc-macro2", - "pyo3-build-config", "quote", "syn 2.0.117", ] [[package]] name = "pyo3-object_store" -version = "0.9.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3056dc8a77db5d44d32e7f740db0b01e5b65a43d181487a6917576959c6eb9a" +checksum = "13aaa9b876f9b02773cc18fd03dd359bddf3ca21978068024511f166c9c0c6a5" dependencies = [ "async-trait", "bytes", @@ -2750,9 +2749,9 @@ dependencies = [ [[package]] name = "pythonize" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b79f670c9626c8b651c0581011b57b6ba6970bb69faf01a7c4c0cfc81c43f95" +checksum = "6ec376e1216e0c929a74964ce2020012a1a39f32d80e78aa688721219ea7fb89" dependencies = [ "pyo3", "serde",