Extension types for the sparrow library
sparrow-extensions provides additional array types and extension implementations for the sparrow library, following the Apache Arrow Canonical Extensions specification.
sparrow-extensions requires a modern C++ compiler supporting C++20.
uuid_array: Arrow-compatible array for storing UUID values as 16-byte fixed-width binary according to thearrow.uuidextension type specification.json_array: Arrow-compatible array for storing JSON values as UTF-8 strings according to thearrow.jsonextension type specification.bool8_array: Arrow-compatible array for storing boolean values as 8-bit integers according to thearrow.bool8extension type specification.
sparrow-extensions has a few dependencies that you can install in a mamba environment:
mamba env create -f environment-dev.yml
mamba activate sparrow-extensionsYou can then create a build directory, and build the project and install it with cmake:
mkdir build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \
-DSPARROW_EXTENSIONS_BUILD_TESTS=ON
make installCompilers:
- Clang 18 or higher
- GCC 11.2 or higher
- Apple Clang 16 or higher
- MSVC 19.41 or higher
- sparrow - C++20 implementation of the Apache Arrow Columnar Format
This software is licensed under the Apache License 2.0. See the LICENSE file for details.