XCSP3
XCSP3 is a universal format, based on XML, allowing to represent instances of constrained combinatorial problems. This format is compact, comprehensible and structured (it offers in particular the possibility to declare arrays of variables and identify syntactic and semantic groups of constraints).
XCSP3 introduces a limited set of elementary constraint forms, and allows many variations of them through different logical mechanisms. As a result, XCSP3 encompasses virtually all the constraints that can be found in different constraint solvers.
To deal only with the most popular constraints and frameworks, it is possible to focus on XCSP3-core. To model the problems in a declarative way and compile them as XCSP3 instances, it is possible to use the Python library PyCSP3.
You can consult the tools and the specifications of XCSP3.