  In this document, we introduce PyCSP$3$, a Python library that allows us to
write models of combinatorial constrained problems in a declarative manner.
Currently, with PyCSP$3$, you can write models of constraint satisfaction and
optimization problems. More specifically, you can build CSP (Constraint
Satisfaction Problem) and COP (Constraint Optimization Problem) models.
Importantly, there is a complete separation between the modeling and solving
phases: you write a model, you compile it (while providing some data) in order
to generate an XCSP$3$ instance (file), and you solve that problem instance by
means of a constraint solver. You can also directly pilot the solving procedure
in PyCSP$3$, possibly conducting an incremental solving strategy. In this
document, you will find all that you need to know about PyCSP$3$, with more
than 50 illustrative models.
