PyCSP3 is a Python library for writting, in a declarative manner, models of constraint satisfaction and optimization problems. Models are compiled into the intermediate format XCSP3, and can be directly solved with two embedded solvers (ACE and Choco).
On a dedicated website, find more than 60 Jupyter notebooks for gently learning CP (Constraint Programming):
Useful links: