Release of Sparrow 1.2: C++20 library for the Apache Arrow Columnar Format
🚀 [**Try it online !**](
https://man-group.github.io/sparrow/jupyterlite/lab/index.html) 🚀 (yes, C++ library in your browser)
[Sparrow](
https://github.com/man-group/sparrow) is a **modern C++20 library** designed to simplify the integration of the [Apache Arrow columnar format](
https://arrow.apache.org/docs/format/Intro.html) into C++ applications.
While Arrow-cpp aims at providing a full-featured framework for writing dataframes, Sparrow has a more focused scope, concentrating on the reading and writing of the Arrow data specification.
It is the result of a collaboration between [**Man Group**](
https://www.man.com/), [**Bloomberg**](
https://www.bloomberg.com/company/values/tech-at-bloomberg/), and [**QuantStack**](
https://quantstack.net/), ensuring robust support and continuous development.
# Why Sparrow?
Apache Arrow is the de facto standard for in-memory columnar data, but its reference C++ implementation ([Arrow-cpp](
https://arrow.apache.org/docs/cpp/index.html)) can be overly complex for projects that only require basic read/write functionality. [Sparrow](
https://github.com/man-group/sparrow) **fills this gap** by offering:
* **Lightweight and Modern**: Designed for efficiency and ease of use, leveraging **C++20 features** like iterators, ranges, and concepts.
* **Idiomatic APIs**: Provides array structures with APIs similar to **std::vector**, making it intuitive for C++ developers.
* **Convenient Conversions**: Seamless conversion between Sparrow’s C++ structures and Arrow’s C interface.
* **Zero-Copy Efficiency**: Ensures minimal overhead when working with Arrow data.
# 100% Arrow Compatibility
[Sparrow](
https://github.com/man-group/sparrow) passes all **Apache Arrow Archery integration tests**, ensuring full compatibility with the Arrow ecosystem.
# Easy Installation
Available on:
* [Conda Forge](
https://anaconda.org/conda-forge/sparrow): `conda install -c conda-forge sparrow`
* [vcpkg](
https://vcpkg.io/en/package/arcticdb-sparrow): `vcpkg install arcticdb-sparrow`
* [Conan](
https://conan.io/center/recipes/sparrow): `conan install sparrow`
# Test in Your Browser !
[Try Sparrow](
https://man-group.github.io/sparrow/jupyterlite/lab/index.html) **without installation** thanks to [JupyterLite](
https://github.com/jupyterlite) and [xeus-cpp](
https://github.com/compiler-research/xeus-cpp).
https://redd.it/1o2usbg@r_cpp