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¶
cliquematch
requirespybind11
(v2.2 or newer) for its setup:
pip3 install pybind11
cliquematch
requiresEigen
(v3.3.7 or newer) as part of its setup.You can clone the Github repo via
git clone --recursive
to getEigen
.If you already have an existing version of
Eigen
or have downloaded it separately, set theEIGEN_DIR
environment variable to the folder containingEigen
before compilation.
A
C++11
compatible compiler must be available for the installation:On Linux, gcc is called with
--std=c++11
(builds withgcc 4.8.2
formanylinux1
wheels).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.py
compiles thecliquematch
extension with two additional flags.STACK_DFS
(1
by default): If nonzero,cliquematch
uses an explicit stack for the depth-first clique search; otherwise it uses recursive function calls. Primarily for debugging purposes.BENCHMARKING
(0
by default): Set to1
when benchmarking the core cliquematch algorithm.