$ arrow

v57.2.0

Rust implementation of Apache Arrow

Downloads: 37.8M
Recent: 6.5M
Versions: 107
Updated: January 11, 2026

Latest Update Summary

Crate

Name: arrow 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. The arrow-flight crate supports the Arrow-Flight IPC protocol, while the parquet crate provides support for the Parquet columnar file format. Additionally, the parquet_derive crate allows for deriving RecordWriter/RecordReader for arbitrary structs. The project follows Semantic Versioning and releases approximately monthly, with major versions (potentially breaking API changes) released at most once a quarter. It is built and tested with stable Rust, maintaining a rolling MSRV (minimum supported Rust version) that is at least 6 months old.

Features • arrow • arrow-flight • parquet • parquet_derive • Rust • in-memory columnar format • columnar file format • Apache Arrow • Apache Parquet • Semantic Versioning

Code Examples Add to Cargo.toml

 arrow
parquet
parquet_derive
arrow-flight

Example usage with DataFusion

 you can write SQL queries or a `DataFrame` (using the
[`datafusion`] crate) to read a parquet file (using the [`parquet`] crate), evaluate it in-memory using Arrow's columnar format (using the [`arrow`] crate), and send to another process (using the [`arrow-flight`] crate).

Linkshttps://arrow.apache.org/https://crates.io/crates/arrowhttps://crates.io/crates/parquethttps://crates.io/crates/parquet-derivehttps://crates.io/crates/arrow-flighthttps://github.com/apache/arrow-rs-object-storehttps://www.rust-lang.org/https://crates.io/crates/object-storehttps://github.com/apache/datafusion/blob/main/README.mdhttps://github.com/apache/datafusion-ballista/blob/main/README.mdhttps://github.com/apache/arrow-rs/issueshttps://github.com/apache/arrow-rs/discussionshttps://discord.gg/YAb2TdazKQhttps://arrow.apache.org/community/https://s.apache.org/slack-invitehttps://semver.org/https://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://github.com/apache/arrow-rs/blob/main/CONTRIBUTING.md#breaking-changeshttps://github.com/apache/arrow-rs/issues/6737https://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 This release introduces significant enhancements and fixes across various components of the Arrow Rust project. A major breaking change involves the consistent use of Arc<FileEncryptionProperties> throughout, aligning it with FileDecryptionProperties for improved memory management in Parquet operations. The project has also seen a substantial refactoring of its Thrift-related code, moving it into a dedicated thrift module and deprecating the public parquet::format module to streamline internal structures. The arrow-avro crate has been added, providing support for Avro data encoding and decoding, including new support for Run-End Encoded (REE) arrays. Extensive work has been done on the 'Variant' type, enhancing its capabilities for representing and casting various data types, improving its integration with Parquet's Variant LogicalType, and adding typed access for numerous complex data structures during shredding and unshredding operations. Several performance improvements have been implemented, including optimized memory usage in the compressed Parquet writer and efficient array extension using SIMD. Numerous bugs have been fixed, addressing issues in data casting, error handling, and the behavior of various array types and builders, ensuring greater stability and correctness.

Code Examples

Minor update: 57.1.0 → 57.2.0

$ DOWNLOADS TREND

31.0M37.8M

$ 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

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