$ arrow-csv

v57.2.0

Support for parsing CSV format to and from the Arrow format

Downloads: 33.7M
Recent: 5.9M
Versions: 51
Updated: January 11, 2026

Latest Update Summary

Crate

Name: arrow-csv New version: 57.0.0 Release date: 2025-10-23T11:00:57Z

Crate readme

Short description Native Rust implementation of Apache Arrow and Apache Parquet

Long description This repository contains the Rust implementation of Apache Arrow, a popular in-memory columnar format, and Apache Parquet, a columnar file format. It includes core functionality for memory layout, arrays, and low-level computations in the arrow crate, support for the Arrow-Flight IPC protocol in arrow-flight, and support for the Parquet columnar file format in the parquet crate. A parquet_derive crate is also provided for deriving RecordWriter/RecordReader for arbitrary structs. The project follows Semantic Versioning and releases approximately monthly, with major versions released at most once a quarter. It maintains a rolling MSRV (minimum supported Rust version) policy, ensuring compatibility with stable Rust and updating the MSRV at least six months in advance.

Featuresarrow crate • arrow-flight crate • parquet crate • parquet_derive crate • Semantic Versioning • Rolling MSRV policy

Code Examples Add to Cargo.toml

 arrow = "..."
parquet = "..."
parquet_derive = "..."
arrow-flight = "..."

arrow crate

 /// Core functionality (memory layout, arrays, low level computations)

arrow-flight crate

 /// Support for Arrow-Flight IPC protocol

parquet crate

 /// Support for Parquet columnar file format

parquet_derive crate

 /// A crate for deriving RecordWriter/RecordReader for arbitrary, simple structs

