A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

GridPath

A versatile simulation and optimization platform for power-system planning and operations.
https://github.com/blue-marble/gridpath

Category: Energy Systems
Sub Category: Energy System Modeling Frameworks

Keywords

electricity energy optimization planning power power-system-analysis power-system-simulation power-systems renewable-energy renewables

Last synced: about 24 hours ago
JSON representation

Repository metadata

A versatile simulation and optimization platform for power-system planning and operations.

README.md

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

Welcome to GridPath

Approaches

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.

Documentation

GridPath's documentation is hosted on Read the Docs.

Installation

Python

GridPath is tested on Python 3.9, 3.10, and 3.11. Get one of those Python versions 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 from PyPi

Once you have created and activated the GridPath Python environment, you
can install the latest version of GridPath from PyPi with:

pip install GridPath

Install GridPath from source

You can alternatively download the GridPath source code and install from
source.

pip install .[all]

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

Solver

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.

Usage

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 
/PATH/TO/SCENARIO 

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 
/PATH/TO/SCENARIO 

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

gridpath_run --help

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 5 days ago

Total Commits: 1,528
Total Committers: 12
Avg Commits per committer: 127.333
Development Distribution Score (DDS): 0.212

Commits in past year: 121
Committers in past year: 5
Avg Commits per committer in past year: 24.2
Development Distribution Score (DDS) in past year: 0.124

Name Email Commits
Ana Mileva a****a@g****m 1204
Gerrit g****m@g****m 245
ranjitster r****h@b****u 35
Janie115 4****5 32
sriharid s****i@p****g 3
alexrob18 1****8 2
Milind R m****d@c****n 2
souissim 7****m 1
nmgeek g****e@g****m 1
elainekhart 7****t 1
PascalLesage p****e@g****m 1
Jessica Van Os 1****s 1

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 338
Total pull requests: 930
Average time to close issues: 3 months
Average time to close pull requests: 8 days
Total issue authors: 20
Total pull request authors: 13
Average comments per issue: 1.16
Average comments per pull request: 0.54
Merged pull request: 769
Bot issues: 0
Bot pull requests: 118

Past year issues: 8
Past year pull requests: 130
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 8 days
Past year issue authors: 6
Past year pull request authors: 6
Past year average comments per issue: 0.63
Past year average comments per pull request: 0.18
Past year merged pull request: 97
Past year bot issues: 0
Past year bot pull requests: 27

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/blue-marble/gridpath

Top Issue Authors

  • anamileva (152)
  • gerritdm (105)
  • sriharid (22)
  • nmgeek (12)
  • Janie115 (9)
  • PascalLesage (9)
  • milindsmart (8)
  • ranjitster (6)
  • MahavirSingh20 (2)
  • ghost (2)
  • jhimelic (2)
  • alamincse32 (1)
  • asjaiswal (1)
  • alexrob18 (1)
  • HaleyRoss (1)

Top Pull Request Authors

  • anamileva (478)
  • gerritdm (271)
  • dependabot[bot] (118)
  • Janie115 (38)
  • sriharid (10)
  • PascalLesage (3)
  • alexrob18 (3)
  • milindsmart (3)
  • nmgeek (2)
  • ranjitster (1)
  • elainekhart (1)
  • souissim (1)
  • jessvanos (1)

Top Issue Labels

  • type: enhancement (71)
  • type: refactor (61)
  • theme: database (56)
  • type: feature (36)
  • theme: model (36)
  • priority: high (36)
  • priority: low (34)
  • type: bug (34)
  • theme: viz (28)
  • priority: mid (25)
  • theme: ui (17)
  • theme: csv-to-db (17)
  • theme: db-model-db (16)
  • theme: testing (12)
  • theme: validation (10)
  • help wanted (9)
  • theme: docs (8)
  • question (8)
  • fixed - pending release (7)
  • theme: product (6)
  • type: test (4)
  • type: chore (2)
  • type: performance (1)
  • dependencies (1)

Top Pull Request Labels

  • type: refactor (123)
  • dependencies (118)
  • javascript (70)
  • theme: database (68)
  • type: bug (49)
  • theme: docs (49)
  • python (48)
  • theme: validation (36)
  • type: enhancement (35)
  • priority: high (32)
  • theme: csv-to-db (32)
  • theme: ui (31)
  • theme: viz (26)
  • type: feature (23)
  • theme: testing (21)
  • theme: db-model-db (18)
  • WIP (14)
  • theme: model (12)
  • priority: mid (2)
  • type: chore (1)
  • question (1)

Package metadata

pypi.org: gridpath

A versatile simulation and optimization platform for power-system planning and operations.

  • Homepage: https://www.gridpath.io
  • Documentation: https://gridpath.readthedocs.io/en/latest/
  • Licenses: Apache v2
  • Latest release: 2025.4.0 (published about 2 months ago)
  • Last Synced: 2025-04-25T12:10:59.551Z (2 days ago)
  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 380 Last month
  • Rankings:
    • Dependent packages count: 7.299%
    • Average: 37.869%
    • Dependent repos count: 68.439%
  • Maintainers (1)

