As Carbon Aware SDK user, I would like use the Electricity Maps API as a data source, so that I can get the average marginal carbon intensity rates and the lowest forecasted carbon intensity rate from Electricity Maps.
Acceptance Criteria
[x] Design provides specifications on how to add Electricity Maps as a data source to the SDK with the same or as close to functionality as the WattTime data source
[x] Design identifies any changes that are needed due to Electricity Map differences.
Description
As Carbon Aware SDK user, I would like use the Electricity Maps API as a data source, so that I can get the average marginal carbon intensity rates and the lowest forecasted carbon intensity rate from Electricity Maps.
Acceptance Criteria
Dependencies
The implementation is dependent on Electricity Map API functionality.
Sprint-Ready Checklist
Tasks
[x] Create shared word document to draft early designs
[x] Design Area: ElectricityMapsDataSource project @pritipath
[x] Design Area: ICarbonIntensityDataSource interface @bderusha
[x] Design Area: Config @pritipath
[x] Design Area: Integration Testing @bderusha @pritipath
[x] Design Area: Telemetry & Logging
[x] Design Area: ErrorHandling
[x] Update design doc with: @pritipath
[x] Combine with library proposals. @bderusha
[x] Determine global priority @bderusha
[x] Create ADRs from joint documents.
Design Area: ElectricityMapsDataSource project
How Should We Estimate Work
Estimates include anything which would be required by our team to merge the feature. Estimate Unit: sprints (2 people for 2 weeks)