Linkshttps://www.rust-lang.org/https://arrow.apache.org/https://crates.io/crates/arrowhttps://crates.io/crates/parquethttps://crates.io/crates/parquet-derivehttps://crates.io/crates/arrow-flighthttps://crates.io/crates/object-storehttps://crates.io/crates/datafusionhttps://crates.io/crates/ballistahttps://crates.io/crates/parquet_opendalhttps://github.com/apache/arrow-rs/issues/7835https://github.com/apache/arrow-rs/milestone/3https://github.com/apache/arrow-rs/milestone/5https://github.com/apache/arrow-rs/milestone/6https://github.com/apache/arrow-rs/issues/5368https://semver.org/https://github.com/apache/arrow-rs/issues/6737https://github.com/apache/arrow-rs/blob/main/README.mdhttps://github.com/apache/datafusion/blob/main/README.mdhttps://github.com/apache/datafusion-ballista/blob/main/README.mdhttps://github.com/apache/opendal/blob/main/integrations/parquet/README.mdhttps://github.com/apache/arrow-rs-object-store/blob/main/README.mdhttps://arrow.apache.org/community/https://s.apache.org/slack-invitehttps://github.com/apache/arrow-rs/discussionshttps://discord.gg/YAb2TdazKQhttps://github.com/apache/arrow-rs/issueshttps://crates.io/crates/arrow/latesthttps://crates.io/crates/arrow-flight/latesthttps://crates.io/crates/parquet/latesthttps://crates.io/crates/parquet-derive/latesthttps://docs.rs/arrow/latesthttps://docs.rs/arrow-flight/latesthttps://docs.rs/parquet/latesthttps://docs.rs/parquet-derive/latesthttps://arrow.apache.org/rusthttps://github.com/apache/arrow-rs/tree/57.0.0https://github.com/apache/arrow-rs/compare/56.2.0...57.0.0https://github.com/apache/arrow-rs/pull/8626https://github.com/apache/arrow-rs/pull/8596https://github.com/apache/arrow-rs/pull/8595https://github.com/apache/arrow-rs/pull/8587https://github.com/apache/arrow-rs/pull/8570https://github.com/apache/arrow-rs/pull/8569https://github.com/apache/arrow-rs/pull/8530https://github.com/apache/arrow-rs/pull/8529https://github.com/apache/arrow-rs/pull/8470https://github.com/apache/arrow-rs/pull/8447https://github.com/apache/arrow-rs/pull/8425https://github.com/apache/arrow-rs/pull/8424https://github.com/apache/arrow-rs/pull/8405https://github.com/apache/arrow-rs/pull/8396https://github.com/apache/arrow-rs/pull/8291https://github.com/apache/arrow-rs/pull/8290https://github.com/apache/arrow-rs/pull/8286https://github.com/apache/arrow-rs/issues/4886https://github.com/apache/arrow-rs/issues/8639https://github.com/apache/arrow-rs/issues/8614https://github.com/apache/arrow-rs/issues/8612https://github.com/apache/arrow-rs/issues/8610https://github.com/apache/arrow-rs/issues/8609https://github.com/apache/arrow-rs/issues/8606https://github.com/apache/arrow-rs/issues/8591https://github.com/apache/arrow-rs/issues/8559https://github.com/apache/arrow-rs/issues/8531https://github.com/apache/arrow-rs/issues/8523https://github.com/apache/arrow-rs/issues/8517https://github.com/apache/arrow-rs/issues/8515https://github.com/apache/arrow-rs/issues/8513https://github.com/apache/arrow-rs/issues/8503https://github.com/apache/arrow-rs/issues/8497https://github.com/apache/arrow-rs/issues/8469https://github.com/apache/arrow-rs/issues/8461https://github.com/apache/arrow-rs/issues/8451https://github.com/apache/arrow-rs/issues/8439https://github.com/apache/arrow-rs/issues/8412https://github.com/apache/arrow-rs/issues/8411https://github.com/apache/arrow-rs/issues/8398https://github.com/apache/arrow-rs/issues/8389https://github.com/apache/arrow-rs/issues/8386https://github.com/apache/arrow-rs/issues/8370https://github.com/apache/arrow-rs/issues/8361https://github.com/apache/arrow-rs/issues/8347https://github.com/apache/arrow-rs/issues/8337https://github.com/apache/arrow-rs/issues/8336https://github.com/apache/arrow-rs/issues/8334https://github.com/apache/arrow-rs/issues/8332https://github.com/apache/arrow-rs/issues/8331https://github.com/apache/arrow-rs/issues/8330https://github.com/apache/arrow-rs/issues/8303https://github.com/apache/arrow-rs/issues/8285https://github.com/apache/arrow-rs/issues/8281https://github.com/apache/arrow-rs/issues/8631https://github.com/apache/arrow-rs/issues/8579https://github.com/apache/arrow-rs/issues/8542https://github.com/apache/arrow-rs/issues/8539https://github.com/apache/arrow-rs/issues/8534https://github.com/apache/arrow-rs/issues/8533https://github.com/apache/arrow-rs/issues/8526https://github.com/apache/arrow-rs/issues/8505https://github.com/apache/arrow-rs/issues/8443https://github.com/apache/arrow-rs/issues/8435https://github.com/apache/arrow-rs/issues/8406https://github.com/apache/arrow-rs/issues/8404https://github.com/apache/arrow-rs/issues/8403https://github.com/apache/arrow-rs/issues/8382https://github.com/apache/arrow-rs/issues/8319https://github.com/apache/arrow-rs/issues/8296https://github.com/apache/arrow-rs/pull/8383https://github.com/apache/arrow-rs/issues/8588https://github.com/apache/arrow-rs/pull/8654https://github.com/apache/arrow-rs/pull/8583https://github.com/apache/arrow-rs/pull/8574https://github.com/apache/arrow-rs/pull/8527https://github.com/apache/arrow-rs/pull/8388https://github.com/apache/arrow-rs/issues/8601https://github.com/apache/arrow-rs/issues/8538https://github.com/apache/arrow-rs/issues/8504https://github.com/apache/arrow-rs/issues/8418https://github.com/apache/arrow-rs/issues/8410https://github.com/apache/arrow-rs/issues/8380https://github.com/apache/arrow-rs/issues/8377https://github.com/apache/arrow-rs/issues/8374https://github.com/apache/arrow-rs/pull/8642https://github.com/apache/arrow-rs/pull/8636https://github.com/apache/arrow-rs/pull/8634https://github.com/apache/arrow-rs/pull/8633https://github.com/apache/arrow-rs/pull/8629https://github.com/apache/arrow-rs/pull/8627https://github.com/apache/arrow-rs/pull/8625https://github.com/apache/arrow-rs/pull/8621https://github.com/apache/arrow-rs/pull/8620https://github.com/apache/arrow-rs/pull/8617https://github.com/apache/arrow-rs/pull/8616https://github.com/apache/arrow-rs/pull/8615https://github.com/apache/arrow-rs/pull/8613https://github.com/apache/arrow-rs/pull/8611https://github.com/apache/arrow-rs/pull/8604https://github.com/apache/arrow-rs/pull/8603https://github.com/apache/arrow-rs/pull/8599https://github.com/apache/arrow-rs/pull/8598https://github.com/apache/arrow-rs/pull/8597https://github.com/apache/arrow-rs/pull/8594https://github.com/apache/arrow-rs/pull/8592https://github.com/apache/arrow-rs/pull/8586https://github.com/apache/arrow-rs/pull/8585https://github.com/apache/arrow-rs/pull/8584https://github.com/apache/arrow-rs/pull/8582https://github.com/apache/arrow-rs/pull/8581https://github.com/apache/arrow-rs/pull/8580https://github.com/apache/arrow-rs/pull/8578https://github.com/apache/arrow-rs/pull/8577https://github.com/apache/arrow-rs/pull/8576https://github.com/apache/arrow-rs/pull/8575https://github.com/apache/arrow-rs/pull/8573https://github.com/apache/arrow-rs/pull/8563https://github.com/apache/arrow-rs/pull/8562https://github.com/apache/arrow-rs/pull/8560https://github.com/apache/arrow-rs/pull/8558https://github.com/apache/arrow-rs/pull/8557https://github.com/apache/arrow-rs/pull/8556https://github.com/apache/arrow-rs/pull/8555https://github.com/apache/arrow-rs/pull/8554https://github.com/apache/arrow-rs/pull/8552https://github.com/apache/arrow-rs/pull/8550https://github.com/apache/arrow-rs/pull/8546https://github.com/apache/arrow-rs/pull/8545https://github.com/apache/arrow-rs/pull/8544https://github.com/apache/arrow-rs/pull/8543https://github.com/apache/arrow-rs/pull/8541https://github.com/apache/arrow-rs/pull/8540https://github.com/apache/arrow-rs/pull/8536https://github.com/apache/arrow-rs/pull/8535https://github.com/apache/arrow-rs/pull/8525https://github.com/apache/arrow-rs/pull/8524https://github.com/apache/arrow-rs/pull/8522https://github.com/apache/arrow-rs/pull/8519https://github.com/apache/arrow-rs/pull/8516https://github.com/apache/arrow-rs/pull/8514https://github.com/apache/arrow-rs/pull/8512https://github.com/apache/arrow-rs/pull/8511https://github.com/apache/arrow-rs/pull/8510https://github.com/apache/arrow-rs/pull/8509https://github.com/apache/arrow-rs/pull/8508https://github.com/apache/arrow-rs/pull/8507https://github.com/apache/arrow-rs/pull/8506https://github.com/apache/arrow-rs/pull/8502https://github.com/apache/arrow-rs/pull/8501https://github.com/apache/arrow-rs/pull/8500https://github.com/apache/arrow-rs/pull/8499https://github.com/apache/arrow-rs/pull/8498https://github.com/apache/arrow-rs/pull/8494https://github.com/apache/arrow-rs/pull/8493https://github.com/apache/arrow-rs/pull/8492https://github.com/apache/arrow-rs/pull/8491https://github.com/apache/arrow-rs/pull/8490https://github.com/apache/arrow-rs/pull/8489https://github.com/apache/arrow-rs/pull/8488https://github.com/apache/arrow-rs/pull/8487https://github.com/apache/arrow-rs/pull/8486https://github.com/apache/arrow-rs/pull/8485https://github.com/apache/arrow-rs/pull/8484https://github.com/apache/arrow-rs/pull/8483https://github.com/apache/arrow-rs/pull/8482https://github.com/apache/arrow-rs/pull/8481https://github.com/apache/arrow-rs/pull/8478https://github.com/apache/arrow-rs/pull/8475https://github.com/apache/arrow-rs/pull/8473https://github.com/apache/arrow-rs/pull/8471https://github.com/apache/arrow-rs/pull/8468https://github.com/apache/arrow-rs/pull/8462https://github.com/apache/arrow-rs/pull/8459https://github.com/apache/arrow-rs/pull/8458https://github.com/apache/arrow-rs/pull/8457https://github.com/apache/arrow-rs/pull/8456https://github.com/apache/arrow-rs/pull/8455https://github.com/apache/arrow-rs/pull/8454https://github.com/apache/arrow-rs/pull/8453https://github.com/apache/arrow-rs/pull/8452https://github.com/apache/arrow-rs/pull/8450https://github.com/apache/arrow-rs/pull/8449https://github.com/apache/arrow-rs/pull/8448https://github.com/apache/arrow-rs/pull/8444https://github.com/apache/arrow-rs/pull/8438https://github.com/apache/arrow-rs/pull/8436https://github.com/apache/arrow-rs/pull/8434https://github.com/apache/arrow-rs/pull/8433https://github.com/apache/arrow-rs/pull/8432https://github.com/apache/arrow-rs/pull/8431https://github.com/apache/arrow-rs/pull/8429https://github.com/apache/arrow-rs/pull/8426https://github.com/apache/arrow-rs/pull/8421https://github.com/apache/arrow-rs/pull/8417https://github.com/apache/arrow-rs/pull/8416https://github.com/apache/arrow-rs/pull/8415https://github.com/apache/arrow-rs/pull/8414https://github.com/apache/arrow-rs/pull/8413https://github.com/apache/arrow-rs/pull/8409https://github.com/apache/arrow-rs/pull/8408https://github.com/apache/arrow-rs/pull/8402https://github.com/apache/arrow-rs/pull/8401https://github.com/apache/arrow-rs/pull/8399https://github.com/apache/arrow-rs/pull/8397https://github.com/apache/arrow-rs/pull/8395https://github.com/apache/arrow-rs/pull/8392https://github.com/apache/arrow-rs/pull/8391https://github.com/apache/arrow-rs/pull/8390https://github.com/apache/arrow-rs/pull/8385https://github.com/apache/arrow-rs/pull/8381https://github.com/apache/arrow-rs/pull/8379https://github.com/apache/arrow-rs/pull/8375https://github.com/apache/arrow-rs/pull/8371https://github.com/apache/arrow-rs/pull/8366https://github.com/apache/arrow-rs/pull/8349https://github.com/apache/arrow-rs/pull/8340https://github.com/apache/arrow-rs/pull/8282

