frequenz-gridpool 0.4.0__tar.gz → 0.4.2__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.4.0/src/frequenz_gridpool.egg-info → frequenz_gridpool-0.4.2}/PKG-INFO +19 -19
- frequenz_gridpool-0.4.2/RELEASE_NOTES.md +17 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/pyproject.toml +21 -20
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz/gridpool/_graph_generator.py +25 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz/gridpool/_microgrid_config.py +12 -16
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2/src/frequenz_gridpool.egg-info}/PKG-INFO +19 -19
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz_gridpool.egg-info/requires.txt +17 -16
- frequenz_gridpool-0.4.0/RELEASE_NOTES.md +0 -20
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/LICENSE +0 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/MANIFEST.in +0 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/README.md +0 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/setup.cfg +0 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz/gridpool/__init__.py +0 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz/gridpool/cli/__init__.py +0 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz/gridpool/cli/__main__.py +0 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz/gridpool/cli/_render_graph.py +0 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz/gridpool/conftest.py +0 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz/gridpool/py.typed +0 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz_gridpool.egg-info/SOURCES.txt +0 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz_gridpool.egg-info/dependency_links.txt +0 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz_gridpool.egg-info/entry_points.txt +0 -0
- {frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz_gridpool.egg-info/top_level.txt +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: frequenz-gridpool
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.2
|
|
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
|
-
License: MIT
|
|
6
|
+
License-Expression: MIT
|
|
7
7
|
Project-URL: Documentation, https://frequenz-floss.github.io/frequenz-gridpool-python/
|
|
8
8
|
Project-URL: Changelog, https://github.com/frequenz-floss/frequenz-gridpool-python/releases
|
|
9
9
|
Project-URL: Issues, https://github.com/frequenz-floss/frequenz-gridpool-python/issues
|
|
@@ -12,7 +12,6 @@ Project-URL: Support, https://github.com/frequenz-floss/frequenz-gridpool-python
|
|
|
12
12
|
Keywords: frequenz,python,lib,library,gridpool
|
|
13
13
|
Classifier: Development Status :: 3 - Alpha
|
|
14
14
|
Classifier: Intended Audience :: Developers
|
|
15
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
16
15
|
Classifier: Programming Language :: Python :: 3
|
|
17
16
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
18
17
|
Classifier: Topic :: Software Development :: Libraries
|
|
@@ -30,38 +29,39 @@ Requires-Dist: matplotlib<4,>=3.7.0; extra == "render-graph"
|
|
|
30
29
|
Requires-Dist: networkx<4,>=3.0; extra == "render-graph"
|
|
31
30
|
Provides-Extra: dev-flake8
|
|
32
31
|
Requires-Dist: flake8==7.3.0; extra == "dev-flake8"
|
|
32
|
+
Requires-Dist: flake8-datetimez==20.10.0; extra == "dev-flake8"
|
|
33
33
|
Requires-Dist: flake8-docstrings==1.7.0; extra == "dev-flake8"
|
|
34
34
|
Requires-Dist: flake8-pyproject==1.2.4; extra == "dev-flake8"
|
|
35
35
|
Requires-Dist: pydoclint==0.8.3; extra == "dev-flake8"
|
|
36
36
|
Requires-Dist: pydocstyle==6.3.0; extra == "dev-flake8"
|
|
37
37
|
Provides-Extra: dev-formatting
|
|
38
|
-
Requires-Dist: black==
|
|
39
|
-
Requires-Dist: isort==
|
|
38
|
+
Requires-Dist: black==26.3.1; extra == "dev-formatting"
|
|
39
|
+
Requires-Dist: isort==8.0.1; extra == "dev-formatting"
|
|
40
40
|
Provides-Extra: dev-mkdocs
|
|
41
41
|
Requires-Dist: Markdown==3.10.2; extra == "dev-mkdocs"
|
|
42
|
-
Requires-Dist: black==
|
|
43
|
-
Requires-Dist: mike==2.
|
|
44
|
-
Requires-Dist: mkdocs-gen-files==0.
|
|
45
|
-
Requires-Dist: mkdocs-literate-nav==0.6.
|
|
42
|
+
Requires-Dist: black==26.3.1; extra == "dev-mkdocs"
|
|
43
|
+
Requires-Dist: mike==2.2.0; extra == "dev-mkdocs"
|
|
44
|
+
Requires-Dist: mkdocs-gen-files==0.6.1; extra == "dev-mkdocs"
|
|
45
|
+
Requires-Dist: mkdocs-literate-nav==0.6.3; extra == "dev-mkdocs"
|
|
46
46
|
Requires-Dist: mkdocs-macros-plugin==1.5.0; extra == "dev-mkdocs"
|
|
47
|
-
Requires-Dist: mkdocs-material==9.7.
|
|
48
|
-
Requires-Dist: mkdocstrings[python]==1.0.
|
|
49
|
-
Requires-Dist: mkdocstrings-python==
|
|
50
|
-
Requires-Dist: frequenz-repo-config[lib]==0.
|
|
47
|
+
Requires-Dist: mkdocs-material==9.7.6; extra == "dev-mkdocs"
|
|
48
|
+
Requires-Dist: mkdocstrings[python]==1.0.4; extra == "dev-mkdocs"
|
|
49
|
+
Requires-Dist: mkdocstrings-python==2.0.3; extra == "dev-mkdocs"
|
|
50
|
+
Requires-Dist: frequenz-repo-config[lib]==0.17.0; extra == "dev-mkdocs"
|
|
51
51
|
Provides-Extra: dev-mypy
|
|
52
|
-
Requires-Dist: mypy==1.
|
|
52
|
+
Requires-Dist: mypy==1.20.2; extra == "dev-mypy"
|
|
53
53
|
Requires-Dist: types-networkx>=3.6.1.20251220; extra == "dev-mypy"
|
|
54
|
-
Requires-Dist: types-Markdown==3.10.2.
|
|
54
|
+
Requires-Dist: types-Markdown==3.10.2.20260408; extra == "dev-mypy"
|
|
55
55
|
Requires-Dist: frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]; extra == "dev-mypy"
|
|
56
56
|
Provides-Extra: dev-noxfile
|
|
57
|
-
Requires-Dist: nox==
|
|
58
|
-
Requires-Dist: frequenz-repo-config[lib]==0.
|
|
57
|
+
Requires-Dist: nox==2026.4.10; extra == "dev-noxfile"
|
|
58
|
+
Requires-Dist: frequenz-repo-config[lib]==0.17.0; extra == "dev-noxfile"
|
|
59
59
|
Provides-Extra: dev-pylint
|
|
60
60
|
Requires-Dist: frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]; extra == "dev-pylint"
|
|
61
61
|
Provides-Extra: dev-pytest
|
|
62
|
-
Requires-Dist: pytest==9.0.
|
|
62
|
+
Requires-Dist: pytest==9.0.3; extra == "dev-pytest"
|
|
63
63
|
Requires-Dist: pylint==4.0.5; extra == "dev-pytest"
|
|
64
|
-
Requires-Dist: frequenz-repo-config[extra-lint-examples]==0.
|
|
64
|
+
Requires-Dist: frequenz-repo-config[extra-lint-examples]==0.17.0; extra == "dev-pytest"
|
|
65
65
|
Requires-Dist: pytest-mock==3.15.1; extra == "dev-pytest"
|
|
66
66
|
Requires-Dist: pytest-asyncio==1.3.0; extra == "dev-pytest"
|
|
67
67
|
Requires-Dist: async-solipsism==0.9; extra == "dev-pytest"
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
<!-- Here goes notes on how to upgrade from previous versions, including deprecations and what they should be replaced with -->
|
|
10
|
+
|
|
11
|
+
## New Features
|
|
12
|
+
|
|
13
|
+
- If there are unconnected breakers at a site, they are now hidden from the component graph. If there are breakers with connections to other components, they are still sent to the component graph. This is a temporary measure until the graph traversal supports breakers.
|
|
14
|
+
|
|
15
|
+
## Bug Fixes
|
|
16
|
+
|
|
17
|
+
- Fixed auto-formula population to only fill formulas for component types already present in a microgrid configuration. This prevents creating placeholder entries with `None` formulas for component types that are not configured.
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
[build-system]
|
|
5
5
|
requires = [
|
|
6
|
-
"setuptools ==
|
|
7
|
-
"setuptools_scm[toml] ==
|
|
8
|
-
"frequenz-repo-config[lib] == 0.
|
|
6
|
+
"setuptools == 82.0.1",
|
|
7
|
+
"setuptools_scm[toml] == 10.0.5",
|
|
8
|
+
"frequenz-repo-config[lib] == 0.17.0",
|
|
9
9
|
]
|
|
10
10
|
build-backend = "setuptools.build_meta"
|
|
11
11
|
|
|
@@ -13,12 +13,12 @@ build-backend = "setuptools.build_meta"
|
|
|
13
13
|
name = "frequenz-gridpool"
|
|
14
14
|
description = "High-level interface to grid pools for the Frequenz platform."
|
|
15
15
|
readme = "README.md"
|
|
16
|
-
license =
|
|
16
|
+
license = "MIT"
|
|
17
|
+
license-files = ["LICENSE"]
|
|
17
18
|
keywords = ["frequenz", "python", "lib", "library", "gridpool"]
|
|
18
19
|
classifiers = [
|
|
19
20
|
"Development Status :: 3 - Alpha",
|
|
20
21
|
"Intended Audience :: Developers",
|
|
21
|
-
"License :: OSI Approved :: MIT License",
|
|
22
22
|
"Programming Language :: Python :: 3",
|
|
23
23
|
"Programming Language :: Python :: 3 :: Only",
|
|
24
24
|
"Topic :: Software Development :: Libraries",
|
|
@@ -49,34 +49,35 @@ render-graph = [
|
|
|
49
49
|
|
|
50
50
|
dev-flake8 = [
|
|
51
51
|
"flake8 == 7.3.0",
|
|
52
|
+
"flake8-datetimez == 20.10.0",
|
|
52
53
|
"flake8-docstrings == 1.7.0",
|
|
53
54
|
"flake8-pyproject == 1.2.4", # For reading the flake8 config from pyproject.toml
|
|
54
55
|
"pydoclint == 0.8.3",
|
|
55
56
|
"pydocstyle == 6.3.0",
|
|
56
57
|
]
|
|
57
|
-
dev-formatting = ["black ==
|
|
58
|
+
dev-formatting = ["black == 26.3.1", "isort == 8.0.1"]
|
|
58
59
|
dev-mkdocs = [
|
|
59
60
|
"Markdown == 3.10.2",
|
|
60
|
-
"black ==
|
|
61
|
-
"mike == 2.
|
|
62
|
-
"mkdocs-gen-files == 0.
|
|
63
|
-
"mkdocs-literate-nav == 0.6.
|
|
61
|
+
"black == 26.3.1",
|
|
62
|
+
"mike == 2.2.0",
|
|
63
|
+
"mkdocs-gen-files == 0.6.1",
|
|
64
|
+
"mkdocs-literate-nav == 0.6.3",
|
|
64
65
|
"mkdocs-macros-plugin == 1.5.0",
|
|
65
|
-
"mkdocs-material == 9.7.
|
|
66
|
-
"mkdocstrings[python] == 1.0.
|
|
67
|
-
"mkdocstrings-python ==
|
|
68
|
-
"frequenz-repo-config[lib] == 0.
|
|
66
|
+
"mkdocs-material == 9.7.6",
|
|
67
|
+
"mkdocstrings[python] == 1.0.4",
|
|
68
|
+
"mkdocstrings-python == 2.0.3",
|
|
69
|
+
"frequenz-repo-config[lib] == 0.17.0",
|
|
69
70
|
]
|
|
70
71
|
dev-mypy = [
|
|
71
|
-
"mypy == 1.
|
|
72
|
+
"mypy == 1.20.2",
|
|
72
73
|
"types-networkx>=3.6.1.20251220",
|
|
73
|
-
"types-Markdown == 3.10.2.
|
|
74
|
+
"types-Markdown == 3.10.2.20260408",
|
|
74
75
|
# For checking the noxfile, docs/ script, and tests
|
|
75
76
|
"frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]",
|
|
76
77
|
]
|
|
77
78
|
dev-noxfile = [
|
|
78
|
-
"nox ==
|
|
79
|
-
"frequenz-repo-config[lib] == 0.
|
|
79
|
+
"nox == 2026.4.10",
|
|
80
|
+
"frequenz-repo-config[lib] == 0.17.0",
|
|
80
81
|
]
|
|
81
82
|
dev-pylint = [
|
|
82
83
|
# dev-pytest already defines a dependency to pylint because of the examples
|
|
@@ -84,9 +85,9 @@ dev-pylint = [
|
|
|
84
85
|
"frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]",
|
|
85
86
|
]
|
|
86
87
|
dev-pytest = [
|
|
87
|
-
"pytest == 9.0.
|
|
88
|
+
"pytest == 9.0.3",
|
|
88
89
|
"pylint == 4.0.5", # We need this to check for the examples
|
|
89
|
-
"frequenz-repo-config[extra-lint-examples] == 0.
|
|
90
|
+
"frequenz-repo-config[extra-lint-examples] == 0.17.0",
|
|
90
91
|
"pytest-mock == 3.15.1",
|
|
91
92
|
"pytest-asyncio == 1.3.0",
|
|
92
93
|
"async-solipsism == 0.9",
|
{frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz/gridpool/_graph_generator.py
RENAMED
|
@@ -3,8 +3,11 @@
|
|
|
3
3
|
|
|
4
4
|
"""Formula generation from assets API component/connection configurations."""
|
|
5
5
|
|
|
6
|
+
import logging
|
|
7
|
+
|
|
6
8
|
from frequenz.client.assets import AssetsApiClient
|
|
7
9
|
from frequenz.client.assets.electrical_component import (
|
|
10
|
+
Breaker,
|
|
8
11
|
ComponentConnection,
|
|
9
12
|
ElectricalComponent,
|
|
10
13
|
)
|
|
@@ -12,6 +15,8 @@ from frequenz.client.common.microgrid import MicrogridId
|
|
|
12
15
|
from frequenz.client.common.microgrid.electrical_components import ElectricalComponentId
|
|
13
16
|
from frequenz.microgrid_component_graph import ComponentGraph
|
|
14
17
|
|
|
18
|
+
_logger = logging.getLogger(__name__)
|
|
19
|
+
|
|
15
20
|
|
|
16
21
|
class ComponentGraphGenerator:
|
|
17
22
|
"""Generates component graphs for microgrids using the Assets API."""
|
|
@@ -57,6 +62,26 @@ class ComponentGraphGenerator:
|
|
|
57
62
|
if any(c is None for c in connections):
|
|
58
63
|
raise ValueError("Failed to load all electrical component connections.")
|
|
59
64
|
|
|
65
|
+
breakers = [c for c in components if isinstance(c, Breaker)]
|
|
66
|
+
connected_breakers = [
|
|
67
|
+
b
|
|
68
|
+
for b in breakers
|
|
69
|
+
if any(
|
|
70
|
+
b.id in (c.source, c.destination) for c in connections if c is not None
|
|
71
|
+
)
|
|
72
|
+
]
|
|
73
|
+
|
|
74
|
+
if connected_breakers:
|
|
75
|
+
_logger.warning(
|
|
76
|
+
"The following breakers are connected to other components, "
|
|
77
|
+
+ "which is not supported by the component graph generator and may "
|
|
78
|
+
+ "lead to graph traversal issues: %s",
|
|
79
|
+
[b.id for b in connected_breakers],
|
|
80
|
+
)
|
|
81
|
+
elif breakers:
|
|
82
|
+
_logger.debug("Dropping unconnected breakers: %s", [b.id for b in breakers])
|
|
83
|
+
components = [c for c in components if not isinstance(c, Breaker)]
|
|
84
|
+
|
|
60
85
|
graph = ComponentGraph[
|
|
61
86
|
ElectricalComponent, ComponentConnection, ElectricalComponentId
|
|
62
87
|
](components, connections)
|
{frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz/gridpool/_microgrid_config.py
RENAMED
|
@@ -51,19 +51,6 @@ class ComponentTypeConfig:
|
|
|
51
51
|
"please use 'AC_POWER_ACTIVE' instead."
|
|
52
52
|
)
|
|
53
53
|
|
|
54
|
-
defaults = {
|
|
55
|
-
"AC_POWER_ACTIVE",
|
|
56
|
-
"AC_ENERGY_ACTIVE",
|
|
57
|
-
"AC_ENERGY_ACTIVE_CONSUMED",
|
|
58
|
-
"AC_ENERGY_ACTIVE_DELIVERED",
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
for metric in defaults:
|
|
62
|
-
if metric not in self.formula:
|
|
63
|
-
self.formula[metric] = "+".join(
|
|
64
|
-
[f"#{cid}" for cid in self._default_cids()]
|
|
65
|
-
)
|
|
66
|
-
|
|
67
54
|
def cids(self, metric: str = "") -> list[int]:
|
|
68
55
|
"""Get component IDs for this component.
|
|
69
56
|
|
|
@@ -454,10 +441,13 @@ class MicrogridConfig:
|
|
|
454
441
|
assets_url, auth_key=assets_auth_key, sign_secret=assets_sign_secret
|
|
455
442
|
) as assets_client:
|
|
456
443
|
for microgrid_id, config in microgrid_configs.items():
|
|
444
|
+
relevant_ctypes = set(config.ctype.keys())
|
|
445
|
+
|
|
457
446
|
await populate_missing_formulas(
|
|
458
447
|
microgrid_id=int(microgrid_id),
|
|
459
448
|
config=config,
|
|
460
449
|
assets_client=assets_client,
|
|
450
|
+
component_types=relevant_ctypes,
|
|
461
451
|
)
|
|
462
452
|
|
|
463
453
|
return microgrid_configs
|
|
@@ -467,6 +457,7 @@ async def populate_missing_formulas(
|
|
|
467
457
|
microgrid_id: int,
|
|
468
458
|
config: "MicrogridConfig",
|
|
469
459
|
assets_client: AssetsApiClient,
|
|
460
|
+
component_types: set[str] | None = None,
|
|
470
461
|
) -> None:
|
|
471
462
|
"""Populate missing component formulas from the assets API graph.
|
|
472
463
|
|
|
@@ -484,6 +475,8 @@ async def populate_missing_formulas(
|
|
|
484
475
|
Microgrid configuration object to update in place.
|
|
485
476
|
assets_client:
|
|
486
477
|
Assets API client used to fetch the component graph.
|
|
478
|
+
component_types:
|
|
479
|
+
Optional set of component types to consider when populating formulas.
|
|
487
480
|
|
|
488
481
|
Returns:
|
|
489
482
|
None. The configuration is modified in place.
|
|
@@ -515,12 +508,15 @@ async def populate_missing_formulas(
|
|
|
515
508
|
"AC_ENERGY_ACTIVE_DELIVERED",
|
|
516
509
|
)
|
|
517
510
|
|
|
511
|
+
# Default: only populate component types already present in the config.
|
|
512
|
+
allowed_ctypes = component_types or set(config.ctype.keys())
|
|
513
|
+
|
|
518
514
|
for ctype, formula in auto_formulas.items():
|
|
515
|
+
if ctype not in allowed_ctypes:
|
|
516
|
+
continue
|
|
517
|
+
|
|
519
518
|
cfg = config.ctype.get(ctype)
|
|
520
519
|
if cfg is None:
|
|
521
|
-
config.ctype[ctype] = ComponentTypeConfig(
|
|
522
|
-
formula={metric: formula for metric in metrics}
|
|
523
|
-
)
|
|
524
520
|
continue
|
|
525
521
|
|
|
526
522
|
if cfg.formula is None:
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: frequenz-gridpool
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.2
|
|
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
|
-
License: MIT
|
|
6
|
+
License-Expression: MIT
|
|
7
7
|
Project-URL: Documentation, https://frequenz-floss.github.io/frequenz-gridpool-python/
|
|
8
8
|
Project-URL: Changelog, https://github.com/frequenz-floss/frequenz-gridpool-python/releases
|
|
9
9
|
Project-URL: Issues, https://github.com/frequenz-floss/frequenz-gridpool-python/issues
|
|
@@ -12,7 +12,6 @@ Project-URL: Support, https://github.com/frequenz-floss/frequenz-gridpool-python
|
|
|
12
12
|
Keywords: frequenz,python,lib,library,gridpool
|
|
13
13
|
Classifier: Development Status :: 3 - Alpha
|
|
14
14
|
Classifier: Intended Audience :: Developers
|
|
15
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
16
15
|
Classifier: Programming Language :: Python :: 3
|
|
17
16
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
18
17
|
Classifier: Topic :: Software Development :: Libraries
|
|
@@ -30,38 +29,39 @@ Requires-Dist: matplotlib<4,>=3.7.0; extra == "render-graph"
|
|
|
30
29
|
Requires-Dist: networkx<4,>=3.0; extra == "render-graph"
|
|
31
30
|
Provides-Extra: dev-flake8
|
|
32
31
|
Requires-Dist: flake8==7.3.0; extra == "dev-flake8"
|
|
32
|
+
Requires-Dist: flake8-datetimez==20.10.0; extra == "dev-flake8"
|
|
33
33
|
Requires-Dist: flake8-docstrings==1.7.0; extra == "dev-flake8"
|
|
34
34
|
Requires-Dist: flake8-pyproject==1.2.4; extra == "dev-flake8"
|
|
35
35
|
Requires-Dist: pydoclint==0.8.3; extra == "dev-flake8"
|
|
36
36
|
Requires-Dist: pydocstyle==6.3.0; extra == "dev-flake8"
|
|
37
37
|
Provides-Extra: dev-formatting
|
|
38
|
-
Requires-Dist: black==
|
|
39
|
-
Requires-Dist: isort==
|
|
38
|
+
Requires-Dist: black==26.3.1; extra == "dev-formatting"
|
|
39
|
+
Requires-Dist: isort==8.0.1; extra == "dev-formatting"
|
|
40
40
|
Provides-Extra: dev-mkdocs
|
|
41
41
|
Requires-Dist: Markdown==3.10.2; extra == "dev-mkdocs"
|
|
42
|
-
Requires-Dist: black==
|
|
43
|
-
Requires-Dist: mike==2.
|
|
44
|
-
Requires-Dist: mkdocs-gen-files==0.
|
|
45
|
-
Requires-Dist: mkdocs-literate-nav==0.6.
|
|
42
|
+
Requires-Dist: black==26.3.1; extra == "dev-mkdocs"
|
|
43
|
+
Requires-Dist: mike==2.2.0; extra == "dev-mkdocs"
|
|
44
|
+
Requires-Dist: mkdocs-gen-files==0.6.1; extra == "dev-mkdocs"
|
|
45
|
+
Requires-Dist: mkdocs-literate-nav==0.6.3; extra == "dev-mkdocs"
|
|
46
46
|
Requires-Dist: mkdocs-macros-plugin==1.5.0; extra == "dev-mkdocs"
|
|
47
|
-
Requires-Dist: mkdocs-material==9.7.
|
|
48
|
-
Requires-Dist: mkdocstrings[python]==1.0.
|
|
49
|
-
Requires-Dist: mkdocstrings-python==
|
|
50
|
-
Requires-Dist: frequenz-repo-config[lib]==0.
|
|
47
|
+
Requires-Dist: mkdocs-material==9.7.6; extra == "dev-mkdocs"
|
|
48
|
+
Requires-Dist: mkdocstrings[python]==1.0.4; extra == "dev-mkdocs"
|
|
49
|
+
Requires-Dist: mkdocstrings-python==2.0.3; extra == "dev-mkdocs"
|
|
50
|
+
Requires-Dist: frequenz-repo-config[lib]==0.17.0; extra == "dev-mkdocs"
|
|
51
51
|
Provides-Extra: dev-mypy
|
|
52
|
-
Requires-Dist: mypy==1.
|
|
52
|
+
Requires-Dist: mypy==1.20.2; extra == "dev-mypy"
|
|
53
53
|
Requires-Dist: types-networkx>=3.6.1.20251220; extra == "dev-mypy"
|
|
54
|
-
Requires-Dist: types-Markdown==3.10.2.
|
|
54
|
+
Requires-Dist: types-Markdown==3.10.2.20260408; extra == "dev-mypy"
|
|
55
55
|
Requires-Dist: frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]; extra == "dev-mypy"
|
|
56
56
|
Provides-Extra: dev-noxfile
|
|
57
|
-
Requires-Dist: nox==
|
|
58
|
-
Requires-Dist: frequenz-repo-config[lib]==0.
|
|
57
|
+
Requires-Dist: nox==2026.4.10; extra == "dev-noxfile"
|
|
58
|
+
Requires-Dist: frequenz-repo-config[lib]==0.17.0; extra == "dev-noxfile"
|
|
59
59
|
Provides-Extra: dev-pylint
|
|
60
60
|
Requires-Dist: frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]; extra == "dev-pylint"
|
|
61
61
|
Provides-Extra: dev-pytest
|
|
62
|
-
Requires-Dist: pytest==9.0.
|
|
62
|
+
Requires-Dist: pytest==9.0.3; extra == "dev-pytest"
|
|
63
63
|
Requires-Dist: pylint==4.0.5; extra == "dev-pytest"
|
|
64
|
-
Requires-Dist: frequenz-repo-config[extra-lint-examples]==0.
|
|
64
|
+
Requires-Dist: frequenz-repo-config[extra-lint-examples]==0.17.0; extra == "dev-pytest"
|
|
65
65
|
Requires-Dist: pytest-mock==3.15.1; extra == "dev-pytest"
|
|
66
66
|
Requires-Dist: pytest-asyncio==1.3.0; extra == "dev-pytest"
|
|
67
67
|
Requires-Dist: async-solipsism==0.9; extra == "dev-pytest"
|
{frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz_gridpool.egg-info/requires.txt
RENAMED
|
@@ -9,44 +9,45 @@ frequenz-gridpool[dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-
|
|
|
9
9
|
|
|
10
10
|
[dev-flake8]
|
|
11
11
|
flake8==7.3.0
|
|
12
|
+
flake8-datetimez==20.10.0
|
|
12
13
|
flake8-docstrings==1.7.0
|
|
13
14
|
flake8-pyproject==1.2.4
|
|
14
15
|
pydoclint==0.8.3
|
|
15
16
|
pydocstyle==6.3.0
|
|
16
17
|
|
|
17
18
|
[dev-formatting]
|
|
18
|
-
black==
|
|
19
|
-
isort==
|
|
19
|
+
black==26.3.1
|
|
20
|
+
isort==8.0.1
|
|
20
21
|
|
|
21
22
|
[dev-mkdocs]
|
|
22
23
|
Markdown==3.10.2
|
|
23
|
-
black==
|
|
24
|
-
mike==2.
|
|
25
|
-
mkdocs-gen-files==0.
|
|
26
|
-
mkdocs-literate-nav==0.6.
|
|
24
|
+
black==26.3.1
|
|
25
|
+
mike==2.2.0
|
|
26
|
+
mkdocs-gen-files==0.6.1
|
|
27
|
+
mkdocs-literate-nav==0.6.3
|
|
27
28
|
mkdocs-macros-plugin==1.5.0
|
|
28
|
-
mkdocs-material==9.7.
|
|
29
|
-
mkdocstrings[python]==1.0.
|
|
30
|
-
mkdocstrings-python==
|
|
31
|
-
frequenz-repo-config[lib]==0.
|
|
29
|
+
mkdocs-material==9.7.6
|
|
30
|
+
mkdocstrings[python]==1.0.4
|
|
31
|
+
mkdocstrings-python==2.0.3
|
|
32
|
+
frequenz-repo-config[lib]==0.17.0
|
|
32
33
|
|
|
33
34
|
[dev-mypy]
|
|
34
|
-
mypy==1.
|
|
35
|
+
mypy==1.20.2
|
|
35
36
|
types-networkx>=3.6.1.20251220
|
|
36
|
-
types-Markdown==3.10.2.
|
|
37
|
+
types-Markdown==3.10.2.20260408
|
|
37
38
|
frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]
|
|
38
39
|
|
|
39
40
|
[dev-noxfile]
|
|
40
|
-
nox==
|
|
41
|
-
frequenz-repo-config[lib]==0.
|
|
41
|
+
nox==2026.4.10
|
|
42
|
+
frequenz-repo-config[lib]==0.17.0
|
|
42
43
|
|
|
43
44
|
[dev-pylint]
|
|
44
45
|
frequenz-gridpool[dev-mkdocs,dev-noxfile,dev-pytest]
|
|
45
46
|
|
|
46
47
|
[dev-pytest]
|
|
47
|
-
pytest==9.0.
|
|
48
|
+
pytest==9.0.3
|
|
48
49
|
pylint==4.0.5
|
|
49
|
-
frequenz-repo-config[extra-lint-examples]==0.
|
|
50
|
+
frequenz-repo-config[extra-lint-examples]==0.17.0
|
|
50
51
|
pytest-mock==3.15.1
|
|
51
52
|
pytest-asyncio==1.3.0
|
|
52
53
|
async-solipsism==0.9
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# Frequenz Gridpool Library Release Notes
|
|
2
|
-
|
|
3
|
-
## Summary
|
|
4
|
-
|
|
5
|
-
This release adds default formulas for AC energy metrics when they are not
|
|
6
|
-
explicitly configured.
|
|
7
|
-
|
|
8
|
-
## Upgrading
|
|
9
|
-
|
|
10
|
-
* Update assets client to v0.3.0.
|
|
11
|
-
|
|
12
|
-
## New Features
|
|
13
|
-
|
|
14
|
-
* Added default summation formulas for `AC_ENERGY_ACTIVE`,
|
|
15
|
-
`AC_ENERGY_ACTIVE_CONSUMED`, and `AC_ENERGY_ACTIVE_DELIVERED` when formulas are
|
|
16
|
-
not provided. The defaults are built from the component IDs configured for the
|
|
17
|
-
component type.
|
|
18
|
-
|
|
19
|
-
## Bug Fixes
|
|
20
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz/gridpool/cli/_render_graph.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz_gridpool.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz_gridpool.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{frequenz_gridpool-0.4.0 → frequenz_gridpool-0.4.2}/src/frequenz_gridpool.egg-info/top_level.txt
RENAMED
|
File without changes
|