Metadata-Version: 2.4
Name: nemreport
Version: 0.1.0
Summary: Generate energy report from NEM meter data files
Keywords: energy,NEM12,NEM13
Author-email: Alex Guinman <alex@guinman.id.au>
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
License-File: LICENSE
Requires-Dist: calplot>=0.1.7.5
Requires-Dist: jinja2>=3.1.6
Requires-Dist: nemreader>=1.0.0
Requires-Dist: pandas>=3.0.2
Requires-Dist: great-tables>=0.21.0
Requires-Dist: polars>=1.40.0
Requires-Dist: plotly>=6.7.0
Requires-Dist: pydantic>=2.13.3
Requires-Dist: sqlite_utils>=3.39
Requires-Dist: typer>=0.24.1
Requires-Dist: pytest>=2.7.3 ; extra == "test"
Requires-Dist: pytest-cov>=7.1.0 ; extra == "test"
Project-URL: Source, https://github.com/aguinane/energy-report
Provides-Extra: test

# nem-report

[![PyPI version](https://img.shields.io/pypi/pyversions/nemreport)][pypi]
[![PyPi downloads](https://img.shields.io/pypi/dw/nemreport)][pypi]

[pypi]: https://pypi.org/project/nemreport/

Generate energy report from NEM meter data files

## Energy Data

First, request your energy data in NEM12 format from your DNSP (eg. [Ergon][1] or [Energex][2]).

[1]: https://www.ergon.com.au/network/connections/metering/accessing-your-metering-data
[2]: https://www.energex.com.au/home/our-services/meters/accessing-your-metering-data

## Usage

Install python and then this library with:

```sh
python -m pip install nemreport
```

Copy your NEM12 file(s) into a `data/` folder and then run:

```sh
python -m nemreport build
```

If you add any files to the folder after the first time you run it you'll need to run the following to refresh the data:

```sh
python -m nemreport update-db
```

## Output

This will then open a report with analysis of your data in a browser.

![](screenshot.png)

