Numberjack cuts your exponential search tree into logs!
Numberjack is a Python API for several combinatorial optimisation solvers. Currently, it supports a long list of CP, SAT and MIP solver (CPlex, Gurobi, SCIP, MiniSat, Glucose, Mistral, etc.), and even a weighted CSP solver (Toulbar2).
It was originally designed by Eoin O'Mahony under Barry O'Sullivan and my supervision. It is currently maintained and improved by Barry Hurley. You can download the latest version, visit the web page, or its GitHub page or clone it: $git clone https://github.com/eomahony/Numberjack.git