$ arrow-select

v57.2.0

Selection kernels for arrow arrays

Downloads: 44.4M
Recent: 9.2M
Versions: 52
Updated: January 11, 2026

Latest Update Summary

Crate

Name: arrow-select 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 core functionality for Apache Arrow in Rust, including memory layout, arrays, and low-level computations in the arrow crate. It also provides support for the Arrow-Flight IPC protocol via the arrow-flight crate and the Parquet columnar file format through the parquet crate. A parquet_derive crate is available for deriving RecordWriter/RecordReader for simple structs. The project follows Semantic Versioning with approximate monthly releases, aiming for major versions at most once a quarter. The minimum supported Rust version (MSRV) is kept at least 6 months old and only updated in major releases.

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

Code Examples Core Functionality Crates

 arrow
parquet
arrow-flight
parquet_derive

Related Projects

 object_store
datafusion
ballista
parquet_opendal

Example Workflow

 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).

Community Channels

 dev@arrow.apache.org mailing list
ASF Slack (#arrow-rust channel)
GitHub Discussions
Discord channel

API Documentation

 docs.rs/arrow/latest
docs.rs/arrow-flight/latest
docs.rs/parquet/latest
docs.rs/parquet-derive/latest

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://arrow.apache.org/rusthttps://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/5368 • CONTRIBUTING.md#breaking-changes • https://github.com/apache/arrow-rs/issues/6737https://crates.io/crates/object-store • arrow/README.md • parquet/README.md • arrow-flight/README.md • https://github.com/apache/datafusion/blob/main/README.mdhttps://github.com/apache/datafusion-ballista/blob/main/README.md • parquet_derive/README.md • https://github.com/apache/opendal/blob/main/integrations/parquet/README.mdhttps://github.com/apache/arrow-rs-object-store/blob/main/README.mdhttps://crates.io/crates/datafusionhttps://crates.io/crates/ballistahttps://crates.io/crates/parquet_opendalhttps://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://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 significant changes, primarily focusing on internal refactoring and enhancements across various Arrow Rust components. Breaking changes include the consistent use of Arc<FileEncryptionProperties> for file encryption properties, aiming for uniformity with FileDecryptionProperties. The arrow-avro crate now has full Avro support, including remaining types and roundtrip tests. Enhancements include improved display formatting for DataType variants such as RunEndEncoded, Map, ListView, LargeListView, and Union, making debugging and inspection easier. The Thrift remodeling in the Parquet component has seen phase one completion with a custom Thrift parser for Parquet metadata. Furthermore, the use of Arc<FileDecryptionProperties> in the Parquet module has been optimized to reduce the size of ParquetMetadata and avoid copying when encryption is active. Performance improvements are noted in reusing zstd compression contexts when writing IPC data, potentially speeding up data serialization. Documentation updates include additional comments in the Parquet writer code.

Code Examples Consistent use of Arc Use Arc<FileEncryptionProperties> everywhere to be be consistent with FileDecryptionProperties

Improved DataType display for RunEndEncoded feat: Improve DataType display for RunEndEncoded

ArrowError::AvroError and roundtrip tests Add ArrowError::AvroError, remaining types and roundtrip tests to arrow-avro

Refactored Thrift encryption and bitmask for encodings [thrift-remodel] Refactor Thrift encryption and store encodings as bitmask

Enhanced Map display formatting in DataType feat: Enhance Map display formatting in DataType

Enhanced DataType display for ListView and LargeListView feat: Enhance DataType display formatting for ListView and LargeListView variants

Custom thrift parser for parquet metadata Use custom thrift parser for parquet metadata (phase 1 of Thrift remodel)

Minor update: 57.1.0 → 57.2.0

$ DOWNLOADS TREND

34.9M44.4M

$ 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-select

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