NEMDB is a Python package that provides a set of utilities to process and manage data from the Australian National Electricity Market (NEM). It simplifies the process of fetching, storing, and accessing NEMWEB data, making it easier for researchers, analysts, and developers to work with this valuable dataset.
- Easy Data Fetching: NEMDB provides a simple command-line interface (CLI) to fetch data from NEMWEB for a specified date range.
- Flexible Storage: The fetched data can be stored in a local directory or any other location supported by
fsspec. - Selective Table Loading: Users can choose to load all available tables or select specific tables to populate.
- Python 3.12 or higher
- uv
-
Clone the repository:
git clone https://github.com/ymiftah/nemdb.git
-
Install the package with
uv:uv pip install -e .
The primary way to interact with NEMDB is through its CLI. The populate command allows you to fetch and store NEMWEB data.
To see a list of all available options for the populate command, run:
uv run populate --helpTo populate all available tables for a specific date range, run the following command:
uv run populate --location ./nemweb_data --date_range 2024-01-01->2024-03-31This command will fetch all NEMWEB data from January 1, 2024, to March 31, 2024, and store it in the ./nemweb_data directory.
To populate a single table, use the --table option. For example, to populate the DISPATCHREGIONSUM table, run:
uv run populate --location ./nemweb_data --date_range 2024-01-01->2024-03-31 --table DISPATCHREGIONSUMNEMDB provides access to a wide range of tables from the NEMWEB dataset.
For a full list of available tables, please refer to the AEMO NEMWEB documentation.
This project is licensed under the terms of the MIT license. See the LICENSE file for more details. The data itself is subject to AEMO's Privacy and Legal Notice