From efcb823aa2cd4bc18ef21fabd5bb01f78c5eab43 Mon Sep 17 00:00:00 2001 From: explodingdinosaurs Date: Thu, 2 Jul 2026 16:47:20 +1000 Subject: [PATCH 1/9] Updated installation instructions. --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 286a3da..4b4e393 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## Installation -This package requires that you have python 3.7+ installed and it is recommended you use a virtual environment. +`echo` requires requires python 3.11-3.14. To install this package you need to: @@ -12,9 +12,12 @@ To install this package you need to: 2. Change to the echo directory: `cd echo` -3. Install using uv (recommended): +3. Install using `uv` (recommended): + `uv sync --python 3.13 --all-extras` + or 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. From 4b1ff148859a8b87f71fea332e22cb33748c44ef Mon Sep 17 00:00:00 2001 From: explodingdinosaurs Date: Thu, 2 Jul 2026 16:59:31 +1000 Subject: [PATCH 2/9] Updated intro --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4b4e393..860f336 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # echo (energy and commodity holistic optimiser) +`echo`` is a python-based multi-commodity energy system optimisation tool designed to answer grid integration questions. + +This project is developed and maintained by the ANU Centre for Energy Systems at the Australian National University. + ## Installation `echo` requires requires python 3.11-3.14. @@ -16,11 +20,11 @@ To install this package you need to: `uv sync --python 3.13 --all-extras` - or pip: + or `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. +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. ## Solver From 065a4de43fa1ae2601747048d95f5827fca1ad87 Mon Sep 17 00:00:00 2001 From: explodingdinosaurs Date: Thu, 2 Jul 2026 17:01:36 +1000 Subject: [PATCH 3/9] fixed typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 860f336..75c90ff 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # echo (energy and commodity holistic optimiser) -`echo`` is a python-based multi-commodity energy system optimisation tool designed to answer grid integration questions. +`echo` is a python-based multi-commodity energy system optimisation tool designed to answer grid integration questions. This project is developed and maintained by the ANU Centre for Energy Systems at the Australian National University. From 3e03afcb500ef25079c8517af74e098afcc424a6 Mon Sep 17 00:00:00 2001 From: explodingdinosaurs Date: Thu, 2 Jul 2026 17:03:37 +1000 Subject: [PATCH 4/9] Added link to ACES --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 75c90ff..8bf4ba9 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ `echo` is a python-based multi-commodity energy system optimisation tool designed to answer grid integration questions. -This project is developed and maintained by the ANU Centre for Energy Systems at the Australian National University. +This project is developed and maintained by the [Centre for Energy Systems](https://energysystems.anu.edu.au/) at the Australian National University. ## Installation From e0ef17bef7dddd0bd940632dd21e9e5a44064c87 Mon Sep 17 00:00:00 2001 From: explodingdinosaurs Date: Mon, 13 Jul 2026 14:07:10 +1000 Subject: [PATCH 5/9] Updated solver section --- README.md | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 8bf4ba9..dbdc395 100644 --- a/README.md +++ b/README.md @@ -28,16 +28,28 @@ NOTE: This package is not on pypi - **`pip install echo` will NOT install this p ## Solver -The following solvers can be used +Different solvers can be used within echo. Solvers are installed separate to `echo`, see below for install instructions. -Free for academic use only: +There are a few prerequisites to using a solver: -- CPLEX (recommended): This has been tested the most. It requires a license but is free for academic users. To install, follow instructions [here](https://www.ibm.com/products/ilog-cplex-optimization-studio). 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](https://www.gurobi.com/documentation/9.5/remoteservices/linux_installation.html). +1. The solver must be installed. +2. The solver's executable must be in the `PATH` or equivalent. For example: + `PATH="/opt/cplex:$PATH` + in `~/.bashrc` for linux systems using bash. +3. `echo` needs to know which solver to use. There are two ways of doing this: -Open source: +- Exporting the `OPTIMISER_ENGINE` environment variable, eg. `export OPTIMISER_ENGINE=cplex` in a terminal. +- Setting `echo.models.scenario.EngineSettings.engine`. Defaults to `"cplex"` -- CBC: This solver can be used provided you only include linear costs (no quadratic costs or regularisation). Information on the solver is available [here](https://github.com/coin-or/Cbc). For installing on ubuntu run `sudo apt-get install -y coinor-cbc` +The following solvers can be used. + +| Solver | Testing Status | License | Installation | Known as in `echo` | +| ------ | --------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------ | +| CPLEX | Most tested | Commercial, free for academic use with licence | [All OSs](https://www.ibm.com/products/ilog-cplex-optimization-studio) | cplex | +| GUROBI | Minimal testing | Commercial, free for academic use with licence | [Linux](https:/./www.gurobi.com/documentation/9.5/remoteservices/linux_installation.html) | gurobi | +| CBC | Minimal testing | Open source | [All OSs](https://github.com/coin-or/cbc#download) | cbc | +| GLPK | No testing | Open source | [Linux](https://www.gnu.org/software/glpk/#TOCdownloading) | glpk | +| Xpress | No testing | Commercial, free for academic use with licence | [All OSs](https://www.fico.com/fico-xpress-optimization/docs/latest/installguide/dhtml/chapinst1.html) | xpress | ## Documentation From 0c0816b5cb53f109011125409cd3cbfe4d6f248a Mon Sep 17 00:00:00 2001 From: explodingdinosaurs Date: Mon, 13 Jul 2026 14:12:29 +1000 Subject: [PATCH 6/9] Fixed typos --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dbdc395..3dc8e90 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,9 @@ NOTE: This package is not on pypi - **`pip install echo` will NOT install this p ## Solver -Different solvers can be used within echo. Solvers are installed separate to `echo`, see below for install instructions. +Different solvers can be used within echo. Solvers are installed separately; see below for links to install instructions. -There are a few prerequisites to using a solver: +There are three prerequisites to using a solver in `echo`: 1. The solver must be installed. 2. The solver's executable must be in the `PATH` or equivalent. For example: From c88078928bdb1f07e41562242d444b69e32dcda4 Mon Sep 17 00:00:00 2001 From: explodingdinosaurs Date: Mon, 13 Jul 2026 14:13:17 +1000 Subject: [PATCH 7/9] Fixed typos --- README.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 3dc8e90..7c340d7 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ There are three prerequisites to using a solver in `echo`: in `~/.bashrc` for linux systems using bash. 3. `echo` needs to know which solver to use. There are two ways of doing this: -- Exporting the `OPTIMISER_ENGINE` environment variable, eg. `export OPTIMISER_ENGINE=cplex` in a terminal. +- Exporting the `OPTIMISER_ENGINE` environment variable, eg. `export OPTIMISER_ENGINE=cplex` in a terminal. Defaults to cplex. - Setting `echo.models.scenario.EngineSettings.engine`. Defaults to `"cplex"` The following solvers can be used. @@ -75,12 +75,14 @@ Please log any issues in the [issue tracker](https://github.com/bsgip/echo/issue ## Roadmap -| Item | Status | Reference | Completion Date | -| ---------------------------------- | ----------- | ------------------------------------------ | --------------- | -| Add ruff and uv | Complete | | Jun 2026 | -| Add ty | Planning | | Aug 2026 | -| Documentation update | Underway | | Sep 2026 | -| Examples update | Underway | | Sep 2026 | -| Standardise data injection process | Planning | | Sep 2026 | -| Upgrade to pydantic v2 | Not Started | | Oct 2026 | -| Add linopy as parser option | Planning | | Dec 2026 | +| Item | Status | Reference | Completion Date | +| ---- | ------ | --------- | --------------- | + +- xpress + | Add ruff and uv | Complete | | Jun 2026 | + | Add ty | Planning | | Aug 2026 | + | Documentation update | Underway | | Sep 2026 | + | Examples update | Underway | | Sep 2026 | + | Standardise data injection process | Planning | | Sep 2026 | + | Upgrade to pydantic v2 | Not Started | | Oct 2026 | + | Add linopy as parser option | Planning | | Dec 2026 | From 5dc95d6fc6eb83ca6b4e696cb0f8fe1d7a4ae9cf Mon Sep 17 00:00:00 2001 From: explodingdinosaurs Date: Mon, 13 Jul 2026 14:14:04 +1000 Subject: [PATCH 8/9] Fixed typos --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7c340d7..af55c0c 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ There are three prerequisites to using a solver in `echo`: in `~/.bashrc` for linux systems using bash. 3. `echo` needs to know which solver to use. There are two ways of doing this: -- Exporting the `OPTIMISER_ENGINE` environment variable, eg. `export OPTIMISER_ENGINE=cplex` in a terminal. Defaults to cplex. +- Exporting the `OPTIMISER_ENGINE` environment variable, eg. `export OPTIMISER_ENGINE=cplex` in a terminal. Defaults to `cplex`. - Setting `echo.models.scenario.EngineSettings.engine`. Defaults to `"cplex"` The following solvers can be used. From b753c4e66609f5fd8d53b53595ad780f2c375536 Mon Sep 17 00:00:00 2001 From: explodingdinosaurs Date: Mon, 13 Jul 2026 16:09:05 +1000 Subject: [PATCH 9/9] Removed mis-pasted line --- README.md | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index af55c0c..8e8e579 100644 --- a/README.md +++ b/README.md @@ -75,14 +75,12 @@ Please log any issues in the [issue tracker](https://github.com/bsgip/echo/issue ## Roadmap -| Item | Status | Reference | Completion Date | -| ---- | ------ | --------- | --------------- | - -- xpress - | Add ruff and uv | Complete | | Jun 2026 | - | Add ty | Planning | | Aug 2026 | - | Documentation update | Underway | | Sep 2026 | - | Examples update | Underway | | Sep 2026 | - | Standardise data injection process | Planning | | Sep 2026 | - | Upgrade to pydantic v2 | Not Started | | Oct 2026 | - | Add linopy as parser option | Planning | | Dec 2026 | +| Item | Status | Reference | Completion Date | +| ---------------------------------- | ----------- | ------------------------------------------ | --------------- | +| Add ruff and uv | Complete | | Jun 2026 | +| Add ty | Planning | | Aug 2026 | +| Documentation update | Underway | | Sep 2026 | +| Examples update | Underway | | Sep 2026 | +| Standardise data injection process | Planning | | Sep 2026 | +| Upgrade to pydantic v2 | Not Started | | Oct 2026 | +| Add linopy as parser option | Planning | | Dec 2026 |