GitHub - kylebarron/arro3: A minimal Python library for Apache Arrow, connecting to the Rust arrow crate (original) (raw)

arro3

PyPI Conda Version PyPI - Downloads

A minimal Python library for Apache Arrow, binding to the Rust Arrow implementation.

arro3 features:

Install

arro3 is distributed with namespace packaging, meaning that individual submodules are distributed separately to PyPI and can be used in isolation.

pip install arro3-core arro3-io arro3-compute

arro3 is also on Conda and can be installed with pixi

pixi add arro3-core arro3-io arro3-compute

Using

Consult the documentation.

Why another Arrow library?

pyarrow is the reference Arrow implementation in Python, and is generally great, but there are a few reasons for arro3 to exist:

Drawbacks

In general, arro3 wraps what already exists in arrow-rs. This ensures that arro3 has a reasonable maintenance burden.

arro3 shies away from implementing complete conversion of arbitrary Python objects (or pandas DataFrames) to Arrow. This is complex and well served by other libraries (e.g. pyarrow). But arro3 should provide a minimal and efficient toolbox for to interoperate with other Arrow-compatible libraries.

Using from Rust

You can use pyo3-arrow to simplify passing Arrow data between Rust and Python. Refer to its documentation.