The Python bindings were written to use PyArrow to interact with data files, because Rust's Parquet writers weren't that mature at the time. We'll change to use all Rust-based readers / writers, so the Python bindings will share most of the code paths with Rust.