A simple wrapper for the EIA API.
Project description
eiapy
Python 3 wrapper for the U.S. Energy Information Administration API.
Work in progress.
For more details about the API go to the EIA's Open Data page.
Go here to see the API terms of service and here for an explanation of copyright and reuse of their data.
Quick example
Get the last 5 datapoints for the electricity interchange between CAISO and Comision Federal de Electricidad.
>>> from eiapy import Series
>>> caiso_to_cfe = Series('EBA.CISO-CFE.ID.H')
>>> pprint(caiso_to_cfe.last(5))
{'request': {'command': 'series', 'series_id': 'EBA.CISO-CFE.ID.H'},
'series': [{'data': [['20180401T07Z', -11],
['20180401T06Z', -16],
['20180401T05Z', -11],
['20180401T04Z', -7],
['20180401T03Z', -5]],
'description': 'Timestamps follow the ISO8601 standard '
'(https://en.wikipedia.org/wiki/ISO_8601). Hourly '
'representations are provided in Universal Time.',
'end': '20180401T07Z',
'f': 'H',
'name': 'Actual Net Interchange for California Independent System '
'Operator (CISO) to Comision Federal de Electricidad '
'(CFE), Hourly',
'series_id': 'EBA.CISO-CFE.ID.H',
'start': '20150701T00Z',
'units': 'megawatthours',
'updated': '2018-04-02T08:43:16-0400'}]}
TODO list
- Implement Relation
- Finish other methods
- Clean up main
- Docs on how to use code, api key, examples
- Notes on api behaviour (part done)
- Make a pip package, maybe use pipenv
- Define python versions supported. 3.5/3.6+?
- Version numbering system
- Make code more DRY
Notes on API behaviour
- When providing invalid time limits for a series data request data=[] is returned.
- For data requests num & start cannot be used together but num & end can.
- When an invalid series id is passed this is the response.
# {'request': {'series_id': 'eba.ciso-cfe.id.', 'command': 'series', 'num': '5'},
# 'data': {'error': 'invalid series_id. For key registration, documentation, and examples see https://www.eia.gov/developer/'}}
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
eiapy-0.1.0.tar.gz
(5.5 kB
view hashes)
Built Distribution
Close
Hashes for eiapy-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9baca309c439065231f722b98587792a2cd70411d0f1ab30079c2c307e3e1f84 |
|
MD5 | 5746843949d860214949232a4e9da143 |
|
BLAKE2b-256 | 30e715e2e4319ffd3069410056af0bad55fad806cba9f605d9e2f5eb6fb3508b |