Sparrow, Pirates of the Apache Arrow
2025-09-30 , Louis Armand 2 - Ouest

Sparrow is a lightweight C++20 idiomatic implementation of the Apache Arrow memory specification. Designed for compatibility with the Arrow C data interface, Sparrow enables seamless data exchange with other libraries supporting the Arrow format. It also offers high-level APIs, ensuring interoperability with standard modern C++ algorithms.


Apache Arrow, initially a language-agnostic specification for in-memory tabular data representation, has evolved into a comprehensive multi-language toolbox for in-memory analytics. While this facilitates the development of applications like Data Frames, it introduces a significant drawback: libraries that only need to read, write, or exchange data in the Arrow format are now dependent on an extensive stack of libraries, some of which may be irrelevant to their specific use case. To address this, the Apache Arrow project introduced a C data interface, allowing projects to utilize it without depending on the entire library stack. However, these data structures are low-level and lack APIs for manipulation.

In this talk, we will present Sparrow as a solution to bridge this gap. Sparrow provides C++20 APIs to interact with these C structures, simplifying the creation and exchange of data in the Arrow format. We will demonstrate how Sparrow can be effortlessly integrated into any project that heavily relies on C++ standard algorithms. The presentation will conclude with an overview of the bindings provided for other languages and a look at the future evolution of Sparrow.

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.

This speaker also appears in:

Alexis is a C++ Scientific Software Engineer at Quantstack.
He obtained a Master degree in Computer Science from l'École Supérieure d'Électronique de l'Ouest of Angers in 2012.
Before joining Quanstack, Alexis worked in various companies covering a large spectrum of domains all dominated by performance constraints: signal processing, image processing, 3D meshes and metadata processing ...