C++

C++ and Python exchange Numpy data via Pybind11

Pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code. We could use it to expose our CPP function to Python

Boost Graph Library(BGL)

Graphs are mathematical abstractions that are useful for solving many types of problems in computer science.

CMAKE

CMake is tool for automatically compiling C++ programs