Skip to main content

Python API wrapper for the WattTime API

Project description

WattTime-API-Wrapper

Python API wrapper for the WattTime API: https://www.watttime.org/api-documentation

Key Features

  • Full support for all endpoints and parameters.
  • API key will be automatically updated once it has expired (every 30 mins).
  • Built in rate limiting to comply with WattTime API ussage guidelines (3000 requests/5 mins)
  • Increased performance by reusing session object accross requests.
  • Additional QoL features to facilitate working with response data.
    • Option to save Historical Emissions response as .zip file and extract contents.
    • Option to combine extracted .csv files into a single file.

Installation Instructions

Install Requirements (If Necessary)

  • Both "pandas" and "requests" libraries are required to use this library.
pip install pandas
pip install requests

Install Library

pip install watttime-api-wrapper

Usage Instructions

Register Account

  • This step is only required if you do not already have a WattTime account.
from WattTime import WattTime


username = "{username}"  # required
password = "{password}"  # required
email = "{user@email.com}"  # required
org = "{organization}"  # optional
wt = WattTime.RegisterNewUser(username, password, email)

Create a Client

  • Once you have registered an account, saving your username and password as environment variables is recommended.
from WattTime import WattTime
import os


username = os.getenv("WATTTIME_API_USERNAME")
password = os.getenv("WATTTIME_API_PASSWORD")
wt = WattTime.GridEmissionsInformation(username, password)

Use the Client

Determine Grid Region

latitude = 33.844978
longitude = -118.387238
wt.determine_grid_region(latitude, longitude)

The output is similar to the following:

> {'abbrev': 'CAISO_LONGBEACH', 'name': 'California ISO Long Beach', 'id': 233}
  • For a full list of ussage examples, see the WattTime API Demo.ipynb notebook that has been included in this repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

watttime-api-wrapper-1.0.2.tar.gz (7.9 kB view hashes)

Uploaded Source

Built Distribution

watttime_api_wrapper-1.0.2-py3-none-any.whl (7.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page