Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/xoolive/facile
- Owner: xoolive
- License: lgpl-3.0
- Created: 2014-09-19T20:40:01.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-11-29T21:50:18.000Z (about 1 month ago)
- Last Synced: 2024-12-07T20:23:17.188Z (about 1 month ago)
- Topics: constrained-optimization, constraint-programming, constraint-satisfaction-problem, ocaml, python
- Language: OCaml
- Homepage: http://facile.readthedocs.io/
- Size: 405 KB
- Stars: 23
- Watchers: 4
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: license.txt
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`