Sparrow ecosystem: Light & Modern C++20 implementation of Apache Arrow
Sparrow provides lightweight C++20 libraries for working with Apache Arrow data through modern, C++ idiomatic APIs. In this talk, we show how it simplifies Arrow data exchange and interoperability without requiring the full Arrow library stack.
Apache Arrow began as a language-independent specification for in-memory columnar data and has since grown into a broad, multi-language software ecosystem for analytics and data interchange. That breadth is powerful, but it can also be heavy for projects that only need a small subset of functionality: read Arrow data, write it, or exchange it efficiently with another library.
The Arrow C Data Interface was created to solve part of that problem by defining a very small, stable C interface for sharing Arrow-compatible data structures without a build-time dependency on the full Arrow library stack. But the interface is intentionally low-level, which makes direct use awkward for everyday application code.
This talk presents Sparrow as the missing middle layer. Sparrow provides C++20 libraries that map these low-level Arrow interfaces to expressive, C++ idiomatic APIs, making it practical to build and exchange Arrow data in projects that rely on standard modern C++ patterns. We will show how Sparrow integrates with standard algorithms, how it supports interoperability through Arrow’s interface specifications, and where the ecosystem is heading next, including cross-language bindings and future evolution.
Alexis is a C++ Scientific Software Engineer at Quantstack.
Johan Mabille is a Technical Director specialized in high-performance computing in C++. He holds a master's degree in computer science from Centrale-Supelec. As an open source developer, Johan coauthored xtensor , xeus , and xsimd.
He leads the C++ team at QuantStack, where he oversees the development and maintenance of mamba, sparrow, and the Jupyter Xeus project.
Johan has also made significant contributions to JupyterLab.
Prior to joining QuantStack, Johan worked as a quant developer at HSBC.