Installing cliquematch¶
cliquematch uses pybind11 to provide Python wrappers. Internally, the core
clique search algorithm is implemented in C++11, simple template classes
are used to provide flexibility for applications, and Eigen is used to
provide fast access to numpy arrays.
Installing from a wheel¶
PyPI wheels are available for Linux and Windows.
MacOS builds are tested but wheels are not provided.
pip install cliquematch<2.0.0
Installing from source¶
cliquematchrequirespybind11(v2.2 or newer) for its setup:
pip3 install pybind11
cliquematchrequiresEigen(v3.3.7 or newer) as part of its setup.You can clone the Github repo via
git clone --recursiveto getEigen.If you already have an existing version of
Eigenor have downloaded it separately, set theEIGEN_DIRenvironment variable to the folder containingEigenbefore compilation.
A
C++11compatible compiler must be available for the installation:On Linux, gcc is called with
--std=c++11(builds withgcc 4.8.2formanylinux1wheels).On Windows, Visual Studio 2015 Update 3 (MSVC 14.0 runtime) or later is needed.
Note: Installing under Windows+MinGW has not been tested.
(Advanced) Compilation Flags:
setup.pycompiles thecliquematchextension with two additional flags.STACK_DFS(1by default): If nonzero,cliquematchuses an explicit stack for the depth-first clique search; otherwise it uses recursive function calls. Primarily for debugging purposes.BENCHMARKING(0by default): Set to1when benchmarking the core cliquematch algorithm.