C++ Core

The core language for HyperArrow is C++, matching what is offered upstream by the Arrow library.

Build Dependencies

HyperArrow relies on the follow components:

Refer to your OS on how to install the components, or alternately use conda to create a virtual environment.

conda create -n hyperarrow-dev
conda activate hyperarrow-dev
conda install -c conda-forge "arrow-cpp>=6.0" boost-cpp compilers

Due to the nature of how the Tableau Hyper API is distributed, you will need to download that directly from the Tableau website and place somwhere on your computer where CMake can find it. If CMake is unable to resolve the location, you should set an environemnt variable for TABLEAU_CMAKE_PATH to point to the CMake file provided by Tableau. On Unix-based systems this may look something like:

export TABLEAU_CMAKE_PATH=<SOME_DIRECTORY_PATH>/tableauhyperapi/share/cmake

How to Build

We suggest doing an out-of-core compliation of the libraries. Assuming you are at the root of the HyperArrow project you can perform the following steps to accomplish this.

mkdir build
pushd build

cmake -S ..
cmake --build .
ctest
popd