This package requires that you have python 3.7+ installed and it is recommended you use a virtual environment.
To install this package you need to:
- Clone this repo:
git clone git@github.com:bsgip/echo.git
- Change to the echo directory:
cd echo
- With your virtual environment active install using pip:
pip install --group all .
NOTE: This package is not on pypi - pip install echo will NOT install this package. It will install a different package with the same name.
The following solvers can be used
Free for academic use only:
- CPLEX (recommended): This has been tested the most. It requires a license but is free for academic users. To install, follow instructions here. After installing CPLEX you will need to add the binaries to your system path.
- GUROBI: Minimal testing: It requires a license but is free for academic users. Check their website for installation instructions.
Open source:
- CBC: This solver can be used provided you only include linear costs (no quadratic costs or regularisation). Information on the solver is available here. For installing on ubuntu run
sudo apt-get install -y coinor-cbc
Make sure you have the documentation dependencies installed
pip install --group docs .
- Generate the documentation for the echo package (from docstrings)
sphinx-apidoc --force --implicit-namespaces --module-first --no-toc --separate -o docs/source/_reference src/echo
The auto-generated documentation can be found in docs/source/_reference
- Build the documentation (as html)
sphinx-build -b html docs/source docs/_build
The built documentation can be found in docs/_build. Warnings about duplicated labels can be safely ignored.
Please see the design file here.
Please log any issues in the issue tracker.
| Item | Status | Reference | Completion Date |
|---|---|---|---|
| Documentation update | Underway | June 2026 | |
| Examples update | Underway | June 2026 | |
| Standardise data injection process | Planning | #103 | Aug 2026 |
| Upgrade to pydantic v2 | Not Started | #101 | Oct 2026 |
| Add linopy as parser option | Planning | #102 | Dec 2026 |