ecole icon indicating copy to clipboard operation
ecole copied to clipboard

Ecole extension

Open AntoinePrv opened this issue 4 years ago • 0 comments

Describe the problem or improvement suggested

For researchers to work with Ecole in C++ and Python they have two choices:

    1. Work in a fork of Ecole, which is hard to update and will conflict with the Ecole package
    1. 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 GenerateExportHeader and export public symbols
  • [x] Test building Ecole as shared lib in CI
  • [x] Improve header names (spacing)
  • [ ] Try to remove robin_hood from Graph public API
  • [x] Make libecole installable
    • [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 libecole a separate Conda package
    • [x] In dev https://github.com/conda-forge/ecole-feedstock/pull/27
    • [ ] In main
  • [ ] Make an ecole-extension-helper conda package
    • [ ] With interface library?
    • [x] ~With xtensor, xtensor-python, and pybind, SCIP, and ecole dependencies~ Replaced by pinning the dependencies as run_constrained
  • [x] Make sure libecole.so, headers, CMake config files... are packaged in wheel
  • [x] Create extension repository https://github.com/ds4dm/ecole-extension

Describe alternatives you have considered

Additional context

  • Requires #37

AntoinePrv avatar Feb 23 '21 21:02 AntoinePrv