@article{fdi:010095657, title = {pychoco : all-inclusive {P}ython bindings for the {C}hoco-solver constraint programming library}, author = {{J}usteau-{A}llaire, {D}imitri and {P}rud'homme, {C}.}, editor = {}, language = {{ENG}}, abstract = {{C}onstraint {P}rogramming ({CP}) is a well-established and powerful {A}rtificial {I}ntelligence ({AI}) paradigm for modelling and solving complex combinatorial problems ({R}ossi et al., 2006). {M}any {CP} solvers are currently available, and despite a generally shared common base, each solver exhibits specific features that make it more or less suited to certain types of problems and tasks. {P}erformance and flexibility are important features of {CP} solvers, which is why most state-of-the-art solvers rely on statically typed and compiled programming languages, such as {J}ava or {C}++. {B}ecause of this, {CP} has long remained a niche field that is difficult for non-specialists to access. {R}ecently, the emergence of high-level, solver-independent modelling languages such as {M}ini{Z}inc ({N}ethercote et al., 2007), {XCSP}³ ({A}udemard et al., 2020), and {CPM}py ({G}uns, 2019) has made {CP} more accessible by allowing users to seamlessly use state-of-the-art solvers from user-friendly interpreted languages such as {P}ython. {T}o make {CP} even more accessible to a wider audience, we developed pychoco, a {P}ython library that provides an all-inclusive binding to the {J}ava {C}hoco-solver library ({P}rud'homme & {F}ages, 2022). {B}y all-inclusive, we mean that pychoco has no external dependencies and does not require the installation of {C}hoco-solver or {J}ava on the user's system. {T}he choice of {P}ython was motivated by its widespread use in the data science and {AI} communities, as well as its extensive use in education. {T}he pychoco {P}ython library supports almost all features of {C}hoco-solver, is regularly updated, and is automatically built and distributed through {P}y{PI} for {L}inux, {W}indows, and {M}ac{OSX} at each release. {A}s a result, pychoco can seamlessly integrate into high-level constraint modelling {P}ython libraries such as {CPM}py ({G}uns, 2019) and {P}y{CSP}³ ({L}ecoutre & {S}zczepanski, 2024). {M}oreover, users who need to use features specific to {C}hoco-solver (e.g., graph variables and constraints) can now rely on pychoco without prior knowledge of {J}ava programming. {W}e believe that along with initiatives such as {CPM}py and {P}y{CSP}, the availability of {CP} technologies in the {P}ython ecosystem will foster new uses and the appropriation of {CP} by a wider scientific and industrial public.}, keywords = {}, booktitle = {}, journal = {{J}ournal of {O}pen {S}ource {S}oftware}, volume = {10}, numero = {113}, pages = {8847 [5 ]}, ISSN = {2475-9066}, year = {2025}, DOI = {10.21105/joss.08847}, URL = {https://www.documentation.ird.fr/hor/fdi:010095657}, }