WattTime / pyiso

Python client libraries for ISO and other power grid data sources.
http://pyiso.readthedocs.org/
Other
239 stars 112 forks source link

Add AESOClient implementation of BaseClient to provide data for Alberta, Canada #121

Closed r24mille closed 7 years ago

r24mille commented 7 years ago

This pull request adds latest=True support for get_generation(...), get_load(...), and get_trade(...) methods using public AESO electricity system reports available in a ragged CSV format from http://ets.aeso.ca/ets_web.

Furthermore, get_load(...) supports historical data back to January 1, 2000 and forecast data through the end-of-day using requests in the form:

http://ets.aeso.ca/ets_web/ip/Market/Reports/ActualForecastWMRQHReportServlet?beginDate=07182017&endDate=07202017&contentType=csv

The EIA client lists the AESO as a balancing authority, but eia_esod.handle_ba_limitations(...) includes the AESO in its canada_mexico limitation array. It is essentially not supported. This AESOClient adds value by providing a basic level of support for Alberta.

r24mille commented 7 years ago

Similar to my IESOClient pull request #119, I have a suite of integration tests which actually call the AESO website (rather than mocking static content) but I've left them out of this commit since there's no obvious place to put them.

Locally, I have them placed in an integration_tests folder which could be skipped by the build server.

r24mille commented 7 years ago

All known bugs and shortcomings of the AESOClient have been addressed.