Dependencies

.github/workflows/black.yml actions
  • actions/checkout v2 composite
  • psf/black stable composite
.github/workflows/test_gridpath.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
ui/package-lock.json npm
  • 1228 dependencies
ui/package.json npm
  • @angular-devkit/build-angular ~0.13.0 development
  • @angular/cli ~7.3.8 development
  • @angular/compiler-cli ~7.2.0 development
  • @angular/language-service ~7.2.0 development
  • @types/jasmine ~2.8.8 development
  • @types/jasminewd2 ~2.0.3 development
  • @types/node ~8.9.4 development
  • codelyzer ~4.5.0 development
  • electron ^5.0.4 development
  • electron-builder ^23.0.2 development
  • jasmine-core ~2.99.1 development
  • jasmine-spec-reporter ~4.2.1 development
  • jquery ^3.4.1 development
  • karma ~4.0.0 development
  • karma-chrome-launcher ~2.2.0 development
  • karma-coverage-istanbul-reporter ~2.0.1 development
  • karma-jasmine ~1.1.2 development
  • karma-jasmine-html-reporter ^0.2.2 development
  • popper.js ^1.15.0 development
  • protractor ~5.4.0 development
  • ts-node ~7.0.0 development
  • tslint ~5.11.0 development
  • typescript ~3.2.2 development
  • @angular/animations ~7.2.0
  • @angular/common ~7.2.0
  • @angular/compiler ~7.2.0
  • @angular/core ~7.2.0
  • @angular/forms ~7.2.0
  • @angular/platform-browser ~7.2.0
  • @angular/platform-browser-dynamic ~7.2.0
  • @angular/router ~7.2.0
  • @bokeh/bokehjs ~2.2.3
  • @ng-bootstrap/ng-bootstrap ^4.2.1
  • bootstrap ^4.3.1
  • core-js ^2.5.4
  • electron-json-storage ^4.1.6
  • process ^0.11.10
  • rxjs ~6.3.3
  • socket.io ^2.2.0
  • socket.io-client ^2.1.1
  • tslib ^1.9.0
  • zone.js ~0.8.26
requirements.txt pypi
  • Babel ==2.11.0
  • Flask ==2.0.1
  • Flask-RESTful ==0.3.9
  • Flask-SocketIO ==4.3.2
  • Jinja2 ==3.0.3
  • MarkupSafe ==2.1.2
  • Pillow ==9.4.0
  • PyUtilib ==6.0.0
  • PyYAML ==6.0
  • Pygments ==2.14.0
  • Pyomo ==6.4.4
  • Sphinx ==5.0.1
  • Werkzeug ==2.0.2
  • alabaster ==0.7.13
  • aniso8601 ==9.0.1
  • black ==22.12.0
  • bokeh ==2.2.3
  • certifi ==2022.12.7
  • charset-normalizer ==3.0.1
  • click ==8.1.3
  • coverage ==6.5.0
  • coveralls ==3.3.1
  • dill ==0.3.6
  • dnspython ==1.16.0
  • docopt ==0.6.2
  • docutils ==0.18.1
  • eventlet ==0.33.1
  • greenlet ==2.0.1
  • gurobipy ==10.0.0
  • idna ==3.4
  • imagesize ==1.4.1
  • importlib-metadata ==6.0.0
  • itsdangerous ==2.1.2
  • mypy-extensions ==0.4.3
  • networkx ==3.0
  • nose ==1.3.7
  • numpy ==1.24.1
  • packaging ==23.0
  • pandas ==1.5.3
  • pathspec ==0.10.3
  • platformdirs ==2.6.2
  • ply ==3.11
  • pscript ==0.7.5
  • psutil ==5.8.0
  • python-dateutil ==2.8.2
  • python-engineio ==3.14.2
  • python-socketio ==4.6.1
  • pytz ==2022.7.1
  • requests ==2.28.2
  • six ==1.16.0
  • snowballstemmer ==2.2.0
  • sphinx-argparse ==0.3.1
  • sphinxcontrib-applehelp ==1.0.4
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.0
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • tomli ==2.0.1
  • tornado ==6.2
  • typing_extensions ==4.4.0
  • urllib3 ==1.26.14
  • websocket-client ==1.4.2
  • zipp ==3.11.0
setup.py pypi
  • Jinja2 ==3.0.3
  • PyUtilib ==6.0.0
  • Pyomo ==6.4.4
  • bokeh ==2.2.3
  • dill ==0.3.6
  • networkx ==3.0
  • pandas ==1.5.3
  • pscript ==0.7.5
gridpath/package-lock.json npm

Score: 13.626203056180527