Simple CLI for downloading data for Australia's NEM from AEMO.
Project description
nem-data
A simple & opinionated Python command line tool to access Australian National Energy Market (NEM) data provided by the Australian Energy Market Operator (AEMO). It features:
- access to the NEMDE dataset as well as the predispatch, unit-scada, trading-price, demand and interconnectors tables from MMSDM,
- a cache to not re-download data that already exists in
~/nem-data/data, - adds
interval-startandinterval-endcolumns.
It is designed for use by researchers & data scientists - this tool supports my personal research work. It is not designed for production use - see NEMOSIS for a production grade package.
See A Hackers Guide to AEMO & NEM Data for more context on the data provided by AEMO.
Setup
$ pip install nemdata
Use
CLI
$ nemdata --help
Usage: nemdata [OPTIONS]
Downloads NEM data from AEMO.
Options:
-t, --table TEXT Available tables: nemde, dispatch-price,
predispatch, unit-scada, trading-price, demand,
interconnectors, p5min, predispatch-sensitivities,
predispatch-demand.
-s, --start TEXT Start date (YYYY-MM or YYYY-MM-DD for NEMDE).
-e, --end TEXT End date (incusive) (YYYY-MM or YYYY-MM-DD for
NEMDE).
--dry-run / --no-dry-run Whether to save downloaded data to disk.
--help Show this message and exit.
Download NEMDE data for the first three days in January 2018:
$ nemdata -t nemde --start 2018-01-01 --end 2018-01-03
Download trading price data from MMSDM for January to March 2018:
$ nemdata -t trading-price -s 2018-01 -e 2018-03
Python
Download trading price data from MMSDM for January to Feburary 2020:
import nemdata
data = nemdata.download(start="2020-01", end="2020-02", table="trading-price")
Load this data back into a pandas DataFrame:
data = nemdata.load()['trading-price']
At this point, data will have the trading price for all regions.
Data
Downloaded into into $HOME/nem-data/data/:
$ nemdata -t trading-price -s 2020-01 -e 2020-02
$ tree ~/nem-data
/Users/adam/nem-data
└── data
└── trading-price
├── 2020-01
│ ├── PUBLIC_DVD_TRADINGPRICE_202001010000.CSV
│ ├── clean.csv
│ ├── clean.parquet
│ └── raw.zip
└── 2020-02
├── PUBLIC_DVD_TRADINGPRICE_202002010000.CSV
├── clean.csv
├── clean.parquet
└── raw.zip
A few things happen during data processing:
- rows of the raw CSV are removed to create a rectangular, single table CSV,
interval-startandinterval-endtimezone aware datetime columns are added,- when using
nemdata.loader.loaderfortrading-price, all data is resampled to a 5 minute frequency (both before and after the 30 to 5 minute settlement interval change).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nemdata-0.3.7.tar.gz.
File metadata
- Download URL: nemdata-0.3.7.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.10.6 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6200b9b9e609b171a1216f435303c40e0d792956a9b183d2778574ab80a8402
|
|
| MD5 |
bb5feba3086c0474ae0ea1031f377d5b
|
|
| BLAKE2b-256 |
d5a3bcdac4efeca036781df84d4445e561dfbb279be3c6d57a07448f739ec471
|
File details
Details for the file nemdata-0.3.7-py3-none-any.whl.
File metadata
- Download URL: nemdata-0.3.7-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.10.6 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ea6af34718354fd8c4dd0d05a7a68b50d859955641d2bcce35d4422d2812248
|
|
| MD5 |
df67ceb314b382504cb539a5820bb1e5
|
|
| BLAKE2b-256 |
0d09fe3ad4b6009f2c30af1b47cbdd62f34d834a3308e58431a44ff18113bc93
|