aemo-mdff-reader 2.2.1__tar.gz → 3.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/CHANGELOG.md +11 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/CONTRIBUTING.md +6 -6
- {aemo_mdff_reader-2.2.1/aemo_mdff_reader.egg-info → aemo_mdff_reader-3.0.0}/PKG-INFO +4 -5
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/README.md +2 -2
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader/__init__.py +1 -1
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0/aemo_mdff_reader.egg-info}/PKG-INFO +4 -5
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/pyproject.toml +6 -7
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/LICENSE +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/MANIFEST.in +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader/aggregate.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader/cli.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader/parser.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader/py.typed +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader/reader.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader/spec.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader/sql/__init__.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader/sql/query.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader/sql/store.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader/types.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader.egg-info/SOURCES.txt +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader.egg-info/dependency_links.txt +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader.egg-info/entry_points.txt +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader.egg-info/requires.txt +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader.egg-info/top_level.txt +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/benchmarks/bench_parser.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/setup.cfg +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/setup.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/__init__.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/fixtures/generate.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/fixtures/sample_nem12.csv +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/fixtures/sample_nem13.csv +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/test_cli.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/test_datetime_formats.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/test_edge_cases.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/test_ergonomics.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/test_events_b2b.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/test_large_files.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/test_nem13.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/test_parser.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/test_spec.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/test_sql.py +0 -0
- {aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/tests/test_validation.py +0 -0
|
@@ -4,6 +4,17 @@ All notable changes are documented here. The format is based on
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the
|
|
5
5
|
project follows [Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [3.0.0](https://github.com/Utilified/aemo-mdff-reader/compare/v2.2.1...v3.0.0) (2026-07-16)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### ⚠ BREAKING CHANGES
|
|
11
|
+
|
|
12
|
+
* minimum Python version is now 3.12. Users on 3.11 should pin to aemo-mdff-reader<2.3.
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* drop Python 3.11 support ([#70](https://github.com/Utilified/aemo-mdff-reader/issues/70)) ([383ff6d](https://github.com/Utilified/aemo-mdff-reader/commit/383ff6de7430372a8a67bd1b1a8271aa849f53eb))
|
|
17
|
+
|
|
7
18
|
## [2.2.1](https://github.com/Utilified/aemo-mdff-reader/compare/v2.2.0...v2.2.1) (2026-05-10)
|
|
8
19
|
|
|
9
20
|
|
|
@@ -36,16 +36,16 @@ To regenerate manually after editing them or `pyproject.toml`:
|
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
38
|
pip install uv
|
|
39
|
-
uv pip compile --generate-hashes --strip-extras --python-version 3.
|
|
40
|
-
uv pip compile --generate-hashes --strip-extras --python-version 3.
|
|
41
|
-
uv pip compile --generate-hashes --strip-extras --python-version 3.
|
|
42
|
-
uv pip compile --generate-hashes --strip-extras --python-version 3.
|
|
39
|
+
uv pip compile --generate-hashes --strip-extras --python-version 3.12 --output-file requirements/dev.txt requirements/dev.in
|
|
40
|
+
uv pip compile --generate-hashes --strip-extras --python-version 3.12 --output-file requirements/lint.txt requirements/lint.in
|
|
41
|
+
uv pip compile --generate-hashes --strip-extras --python-version 3.12 --output-file requirements/build.txt requirements/build.in
|
|
42
|
+
uv pip compile --generate-hashes --strip-extras --python-version 3.12 --output-file requirements/audit.txt requirements/audit.in
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
`uv` is used over `pip-tools` because its resolver handles the
|
|
46
|
-
3.
|
|
46
|
+
3.12+ matrix without back-tracking failures, and it emits hashes
|
|
47
47
|
for every wheel of each pinned version (so a single lock file works
|
|
48
|
-
across the whole CI matrix). The `--python-version 3.
|
|
48
|
+
across the whole CI matrix). The `--python-version 3.12` flag pins
|
|
49
49
|
resolution to the lowest supported interpreter so packages whose
|
|
50
50
|
latest releases dropped support for it are correctly stepped back
|
|
51
51
|
to a compatible version.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aemo-mdff-reader
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0
|
|
4
4
|
Summary: Fast streaming reader for AEMO MDFF NEM12 / NEM13 metering files. Zero required dependencies.
|
|
5
5
|
Author: Utilified Holdings Pty Ltd
|
|
6
6
|
License-Expression: MIT
|
|
@@ -15,13 +15,12 @@ Classifier: Intended Audience :: Information Technology
|
|
|
15
15
|
Classifier: Operating System :: OS Independent
|
|
16
16
|
Classifier: Programming Language :: Python :: 3
|
|
17
17
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
21
20
|
Classifier: Topic :: Office/Business :: Financial
|
|
22
21
|
Classifier: Topic :: Scientific/Engineering
|
|
23
22
|
Classifier: Topic :: Utilities
|
|
24
|
-
Requires-Python: >=3.
|
|
23
|
+
Requires-Python: >=3.12
|
|
25
24
|
Description-Content-Type: text/markdown
|
|
26
25
|
License-File: LICENSE
|
|
27
26
|
Provides-Extra: pandas
|
|
@@ -47,7 +46,7 @@ Dynamic: license-file
|
|
|
47
46
|
|
|
48
47
|
[](https://github.com/Utilified/aemo-mdff-reader/actions/workflows/ci.yml)
|
|
49
48
|
[](https://pypi.org/project/aemo-mdff-reader/)
|
|
50
|
-
[](https://pypi.org/project/aemo-mdff-reader/)
|
|
51
50
|
[](LICENSE)
|
|
52
51
|
[](https://github.com/Utilified/aemo-mdff-reader/actions/workflows/codeql.yml)
|
|
53
52
|
[](https://scorecard.dev/viewer/?uri=github.com/Utilified/aemo-mdff-reader)
|
|
@@ -237,7 +236,7 @@ pip install -e .[dev]
|
|
|
237
236
|
pytest
|
|
238
237
|
```
|
|
239
238
|
|
|
240
|
-
CI runs ruff, mypy --strict, the test matrix on Python 3.
|
|
239
|
+
CI runs ruff, mypy --strict, the test matrix on Python 3.12 /
|
|
241
240
|
Linux / macOS / Windows, `pip-audit`, `bandit`, CodeQL, OpenSSF
|
|
242
241
|
Scorecard, and a wheel-install smoke test.
|
|
243
242
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/Utilified/aemo-mdff-reader/actions/workflows/ci.yml)
|
|
4
4
|
[](https://pypi.org/project/aemo-mdff-reader/)
|
|
5
|
-
[](https://pypi.org/project/aemo-mdff-reader/)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](https://github.com/Utilified/aemo-mdff-reader/actions/workflows/codeql.yml)
|
|
8
8
|
[](https://scorecard.dev/viewer/?uri=github.com/Utilified/aemo-mdff-reader)
|
|
@@ -192,7 +192,7 @@ pip install -e .[dev]
|
|
|
192
192
|
pytest
|
|
193
193
|
```
|
|
194
194
|
|
|
195
|
-
CI runs ruff, mypy --strict, the test matrix on Python 3.
|
|
195
|
+
CI runs ruff, mypy --strict, the test matrix on Python 3.12 /
|
|
196
196
|
Linux / macOS / Windows, `pip-audit`, `bandit`, CodeQL, OpenSSF
|
|
197
197
|
Scorecard, and a wheel-install smoke test.
|
|
198
198
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aemo-mdff-reader
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0
|
|
4
4
|
Summary: Fast streaming reader for AEMO MDFF NEM12 / NEM13 metering files. Zero required dependencies.
|
|
5
5
|
Author: Utilified Holdings Pty Ltd
|
|
6
6
|
License-Expression: MIT
|
|
@@ -15,13 +15,12 @@ Classifier: Intended Audience :: Information Technology
|
|
|
15
15
|
Classifier: Operating System :: OS Independent
|
|
16
16
|
Classifier: Programming Language :: Python :: 3
|
|
17
17
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
21
20
|
Classifier: Topic :: Office/Business :: Financial
|
|
22
21
|
Classifier: Topic :: Scientific/Engineering
|
|
23
22
|
Classifier: Topic :: Utilities
|
|
24
|
-
Requires-Python: >=3.
|
|
23
|
+
Requires-Python: >=3.12
|
|
25
24
|
Description-Content-Type: text/markdown
|
|
26
25
|
License-File: LICENSE
|
|
27
26
|
Provides-Extra: pandas
|
|
@@ -47,7 +46,7 @@ Dynamic: license-file
|
|
|
47
46
|
|
|
48
47
|
[](https://github.com/Utilified/aemo-mdff-reader/actions/workflows/ci.yml)
|
|
49
48
|
[](https://pypi.org/project/aemo-mdff-reader/)
|
|
50
|
-
[](https://pypi.org/project/aemo-mdff-reader/)
|
|
51
50
|
[](LICENSE)
|
|
52
51
|
[](https://github.com/Utilified/aemo-mdff-reader/actions/workflows/codeql.yml)
|
|
53
52
|
[](https://scorecard.dev/viewer/?uri=github.com/Utilified/aemo-mdff-reader)
|
|
@@ -237,7 +236,7 @@ pip install -e .[dev]
|
|
|
237
236
|
pytest
|
|
238
237
|
```
|
|
239
238
|
|
|
240
|
-
CI runs ruff, mypy --strict, the test matrix on Python 3.
|
|
239
|
+
CI runs ruff, mypy --strict, the test matrix on Python 3.12 /
|
|
241
240
|
Linux / macOS / Windows, `pip-audit`, `bandit`, CodeQL, OpenSSF
|
|
242
241
|
Scorecard, and a wheel-install smoke test.
|
|
243
242
|
|
|
@@ -11,15 +11,15 @@ build-backend = "setuptools.build_meta"
|
|
|
11
11
|
# Pillow / PIL precedent (``pip install Pillow`` → ``import PIL``)
|
|
12
12
|
# applies here.
|
|
13
13
|
name = "aemo-mdff-reader"
|
|
14
|
-
version = "
|
|
14
|
+
version = "3.0.0"
|
|
15
15
|
description = "Fast streaming reader for AEMO MDFF NEM12 / NEM13 metering files. Zero required dependencies."
|
|
16
16
|
readme = "README.md"
|
|
17
17
|
license = "MIT"
|
|
18
18
|
license-files = ["LICENSE"]
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
requires-python = ">=3.
|
|
19
|
+
# The floor tracks the upstream pandas/numpy/pyarrow release trains used
|
|
20
|
+
# by the dev extras: numpy 2.5 and pandas 3.0 are 3.12+ only, so pinning
|
|
21
|
+
# to 3.11 held the lock files back on superseded releases.
|
|
22
|
+
requires-python = ">=3.12"
|
|
23
23
|
authors = [
|
|
24
24
|
{ name = "Utilified Holdings Pty Ltd" },
|
|
25
25
|
]
|
|
@@ -31,7 +31,6 @@ classifiers = [
|
|
|
31
31
|
"Operating System :: OS Independent",
|
|
32
32
|
"Programming Language :: Python :: 3",
|
|
33
33
|
"Programming Language :: Python :: 3 :: Only",
|
|
34
|
-
"Programming Language :: Python :: 3.11",
|
|
35
34
|
"Programming Language :: Python :: 3.12",
|
|
36
35
|
"Programming Language :: Python :: 3.13",
|
|
37
36
|
"Topic :: Office/Business :: Financial",
|
|
@@ -125,7 +124,7 @@ ignore = [
|
|
|
125
124
|
"aemo_mdff_reader/sql/*" = ["F401", "F403", "F405", "UP031"]
|
|
126
125
|
|
|
127
126
|
[tool.mypy]
|
|
128
|
-
python_version = "3.
|
|
127
|
+
python_version = "3.12"
|
|
129
128
|
strict = true
|
|
130
129
|
files = ["aemo_mdff_reader"]
|
|
131
130
|
# Optional dependencies that don't ship type stubs.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{aemo_mdff_reader-2.2.1 → aemo_mdff_reader-3.0.0}/aemo_mdff_reader.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|