https://api.github.com/repos/apache/arrow-rs/releases/256648414

Release info

Release version: 57.0.0

Release description Version 57.0.0 introduces several breaking changes and enhancements across the Apache Arrow Rust project. Key changes include the consistent use of Arc<FileEncryptionProperties> throughout for file encryption, aiming to reduce the size of ParquetMetadata and avoid unnecessary copying when encryption is active. The arrow-avro crate now has full Avro support, including roundtrip tests and handling of remaining Avro types. Performance optimizations are notable, such as reusing zstd compression contexts when writing IPC and improving the memory efficiency of the compressed Parquet writer. Numerous enhancements focus on the 'Variant' type, improving its display formatting, iterator capabilities, and integration with Parquet's Variant LogicalType, including support for various primitive types and complex structures like Lists and Structs.

The release also addresses several bugs, including fixes for decimal casting issues, improved error handling for non-standard int96 statistics, and correct handling of DataType parsing for old-formatted timestamps. Documentation has been updated, and dependencies like pyo3 have been bumped to their latest versions. The project has also seen significant internal refactoring, particularly in the Parquet module, with a 'Thrift remodel' initiative to improve its structure and efficiency. This version also updates the Minimum Supported Rust version (MSRV) to 1.85.

Code Examples

Minor update: 57.1.0 → 57.2.0

$ DOWNLOADS TREND

27.5M33.7M

$ VERSION HISTORY

v57.2.0January 11, 2026
v57.1.0November 24, 2025
v57.0.0October 23, 2025
v56.2.0September 23, 2025

$ LINKS

$ INSTALL

cargo add arrow-csv

Or add to Cargo.toml: arrow-csv = "57.2.0"