ecole
ecole copied to clipboard
Ecole extension
Describe the problem or improvement suggested
For researchers to work with Ecole in C++ and Python they have two choices:
-
- Work in a fork of Ecole, which is hard to update and will conflict with the Ecole package
-
- Provide their own bindings
Describe the solution you would like
We want to improve on 2. by providing a template repository were all SCIP, Ecole, xtensor, pybind, CMake and setuptools have been setup.
Steps:
- [x] Add CMake
GenerateExportHeaderand export public symbols - [x] Test building Ecole as shared lib in CI
- [x] Improve header names (spacing)
- [ ] Try to remove
robin_hoodfrom Graph public API - [x] Make
libecoleinstallable- [x] Create CMake install instructions
- [ ] ~Move to VCPKG for easy dependency?~
- [x] Make components based install
- [x] Add example of how to use libecole through CMake
- [ ] Make an interface library
ecole-extension#282 - [x] Test examples in CI
#267
- [x] Test libecole CMake install
- [x] Test Python install
- [x] Test notebooks (using papermill)
- [x] Make
libecolea separate Conda package- [x] In dev https://github.com/conda-forge/ecole-feedstock/pull/27
- [ ] In main
- [ ] Make an
ecole-extension-helperconda package- [ ] With interface library?
- [x] ~With
xtensor,xtensor-python, andpybind,SCIP, andecoledependencies~ Replaced by pinning the dependencies asrun_constrained
- [x] Make sure
libecole.so, headers, CMake config files... are packaged in wheel - [x] Create extension repository
https://github.com/ds4dm/ecole-extension
- [x] use Cookie cutter ?
Describe alternatives you have considered
Additional context
- Requires #37