Cargo Features

arrow = { version = "50.0.0", default-features = false, features = ["ipc_compression", "csv", "ipc", "json", "prettyprint", "test_utils", "pyarrow", "force_validate", "ffi", "chrono-tz"] }
default = csv, ipc, json

These default features are set whenever arrow is added without default-features = false somewhere in the dependency tree.

ipc_compression = ipc

Enables lz4 and zstd of arrow-ipc

csv default = arrow-csv
ipc default ipc_compression? = arrow-ipc
json default = arrow-json

Enables prettyprint of arrow-cast

test_utils = rand

The test utils feature enables code used in benchmarks and tests but not the core arrow code itself. Be aware that rand must be kept as an optional dependency for supporting compile to wasm32-unknown-unknown target without assuming an environment containing JavaScript.

Affects util::bench_util, util::data_gen

pyarrow = ffi, pyo3

Affects arrow::pyarrow


force_validate runs full data validation for all arrays that are created this is not enabled by default as it is too computationally expensive but is run as part of our CI checks

Enables force_validate of arrow-data

ffi pyarrow?

Enable ffi support

Enables ffi of arrow-data and arrow-schema

Affects arrow::ffi, arrow::ffi_stream


Enables chrono-tz of arrow-array

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features.

arrow-csv csv
arrow-ipc ipc ipc_compression?
arrow-json json
rand test_utils?
pyo3 pyarrow?