// the take
Apache Arrow is the reference implementation of the columnar in-memory format and related protocols (IPC, Flight, Gandiva, ADBC) that underpins most modern data tooling (Pandas, DuckDB, Spark, Polars, etc.). This repo specifically houses the C++, Python, R, Ruby, C_GLib and Java (partially) implementations plus the format spec itself.
Zero-copy columnar format spec is genuinely well-designed and has become a de facto standard across the data ecosystem, so adopting it buys you interop for free. The C++ core is heavily fuzzed (OSS-Fuzz badge isn't decorative) and has a mature compute kernel library, Parquet reader/writer, and Flight RPC implementation that's used in production at scale. CI coverage is extensive — dozens of workflow files covering multiple languages, platforms, and extra/nightly builds, which matters for a project this foundational.
This is a monorepo for only some languages now — Rust, Go, Java, JS, .NET, Julia, Swift all moved to separate repos, so the directory structure here is confusing if you don't know the project's history and you'll end up jumping between multiple repos to understand the full picture. Build complexity is real: the C++ core has a huge dependency surface and the meson/cmake setup plus GLib bindings make for a slow, fiddly build if you're not using prebuilt packages. The sheer surface area (compute engine, Flight, Gandiva, Dataset API, multiple file formats) means documentation lags implementation in places, and the feature matrix across language bindings is uneven — don't assume parity between, say, the Python and Ruby APIs.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →