Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/xoolive/facile

Python constraint programming library
https://github.com/xoolive/facile

constrained-optimization constraint-programming constraint-satisfaction-problem ocaml python

Last synced: 21 days ago
JSON representation

Python constraint programming library

Awesome Lists containing this project

README

        

# Python constraint programming library

OCaml Facile library is an excellent tool for solving constraint programming problems in OCaml. Facile stands for "Functional Constraint Library". Besides, "facile" means "easy" in French!

This code is a Cython-based wrapping in Python of basic functionalities of this library.

The documentation (installation, quickstart and examples) has been moved to [readthedocs.org](http://facile.readthedocs.io/).

> [!WARNING]
> I did not write the Ocaml library. I wrote the Python binding.
> I can only offer support on the Python binding.
> The plan is to clarify the contributions in a very near future.

## Things left to do

- Find a way to better parametrize the resolution process (heuristics, variable choice order, etc.)
- Study the feasibility of building your own constraints in pure Python.

## Compilation

- `opam switch create 5.1.1`
- `opam install dune`
- in `ocaml/facile`: `dune build; dune install`
- in `python/binding`: `dune build`
- in `python`: `poetry install`
- check: `pytest`
- check few examples: `for i in examples; do python $i; done`
- finally: `poetry build`