frequenz-gridpool 0.8.0__tar.gz → 0.9.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.
- {frequenz_gridpool-0.8.0/src/frequenz_gridpool.egg-info → frequenz_gridpool-0.9.0}/PKG-INFO +11 -11
- frequenz_gridpool-0.9.0/RELEASE_NOTES.md +20 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/pyproject.toml +15 -13
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0/src/frequenz_gridpool.egg-info}/PKG-INFO +11 -11
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz_gridpool.egg-info/requires.txt +10 -10
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz_gridpool.egg-info/scm_file_list.json +0 -1
- frequenz_gridpool-0.9.0/src/frequenz_gridpool.egg-info/scm_version.json +8 -0
- frequenz_gridpool-0.8.0/RELEASE_NOTES.md +0 -57
- frequenz_gridpool-0.8.0/src/frequenz_gridpool.egg-info/scm_version.json +0 -8
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/LICENSE +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/MANIFEST.in +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/README.md +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/setup.cfg +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/__init__.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/_graph_generator.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/cli/__init__.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/cli/__main__.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/cli/_dump_config.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/cli/_patch_config.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/cli/_render_graph.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/config/__init__.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/config/_assets.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/config/_fields.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/config/_gridpool.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/config/_load.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/config/_microgrid.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/config/_migrations.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/config/_topology.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/conftest.py +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/py.typed +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz_gridpool.egg-info/SOURCES.txt +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz_gridpool.egg-info/dependency_links.txt +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz_gridpool.egg-info/entry_points.txt +0 -0
- {frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz_gridpool.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: frequenz-gridpool
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.0
|
|
4
4
|
Summary: High-level interface to grid pools for the Frequenz platform.
|
|
5
5
|
Author-email: Frequenz Energy-as-a-Service GmbH <floss@frequenz.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -22,7 +22,7 @@ License-File: LICENSE
|
|
|
22
22
|
Requires-Dist: marshmallow<5,>=3.18.0
|
|
23
23
|
Requires-Dist: marshmallow-dataclass<9,>=8.7.1
|
|
24
24
|
Requires-Dist: typing-extensions<5,>=4.14.1
|
|
25
|
-
Requires-Dist: frequenz-microgrid-component-graph<0.
|
|
25
|
+
Requires-Dist: frequenz-microgrid-component-graph<0.7,>=0.6.0
|
|
26
26
|
Requires-Dist: frequenz-client-assets<0.6,>=0.5.0
|
|
27
27
|
Provides-Extra: cli
|
|
28
28
|
Requires-Dist: asyncclick<9,>=8.3.0.4; extra == "cli"
|
|
@@ -32,7 +32,7 @@ Requires-Dist: frequenz-gridpool[cli]; extra == "render-graph"
|
|
|
32
32
|
Requires-Dist: matplotlib<4,>=3.7.0; extra == "render-graph"
|
|
33
33
|
Requires-Dist: networkx<4,>=3.0; extra == "render-graph"
|
|
34
34
|
Provides-Extra: dev-flake8
|
|
35
|
-
Requires-Dist: flake8==7.
|
|
35
|
+
Requires-Dist: flake8==7.4.1; extra == "dev-flake8"
|
|
36
36
|
Requires-Dist: flake8-datetimez==26.8.1; extra == "dev-flake8"
|
|
37
37
|
Requires-Dist: flake8-docstrings==1.7.0; extra == "dev-flake8"
|
|
38
38
|
Requires-Dist: flake8-pyproject==1.2.4; extra == "dev-flake8"
|
|
@@ -42,16 +42,16 @@ Provides-Extra: dev-formatting
|
|
|
42
42
|
Requires-Dist: black==26.5.1; extra == "dev-formatting"
|
|
43
43
|
Requires-Dist: isort==8.0.1; extra == "dev-formatting"
|
|
44
44
|
Provides-Extra: dev-mkdocs
|
|
45
|
-
Requires-Dist: Markdown==3.
|
|
45
|
+
Requires-Dist: Markdown==3.11; extra == "dev-mkdocs"
|
|
46
46
|
Requires-Dist: black==26.5.1; extra == "dev-mkdocs"
|
|
47
47
|
Requires-Dist: mike==2.2.0; extra == "dev-mkdocs"
|
|
48
48
|
Requires-Dist: mkdocs-gen-files==0.6.1; extra == "dev-mkdocs"
|
|
49
49
|
Requires-Dist: mkdocs-literate-nav==0.6.3; extra == "dev-mkdocs"
|
|
50
50
|
Requires-Dist: mkdocs-macros-plugin==1.5.0; extra == "dev-mkdocs"
|
|
51
51
|
Requires-Dist: mkdocs-material==9.7.7; extra == "dev-mkdocs"
|
|
52
|
-
Requires-Dist: mkdocstrings[python]==1.0.
|
|
53
|
-
Requires-Dist: mkdocstrings-python==2.0.
|
|
54
|
-
Requires-Dist: frequenz-repo-config[lib]==0.
|
|
52
|
+
Requires-Dist: mkdocstrings[python]==1.0.7; extra == "dev-mkdocs"
|
|
53
|
+
Requires-Dist: mkdocstrings-python==2.0.9; extra == "dev-mkdocs"
|
|
54
|
+
Requires-Dist: frequenz-repo-config[lib]==0.19.0; extra == "dev-mkdocs"
|
|
55
55
|
Provides-Extra: dev-mypy
|
|
56
56
|
Requires-Dist: mypy==2.3.1; extra == "dev-mypy"
|
|
57
57
|
Requires-Dist: types-networkx>=3.6.1.20251220; extra == "dev-mypy"
|
|
@@ -59,14 +59,14 @@ Requires-Dist: types-Markdown==3.10.2.20260712; extra == "dev-mypy"
|
|
|
59
59
|
Requires-Dist: frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]; extra == "dev-mypy"
|
|
60
60
|
Provides-Extra: dev-noxfile
|
|
61
61
|
Requires-Dist: nox==2026.8.17; extra == "dev-noxfile"
|
|
62
|
-
Requires-Dist: frequenz-repo-config[lib]==0.
|
|
62
|
+
Requires-Dist: frequenz-repo-config[lib]==0.19.0; extra == "dev-noxfile"
|
|
63
63
|
Provides-Extra: dev-pylint
|
|
64
64
|
Requires-Dist: frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]; extra == "dev-pylint"
|
|
65
65
|
Provides-Extra: dev-pytest
|
|
66
66
|
Requires-Dist: pytest==9.1.1; extra == "dev-pytest"
|
|
67
|
-
Requires-Dist: pylint==4.0.
|
|
68
|
-
Requires-Dist: frequenz-repo-config[extra-lint-examples]==0.
|
|
69
|
-
Requires-Dist: pytest-mock==3.
|
|
67
|
+
Requires-Dist: pylint==4.0.9; extra == "dev-pytest"
|
|
68
|
+
Requires-Dist: frequenz-repo-config[extra-lint-examples]==0.19.0; extra == "dev-pytest"
|
|
69
|
+
Requires-Dist: pytest-mock==3.16.0; extra == "dev-pytest"
|
|
70
70
|
Requires-Dist: pytest-asyncio==1.4.0; extra == "dev-pytest"
|
|
71
71
|
Requires-Dist: async-solipsism==0.9; extra == "dev-pytest"
|
|
72
72
|
Requires-Dist: frequenz-gridpool[render-graph]; extra == "dev-pytest"
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Frequenz Gridpool Library Release Notes
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
<!-- Here goes a general summary of what this release is about -->
|
|
6
|
+
|
|
7
|
+
## Upgrading
|
|
8
|
+
|
|
9
|
+
- Requires `frequenz-microgrid-component-graph` 0.6, which stops clamping the consumer
|
|
10
|
+
and producer formulas. `ComponentGraph.consumer_formula()` and
|
|
11
|
+
`ComponentGraph.producer_formula()` can now return values previously pinned
|
|
12
|
+
to zero: a negative consumer total, or a positive producer total.
|
|
13
|
+
|
|
14
|
+
## New Features
|
|
15
|
+
|
|
16
|
+
<!-- Here goes the main new features and examples or instructions on how to use them -->
|
|
17
|
+
|
|
18
|
+
## Bug Fixes
|
|
19
|
+
|
|
20
|
+
<!-- Here goes notable bug fixes that are worth a special mention or explanation -->
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
[build-system]
|
|
5
5
|
requires = [
|
|
6
6
|
"setuptools == 84.0.0",
|
|
7
|
-
"setuptools_scm[toml] == 10.
|
|
8
|
-
"frequenz-repo-config[lib] == 0.
|
|
7
|
+
"setuptools_scm[toml] == 10.3.4",
|
|
8
|
+
"frequenz-repo-config[lib] == 0.19.0",
|
|
9
9
|
]
|
|
10
10
|
build-backend = "setuptools.build_meta"
|
|
11
11
|
|
|
@@ -32,7 +32,7 @@ dependencies = [
|
|
|
32
32
|
"marshmallow >= 3.18.0, < 5",
|
|
33
33
|
"marshmallow-dataclass >= 8.7.1, < 9",
|
|
34
34
|
"typing-extensions >= 4.14.1, < 5",
|
|
35
|
-
"frequenz-microgrid-component-graph >= 0.
|
|
35
|
+
"frequenz-microgrid-component-graph >= 0.6.0, < 0.7",
|
|
36
36
|
"frequenz-client-assets >= 0.5.0, < 0.6",
|
|
37
37
|
]
|
|
38
38
|
dynamic = ["version"]
|
|
@@ -56,7 +56,7 @@ render-graph = [
|
|
|
56
56
|
]
|
|
57
57
|
|
|
58
58
|
dev-flake8 = [
|
|
59
|
-
"flake8 == 7.
|
|
59
|
+
"flake8 == 7.4.1",
|
|
60
60
|
"flake8-datetimez == 26.8.1",
|
|
61
61
|
"flake8-docstrings == 1.7.0",
|
|
62
62
|
"flake8-pyproject == 1.2.4", # For reading the flake8 config from pyproject.toml
|
|
@@ -65,16 +65,16 @@ dev-flake8 = [
|
|
|
65
65
|
]
|
|
66
66
|
dev-formatting = ["black == 26.5.1", "isort == 8.0.1"]
|
|
67
67
|
dev-mkdocs = [
|
|
68
|
-
"Markdown == 3.
|
|
68
|
+
"Markdown == 3.11",
|
|
69
69
|
"black == 26.5.1",
|
|
70
70
|
"mike == 2.2.0",
|
|
71
71
|
"mkdocs-gen-files == 0.6.1",
|
|
72
72
|
"mkdocs-literate-nav == 0.6.3",
|
|
73
73
|
"mkdocs-macros-plugin == 1.5.0",
|
|
74
74
|
"mkdocs-material == 9.7.7",
|
|
75
|
-
"mkdocstrings[python] == 1.0.
|
|
76
|
-
"mkdocstrings-python == 2.0.
|
|
77
|
-
"frequenz-repo-config[lib] == 0.
|
|
75
|
+
"mkdocstrings[python] == 1.0.7",
|
|
76
|
+
"mkdocstrings-python == 2.0.9",
|
|
77
|
+
"frequenz-repo-config[lib] == 0.19.0",
|
|
78
78
|
]
|
|
79
79
|
dev-mypy = [
|
|
80
80
|
"mypy == 2.3.1",
|
|
@@ -85,7 +85,7 @@ dev-mypy = [
|
|
|
85
85
|
]
|
|
86
86
|
dev-noxfile = [
|
|
87
87
|
"nox == 2026.8.17",
|
|
88
|
-
"frequenz-repo-config[lib] == 0.
|
|
88
|
+
"frequenz-repo-config[lib] == 0.19.0",
|
|
89
89
|
]
|
|
90
90
|
dev-pylint = [
|
|
91
91
|
# dev-pytest already defines a dependency to pylint because of the examples
|
|
@@ -94,9 +94,9 @@ dev-pylint = [
|
|
|
94
94
|
]
|
|
95
95
|
dev-pytest = [
|
|
96
96
|
"pytest == 9.1.1",
|
|
97
|
-
"pylint == 4.0.
|
|
98
|
-
"frequenz-repo-config[extra-lint-examples] == 0.
|
|
99
|
-
"pytest-mock == 3.
|
|
97
|
+
"pylint == 4.0.9", # We need this to check for the examples
|
|
98
|
+
"frequenz-repo-config[extra-lint-examples] == 0.19.0",
|
|
99
|
+
"pytest-mock == 3.16.0",
|
|
100
100
|
"pytest-asyncio == 1.4.0",
|
|
101
101
|
"async-solipsism == 0.9",
|
|
102
102
|
# The tests cover the cli package and the graph renderer. render-graph
|
|
@@ -172,13 +172,15 @@ disable = [
|
|
|
172
172
|
]
|
|
173
173
|
|
|
174
174
|
[tool.pytest.ini_options]
|
|
175
|
-
addopts = "-W=all -Werror -Wdefault::DeprecationWarning -Wdefault::PendingDeprecationWarning
|
|
175
|
+
addopts = "-W=all -Werror -Wdefault::DeprecationWarning -Wdefault::PendingDeprecationWarning"
|
|
176
176
|
testpaths = ["tests", "src"]
|
|
177
|
+
asyncio_debug = true
|
|
177
178
|
asyncio_mode = "auto"
|
|
178
179
|
asyncio_default_fixture_loop_scope = "function"
|
|
179
180
|
required_plugins = ["pytest-asyncio", "pytest-mock"]
|
|
180
181
|
|
|
181
182
|
[tool.mypy]
|
|
183
|
+
enable_error_code = ["exhaustive-match"]
|
|
182
184
|
explicit_package_bases = true
|
|
183
185
|
namespace_packages = true
|
|
184
186
|
# This option disables mypy cache, and it is sometimes useful to enable it if
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: frequenz-gridpool
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.0
|
|
4
4
|
Summary: High-level interface to grid pools for the Frequenz platform.
|
|
5
5
|
Author-email: Frequenz Energy-as-a-Service GmbH <floss@frequenz.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -22,7 +22,7 @@ License-File: LICENSE
|
|
|
22
22
|
Requires-Dist: marshmallow<5,>=3.18.0
|
|
23
23
|
Requires-Dist: marshmallow-dataclass<9,>=8.7.1
|
|
24
24
|
Requires-Dist: typing-extensions<5,>=4.14.1
|
|
25
|
-
Requires-Dist: frequenz-microgrid-component-graph<0.
|
|
25
|
+
Requires-Dist: frequenz-microgrid-component-graph<0.7,>=0.6.0
|
|
26
26
|
Requires-Dist: frequenz-client-assets<0.6,>=0.5.0
|
|
27
27
|
Provides-Extra: cli
|
|
28
28
|
Requires-Dist: asyncclick<9,>=8.3.0.4; extra == "cli"
|
|
@@ -32,7 +32,7 @@ Requires-Dist: frequenz-gridpool[cli]; extra == "render-graph"
|
|
|
32
32
|
Requires-Dist: matplotlib<4,>=3.7.0; extra == "render-graph"
|
|
33
33
|
Requires-Dist: networkx<4,>=3.0; extra == "render-graph"
|
|
34
34
|
Provides-Extra: dev-flake8
|
|
35
|
-
Requires-Dist: flake8==7.
|
|
35
|
+
Requires-Dist: flake8==7.4.1; extra == "dev-flake8"
|
|
36
36
|
Requires-Dist: flake8-datetimez==26.8.1; extra == "dev-flake8"
|
|
37
37
|
Requires-Dist: flake8-docstrings==1.7.0; extra == "dev-flake8"
|
|
38
38
|
Requires-Dist: flake8-pyproject==1.2.4; extra == "dev-flake8"
|
|
@@ -42,16 +42,16 @@ Provides-Extra: dev-formatting
|
|
|
42
42
|
Requires-Dist: black==26.5.1; extra == "dev-formatting"
|
|
43
43
|
Requires-Dist: isort==8.0.1; extra == "dev-formatting"
|
|
44
44
|
Provides-Extra: dev-mkdocs
|
|
45
|
-
Requires-Dist: Markdown==3.
|
|
45
|
+
Requires-Dist: Markdown==3.11; extra == "dev-mkdocs"
|
|
46
46
|
Requires-Dist: black==26.5.1; extra == "dev-mkdocs"
|
|
47
47
|
Requires-Dist: mike==2.2.0; extra == "dev-mkdocs"
|
|
48
48
|
Requires-Dist: mkdocs-gen-files==0.6.1; extra == "dev-mkdocs"
|
|
49
49
|
Requires-Dist: mkdocs-literate-nav==0.6.3; extra == "dev-mkdocs"
|
|
50
50
|
Requires-Dist: mkdocs-macros-plugin==1.5.0; extra == "dev-mkdocs"
|
|
51
51
|
Requires-Dist: mkdocs-material==9.7.7; extra == "dev-mkdocs"
|
|
52
|
-
Requires-Dist: mkdocstrings[python]==1.0.
|
|
53
|
-
Requires-Dist: mkdocstrings-python==2.0.
|
|
54
|
-
Requires-Dist: frequenz-repo-config[lib]==0.
|
|
52
|
+
Requires-Dist: mkdocstrings[python]==1.0.7; extra == "dev-mkdocs"
|
|
53
|
+
Requires-Dist: mkdocstrings-python==2.0.9; extra == "dev-mkdocs"
|
|
54
|
+
Requires-Dist: frequenz-repo-config[lib]==0.19.0; extra == "dev-mkdocs"
|
|
55
55
|
Provides-Extra: dev-mypy
|
|
56
56
|
Requires-Dist: mypy==2.3.1; extra == "dev-mypy"
|
|
57
57
|
Requires-Dist: types-networkx>=3.6.1.20251220; extra == "dev-mypy"
|
|
@@ -59,14 +59,14 @@ Requires-Dist: types-Markdown==3.10.2.20260712; extra == "dev-mypy"
|
|
|
59
59
|
Requires-Dist: frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]; extra == "dev-mypy"
|
|
60
60
|
Provides-Extra: dev-noxfile
|
|
61
61
|
Requires-Dist: nox==2026.8.17; extra == "dev-noxfile"
|
|
62
|
-
Requires-Dist: frequenz-repo-config[lib]==0.
|
|
62
|
+
Requires-Dist: frequenz-repo-config[lib]==0.19.0; extra == "dev-noxfile"
|
|
63
63
|
Provides-Extra: dev-pylint
|
|
64
64
|
Requires-Dist: frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]; extra == "dev-pylint"
|
|
65
65
|
Provides-Extra: dev-pytest
|
|
66
66
|
Requires-Dist: pytest==9.1.1; extra == "dev-pytest"
|
|
67
|
-
Requires-Dist: pylint==4.0.
|
|
68
|
-
Requires-Dist: frequenz-repo-config[extra-lint-examples]==0.
|
|
69
|
-
Requires-Dist: pytest-mock==3.
|
|
67
|
+
Requires-Dist: pylint==4.0.9; extra == "dev-pytest"
|
|
68
|
+
Requires-Dist: frequenz-repo-config[extra-lint-examples]==0.19.0; extra == "dev-pytest"
|
|
69
|
+
Requires-Dist: pytest-mock==3.16.0; extra == "dev-pytest"
|
|
70
70
|
Requires-Dist: pytest-asyncio==1.4.0; extra == "dev-pytest"
|
|
71
71
|
Requires-Dist: async-solipsism==0.9; extra == "dev-pytest"
|
|
72
72
|
Requires-Dist: frequenz-gridpool[render-graph]; extra == "dev-pytest"
|
{frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz_gridpool.egg-info/requires.txt
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
marshmallow<5,>=3.18.0
|
|
2
2
|
marshmallow-dataclass<9,>=8.7.1
|
|
3
3
|
typing-extensions<5,>=4.14.1
|
|
4
|
-
frequenz-microgrid-component-graph<0.
|
|
4
|
+
frequenz-microgrid-component-graph<0.7,>=0.6.0
|
|
5
5
|
frequenz-client-assets<0.6,>=0.5.0
|
|
6
6
|
|
|
7
7
|
[cli]
|
|
@@ -12,7 +12,7 @@ tomlkit<1,>=0.13.0
|
|
|
12
12
|
frequenz-gridpool[dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest,render-graph]
|
|
13
13
|
|
|
14
14
|
[dev-flake8]
|
|
15
|
-
flake8==7.
|
|
15
|
+
flake8==7.4.1
|
|
16
16
|
flake8-datetimez==26.8.1
|
|
17
17
|
flake8-docstrings==1.7.0
|
|
18
18
|
flake8-pyproject==1.2.4
|
|
@@ -24,16 +24,16 @@ black==26.5.1
|
|
|
24
24
|
isort==8.0.1
|
|
25
25
|
|
|
26
26
|
[dev-mkdocs]
|
|
27
|
-
Markdown==3.
|
|
27
|
+
Markdown==3.11
|
|
28
28
|
black==26.5.1
|
|
29
29
|
mike==2.2.0
|
|
30
30
|
mkdocs-gen-files==0.6.1
|
|
31
31
|
mkdocs-literate-nav==0.6.3
|
|
32
32
|
mkdocs-macros-plugin==1.5.0
|
|
33
33
|
mkdocs-material==9.7.7
|
|
34
|
-
mkdocstrings[python]==1.0.
|
|
35
|
-
mkdocstrings-python==2.0.
|
|
36
|
-
frequenz-repo-config[lib]==0.
|
|
34
|
+
mkdocstrings[python]==1.0.7
|
|
35
|
+
mkdocstrings-python==2.0.9
|
|
36
|
+
frequenz-repo-config[lib]==0.19.0
|
|
37
37
|
|
|
38
38
|
[dev-mypy]
|
|
39
39
|
mypy==2.3.1
|
|
@@ -43,16 +43,16 @@ frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]
|
|
|
43
43
|
|
|
44
44
|
[dev-noxfile]
|
|
45
45
|
nox==2026.8.17
|
|
46
|
-
frequenz-repo-config[lib]==0.
|
|
46
|
+
frequenz-repo-config[lib]==0.19.0
|
|
47
47
|
|
|
48
48
|
[dev-pylint]
|
|
49
49
|
frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]
|
|
50
50
|
|
|
51
51
|
[dev-pytest]
|
|
52
52
|
pytest==9.1.1
|
|
53
|
-
pylint==4.0.
|
|
54
|
-
frequenz-repo-config[extra-lint-examples]==0.
|
|
55
|
-
pytest-mock==3.
|
|
53
|
+
pylint==4.0.9
|
|
54
|
+
frequenz-repo-config[extra-lint-examples]==0.19.0
|
|
55
|
+
pytest-mock==3.16.0
|
|
56
56
|
pytest-asyncio==1.4.0
|
|
57
57
|
async-solipsism==0.9
|
|
58
58
|
frequenz-gridpool[render-graph]
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
".github/workflows/black-migration.yaml",
|
|
14
14
|
".github/workflows/ci-pr.yaml",
|
|
15
15
|
".github/workflows/ci.yaml",
|
|
16
|
-
".github/workflows/dco-merge-queue.yml",
|
|
17
16
|
".github/workflows/isort-migration.yaml",
|
|
18
17
|
".github/workflows/labeler.yml",
|
|
19
18
|
".github/workflows/release-notes-check.yml",
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# Frequenz Gridpool Library Release Notes
|
|
2
|
-
|
|
3
|
-
## Summary
|
|
4
|
-
|
|
5
|
-
This release rounds out `gridpool-cli` for the `assets` config layout and adds
|
|
6
|
-
gridpool enterprise ownership to the config model. The CLI can now generate,
|
|
7
|
-
validate, patch, and query merged config files.
|
|
8
|
-
|
|
9
|
-
## Upgrading
|
|
10
|
-
|
|
11
|
-
- The legacy config layouts are no longer migrated on load: top-level microgrid
|
|
12
|
-
IDs and `meta`-nested microgrid fields are gone. A file with no `assets` table
|
|
13
|
-
now loads as empty and contributes nothing to a merge, rather than having its
|
|
14
|
-
top-level keys read as microgrid IDs. This lets a mixed list of files (some
|
|
15
|
-
carrying an `[app]` table for their own config, some an `assets` table) be
|
|
16
|
-
passed to `AssetsConfig.load_from_files` / `load_configs`, which reads only the
|
|
17
|
-
`assets`-bearing ones. Rebuild any legacy-layout files with `generate-config`.
|
|
18
|
-
|
|
19
|
-
- `generate-config` now writes the `assets.microgrids` layout and stamps
|
|
20
|
-
`assets.version`, instead of the legacy layout. Regenerate configs to get the
|
|
21
|
-
current format; generated files then load back without a migration.
|
|
22
|
-
|
|
23
|
-
- `generate-config --inplace` refuses legacy-layout files (top-level or
|
|
24
|
-
`meta`-nested), which it would duplicate rather than edit. Rebuild those from
|
|
25
|
-
scratch.
|
|
26
|
-
|
|
27
|
-
## New Features
|
|
28
|
-
|
|
29
|
-
- `gridpool-cli validate <files>` checks config files offline and exits
|
|
30
|
-
non-zero on the first error, to gate config-repo CI. Each file must be valid
|
|
31
|
-
on its own, so a record names its own key and required fields; the files are
|
|
32
|
-
then checked merged, for the cross-record checks.
|
|
33
|
-
|
|
34
|
-
- `gridpool-cli` accepts `FREQUENZ_API_KEY` and `FREQUENZ_API_SECRET` as a
|
|
35
|
-
fallback pair for `ASSETS_API_AUTH_KEY` and `ASSETS_API_SIGN_SECRET`.
|
|
36
|
-
|
|
37
|
-
- Gridpools are described under `assets.gridpools`, each entry naming the
|
|
38
|
-
enterprise that owns the gridpool. `AssetsConfig.find_enterprise(gridpool_id)`
|
|
39
|
-
returns the configured owner.
|
|
40
|
-
`gridpool-cli find-enterprise <gridpool_id> <files>` prints it from the config.
|
|
41
|
-
`AssetsConfig.check` enforces the one-enterprise-per-gridpool invariant: a
|
|
42
|
-
gridpool's microgrids may not disagree on it, and a declared enterprise must
|
|
43
|
-
match the inferred one.
|
|
44
|
-
|
|
45
|
-
- A config derived from the Assets API now carries each microgrid's
|
|
46
|
-
`enterprise_id`.
|
|
47
|
-
|
|
48
|
-
- `generate-config --inplace` refreshes managed values while preserving
|
|
49
|
-
formatting; `--fill-missing` only adds absent values. Generated patches are
|
|
50
|
-
validated before writing.
|
|
51
|
-
|
|
52
|
-
## Bug Fixes
|
|
53
|
-
|
|
54
|
-
- Config files with validity periods now load under marshmallow 3, not only
|
|
55
|
-
marshmallow 4. `tomllib` yields native `datetime` objects, which marshmallow
|
|
56
|
-
3's `DateTime` field rejected. `marshmallow` is now a direct dependency so the
|
|
57
|
-
minimum-version test exercises this path.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/_graph_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/cli/_dump_config.py
RENAMED
|
File without changes
|
{frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/cli/_patch_config.py
RENAMED
|
File without changes
|
{frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/cli/_render_graph.py
RENAMED
|
File without changes
|
{frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/config/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/config/_gridpool.py
RENAMED
|
File without changes
|
|
File without changes
|
{frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/config/_microgrid.py
RENAMED
|
File without changes
|
{frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/config/_migrations.py
RENAMED
|
File without changes
|
{frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz/gridpool/config/_topology.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz_gridpool.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz_gridpool.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{frequenz_gridpool-0.8.0 → frequenz_gridpool-0.9.0}/src/frequenz_gridpool.egg-info/top_level.txt
RENAMED
|
File without changes
|