GitHunt
JH

jhoekx/python-rust-arrow-interop-example

Example of using the Apache Arrow C Data Interface between Python and Rust

Python-Rust Apache Arrow interop example

This project contains an example Python module,
implemented in Rust using pyo3.
The Python module accepts an Apache Arrow array and doubles the values in it.

It uses the Apache Arrow C Data Interface.

This code is mostly copied from the Apache Arrow integration test that introduced the interop, with some Clippy warnings fixed.

Usage

Install Python poetry, e.g.:

pip install poetry

Install Python dependencies:

poetry install

Build the Rust Python module:

poetry run maturin develop

Run the example:

$ poetry run python run.py
[
  2,
  4,
  6
]

Languages

Rust96.1%Python3.9%

Contributors

Apache License 2.0
Created January 30, 2021
Updated October 13, 2025