Installation¶
Coming from an Excel .xlsb model?
These instructions install EPM 9, which reads CSV inputs and is driven from Python. If your model is a workbook, you are on v8.5 — see Legacy version, or port it to CSV and come back here.
Prerequisites¶
EPM's optimization engine is GAMS, which must be installed on your machine before proceeding.
Install GAMS
Download GAMS, version 48.2.0 to 53.x required. GAMS 54.x is not yet supported. Contact your institution or the World Bank team for a license.
Add GAMS to your system PATH so it can be called from the terminal:
- Windows: Search "Environment Variables" → System Variables → Path → add your GAMS folder (e.g.
C:\GAMS\48.2) - macOS: Add
export PATH="/Applications/GAMS48.2:$PATH"to~/.zshrc, then runsource ~/.zshrc
Verify: gams in a terminal should return the GAMS version.
Installation¶
Two options are available. The Windows Installer automates the full setup (Git, Conda, Python environment, repository clone); only GAMS needs to be pre-installed. The Manual Setup is for users who want to control each step.
Steps
- Double-click
epm.exe— a terminal window opens - Choose an install folder when prompted, or press Enter for the default (
C:\Users\you\EPM) - Wait a few minutes — the installer clones the repository and sets up the Python environment
- You see "Installation complete!" — you're done
After installation
- EPM is in the folder you chose
- A "Launch EPM Dashboard" shortcut is on your Desktop — double-click it to start (Dashboard is under development — errors must be debugged via command line)
Note: GAMS must be installed separately with a valid license. The installer will warn you if it is not detected.
1. Install prerequisites
2. Clone the repository
git clone https://github.com/ESMAP-World-Bank-Group/EPM.git
cd EPM
git checkout -b my_country_2025
git push -u origin my_country_2025
3. Set up the Python environment
conda create -n epm_env python=3.10 --override-channels -c conda-forge
conda activate epm_env
pip install -r requirements.txt
4. Verify
Results are written to output/. If something fails, see Debugging.
How do you want to run EPM?¶
| Method | Best for | Go to |
|---|---|---|
| Python CLI | Scenarios, automation, Monte Carlo | Run from Python |
| GAMS Studio | Model development, GAMS debugging | Run from GAMS Studio |
| Remote Server | Heavy computations, parallel runs | Run on Remote Server |
And to look at the results
The EPM Dashboard (beta) is a visual interface for inspecting input data and exploring results. It does not run the model — pick one of the methods above for that.