3 releases (breaking)

0.11.0 Oct 23, 2018
0.10.0 Aug 7, 2018
0.1.0 Mar 29, 2018

#50 in Hardware support

Download history 75/week @ 2018-10-10 156/week @ 2018-10-17 119/week @ 2018-10-24 81/week @ 2018-10-31 157/week @ 2018-11-07 160/week @ 2018-11-14 154/week @ 2018-11-21 142/week @ 2018-11-28 165/week @ 2018-12-05 233/week @ 2018-12-12 166/week @ 2018-12-19 167/week @ 2018-12-26 81/week @ 2019-01-02

615 downloads per month



Native Rust implementation of Apache Arrow

Build Status Coverage Status


This is a native Rust implementation of Apache Arrow. The current status is:

  • Primitive Arrays
  • List Arrays
  • Struct Arrays
  • CSV Reader
  • CSV Writer
  • Parquet Reader
  • Parquet Writer
  • Arrow IPC
  • Interop tests with other implementations


The examples folder shows how to construct some different types of Arrow arrays, including dynamic arrays created at runtime.

Examples can be run using the cargo run --example command. For example:

cargo run --example builders
cargo run --example dynamic_types
cargo run --example read_csv

Run Tests

cargo test

Publishing to crates.io

An Arrow committer can publish this crate after an official project release has been made to crates.io using the following instructions.

Follow these instructions to create an account and login to crates.io before asking to be added as an owner of the arrow crate.

Checkout the tag for the version to be released. For example:

git checkout apache-arrow-0.11.0

If the Cargo.toml in this tag already contains version = "0.11.0" (as it should) then the crate can be published with the following command:

cargo publish

If the Cargo.toml does not have the correct version then it will be necessary to modify it manually. Since there is now a modified file locally that is not committed to github it will be necessary to use the following command.

cargo publish --allow-dirty


~32K SLoC