From 1c80805eb5e4798f4f6eb42a5890453dc3e772f3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 21:25:08 +0000 Subject: [PATCH 1/2] Update polars requirement from 0.45.1 to 0.53.0 Updates the requirements on [polars](https://github.com/pola-rs/polars) to permit the latest version. - [Release notes](https://github.com/pola-rs/polars/releases) - [Commits](https://github.com/pola-rs/polars/commits/rs-0.52.0) --- updated-dependencies: - dependency-name: polars dependency-version: 0.52.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- src/kete_core/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kete_core/Cargo.toml b/src/kete_core/Cargo.toml index 0bcd94f..c6a0d8f 100644 --- a/src/kete_core/Cargo.toml +++ b/src/kete_core/Cargo.toml @@ -19,7 +19,7 @@ itertools = "^0.14.0" kdtree = "^0.7.0" lazy_static = "^1.5.0" nalgebra = {version = "^0.33.0"} -polars = {version = "0.45.1", optional=true, features=["parquet", "polars-io"]} +polars = {version = "0.53.0", optional=true, features=["parquet", "polars-io"]} pathfinding = "^4.10.0" pyo3 = { version = "^0.24.1", optional=true} rayon = "^1.10.0" From 12d272d575f50e26e39885b95550467708a5f0e7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 29 May 2026 21:40:02 +0000 Subject: [PATCH 2/2] Fix parquet IO for polars 0.53 API changes --- src/kete_core/src/io/parquet.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/kete_core/src/io/parquet.rs b/src/kete_core/src/io/parquet.rs index 603b3bb..8f6d5bd 100644 --- a/src/kete_core/src/io/parquet.rs +++ b/src/kete_core/src/io/parquet.rs @@ -58,7 +58,7 @@ pub fn write_states_parquet(states: &[State], filename: &str) -> KeteResult<()> "center".into(), states.iter().map(|state| state.center_id).collect_vec(), ); - let mut df = DataFrame::new(vec![desigs, jd, x, y, z, vx, vy, vz, frame, center]) + let mut df = DataFrame::new_infer_height(vec![desigs, jd, x, y, z, vx, vy, vz, frame, center]) .expect("Failed to construct dataframe"); let file = File::create(filename).expect("could not create file"); let _ = ParquetWriter::new(file) @@ -76,7 +76,7 @@ pub fn read_states_parquet(filename: &str) -> KeteResult> { let mut dataframe = reader.finish().map_err(|_| { Error::IOError("Failed to read contents of file as a parquet table.".into()) })?; - let dataframe = dataframe.as_single_chunk_par(); + let _ = dataframe.align_chunks_par(); // create all the iterators, these are all type dependant, so they get special cased let mut desig_iter = dataframe @@ -102,9 +102,10 @@ pub fn read_states_parquet(filename: &str) -> KeteResult> { // the remaining columns are all floats, so here we make a vector of iterators of // floats - let mut state_iters = dataframe - .columns(["jd", "x", "y", "z", "vx", "vy", "vz"]) - .map_err(|_| Error::IOError("File doesn't contain the correct columns".into()))? + let state_columns = dataframe + .select_to_vec(["jd", "x", "y", "z", "vx", "vy", "vz"]) + .map_err(|_| Error::IOError("File doesn't contain the correct columns".into()))?; + let mut state_iters = state_columns .iter() .map(|s| { s.f64()