Energy Trading API Wrappers
This package aims to build Pandas-based API wrappers for Energy Markets Data coming from publicly available sources.
The results are returned in the Pandas dataFrame format unless specified otherwise.
disclaimer While readily useable, this API library is under constant in development. The reliability of the data from the API list depends on the sources.
Enjoy!
Supported APIs:
Australia
Singapore
Japan
Global
Installation
To install, use pip
:
$ pip install energy-trading-api
Requirements
Usage
AUSTRALIA
Western Australian Wholesale Electricity Market (WEM)
from energy_trading_api import australiaWEM
df = australiaWEM.loadForecast()
df1 = australiaWEM.demandSideProgrammePrices(year="2019")
WEM Data API Documentation
ACCC LNG Netback Price Series
from energy_trading_api import australiaLNG
netback,netforward,merged = australiaLNG.acccNetbackPrice()
print(netback.head())
ACCC LNG Netback Price Series Documentation
Australian REC Register
from energy_trading_api import australiaREC
df = australiaREC.recDay("2019-01-01")
REC Registry API Documentation
AEMC Gas Scheme Register
from energy_trading_api import australiaNG
df = australiaNG.pipelineRegister()
df1 = australiaNG.pipelineRegisterSearch(state="NSW",operator="APA Group")
AEMC Gas Scheme Register Website
Western Australia Gas Bulletin Board
from energy_trading_api import wagbb
wagbb.capacityOutlook()
WAGBB API Documentation
Australian Bureau of Meteorology
Retrieves BOM records into a pandas dataframe, given Product and location.
For instance, Bankstown time series data has a product code of IDN60901.94765.
To return Air Temp, Apparent Temp Rel Humidity, Cloud data in a pandas df, simply do:
from energy_trading_api import australiaBOM
df1 = australiaBOM.airTemp('IDN60901.94765')
df2 = australiaBOM.apparentTemp('IDN60901.94765')
df2 = australiaBOM.relativeHumidity('IDN60901.94765')
df3 = australiaBOM.cloud('IDN60901.94765')
You can also access the entire dataset by doing:
from energy_trading_api import australiaBOM
df, df_header = australiaBOM.__call_api_BOM('IDN60901.94765')
print(df['dewpt'].to_string())
Bankstown BOM Data Example
SINGAPORE
Singapore National Electricity Market (NEMS)
from energy_trading_api import singaporeNEMS
df = singaporeNEMS.singaporeUSEP(date="2019-01-01")
JAPAN
Japan Electric Power Exchange
from energy_trading_api import jepx
df = jepx.spotLatest()
df = jepx.spotLatest("20190101")
Kyushu Electric Power Company (Kyuden)
from energy_trading_api import japanElectricity as je
df = je.kyushuElectricdemandJapanese()
df1 = je.kyushuElectricdemandJapanese(day="20190101")
Chubu Electric Power Company (Chuden)
from energy_trading_api import japanElectricity as je
df = je.chubuElectricdemandJapanese()
df1 = je.chubuElectricDemandJapaneseRange(begtime="20190101",endtime="20190101")
Tokyo Electric Power Company (TEPCO)
from energy_trading_api import japanElectricity as je
df = je.tepcoElectricDemandHistoricalJapanese("2018")
df1 = je.tepcoElectricDemandCurrentJapanese()
CHUGOKU Electric Power Company (Chugoku Denki)
from energy_trading_api import japanElectricity as je
df = je.chugokuElectricDemandJapanese("2018")
FEPC - JAPAN Federation of Electric Power Company
from energy_trading_api import japanFEPC as je
df = je.demandByIndustry()
GLOBAL
U.S. Energy Information Administration
from energy_trading_api import eia_api
df = eia_api.ngAustraliaProduction("<YOUR-API-KEY-HERE>")
EIA-Python Documentation
EIA API Documentation