Skip to main content

A simple wrapper for the EIA API.

Project description

eiapy

PyPI PyPI - License PyPI - Python Version

Python 3 wrapper for the U.S. Energy Information Administration API.

Quick start

pip install eiapy

Get the last 5 measurements of the electricity flow between California and Mexico.

>>> from eiapy import Series
>>> cal_to_mex = Series('EBA.CISO-CFE.ID.H')
>>> cal_to_mex.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'}]}

For more details about the API go to the EIA's Open Data page. To find interesting data (and identifiers) browse the data sets.

Go here to see the API terms of service and here for an explanation of copyright and reuse of their data.

Notes on API behaviour

  • When providing invalid time limits for a series data request an empty data list 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/'}}

Changelog

0.1.2

  • Rename several methods for extra clarity.
  • data -> get_data
  • get -> get_updates

0.1.1

  • Started using requests session functionality to improve performance.
  • Fixed a mistake in the MultiSeries class that stopped it working entirely.
  • Added a version attribute to the package.
  • Overhaul of readme.

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.2.tar.gz (5.7 kB view hashes)

Uploaded Source

Built Distribution

eiapy-0.1.2-py2.py3-none-any.whl (5.7 kB view hashes)

Uploaded Python 2 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