A Python CSP solver using a SAT solver as a backend