Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.

GridPath Test Suite Status Documentation Status Coverage Status Code style: black Lint Black DOI

Welcome to GridPath


GridPath is a versatile power-system planning platform capable of a range of planning approaches including production-cost, capacity-expansion, asset-valuation, and reliability modeling.


GridPath's documentation is hosted on Read the Docs.



GridPath is tested on Python 3.8, 3.9, and 3.10. We recommend using Python 3.9. Get Python here.

GridPath Python environment

You should create a Python environment for your GridPath installation, e.g. via venv, a lightweight environment manager that is part of the standard Python distribution. Make sure to create activate the environment before installing GridPath.

Install GridPath

Once you have created and activated the GridPath Python environment, you can install GridPath and the Python packages it uses.

For most users, installing GridPath's base set of Python packages and those needed to use the graphical user interface would be sufficient. You can do so by navigating to the GridPath root directory (which is where this file is located) and running:

pip install .[ui]

You can install all needed Python packages, including the developer extras by running:

pip install .[all]

NOTE: If you plan to edit the GridPath code, you should install with the -e flag.


You will need a solver to use this platform. GridPath assumes you will be using Cbc (Coin-or branch and cut) by default, but you can specify a different solver.

Testing your installation

To test the GridPath codebase, make sure the GridPath environment you installed to is activated and use the unittest module as follows from the root directory:

python -m unittest discover tests


The gridpath_run and gridpath_run_e2e commands

If you install GridPath via the setup script following the instructions above, you can use the command gridpath_run to run a scenario from any directory -- as long as your GridPath Python environment is enabled -- as follows:

gridpath_run --scenario SCENARIO_NAME --scenario_location 

If you are using the database, you can use the command gridpath_run_e2e to run GridPath end-to-end, i.e. get inputs for the scenario from the database, solve the scenario problem, import the results into the database, and process them. Refer to the documentation for how to build the database.

gridpath_run_e2e --scenario SCENARIO_NAME --scenario_location 

To see usage and other optional arguments, e.g. how to specify a solver, check the help menu, e.g.:

gridpath_run --help


In general, you can check usage of GridPath's scripts by calling the --help option, e.g.:

python --help