TOOTAtIs — TOOlset for consTrAint programmIng.
A community-driven suite of tools to support Constraint Programming (CP) research, development, and applications.
Constraint Programming (CP) is a powerful paradigm for solving complex combinatorial problems across a wide range of domains.
Over the years, many solvers and tools have been developed, but their interoperability remains limited.
TOOTATIS addresses this challenge by offering a modular ecosystem that fosters integration, experimentation, and ease of use across different solvers, formats, and languages.
Initially centered around the Universe library, TOOTATIS has evolved to encompass a broader collection of complementary tools for modeling, solving, and analyzing constraint-based problems.
Our toolset includes solutions for:
- 📦 Solver installation and management
- 📊 Experimentation and performance analysis
- 🛠️ Solver configuration standardization
- 🔗 Integration with modern development environments (e.g., VSCode)
- metrics-solvers — Predefined solver configurations ready for experimentation with Metrics and xcsp-launcher.
- xcsp-metadata — Metadata repository for XCSP3 instances (categories, domains, statistics).
- xcsp-launcher — Unified installer, builder, and launcher for XCSP3-compatible solvers.
A multi-language library providing unified APIs to interact with combinatorial problem solvers.
- Universe (C++) — Unified API for constraint programming solvers in C++.
- Juniverse (Java) — Unified API for solvers in Java.
- CSUniverse (C#) — Unified API for solvers in C#.
- Autis — A lightweight library for parsing combinatorial problems.
- xcsp-vscode — VSCode extension for modeling constraint problems using PyCSP3.
- Panoramyx — A C++ framework for solving constraint programming problems in parallel, based on Universe.
We welcome contributions, suggestions, and feedback from the community!
Feel free to open issues, propose new tools, or collaborate on existing projects.
Most TOOTATIS projects are distributed under open-source licenses such as LGPLv3+.
Please refer to individual repositories for specific licensing information.