Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/kete_core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
11 changes: 6 additions & 5 deletions src/kete_core/src/io/parquet.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -76,7 +76,7 @@ pub fn read_states_parquet(filename: &str) -> KeteResult<Vec<State>> {
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
Expand All @@ -102,9 +102,10 @@ pub fn read_states_parquet(filename: &str) -> KeteResult<Vec<State>> {

// 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()
Expand Down