frequenz-api-common 0.6.2__tar.gz → 0.6.3__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-api-common-0.6.2 → frequenz-api-common-0.6.3}/MANIFEST.in +1 -1
- {frequenz-api-common-0.6.2/py/frequenz_api_common.egg-info → frequenz-api-common-0.6.3}/PKG-INFO +1 -1
- frequenz-api-common-0.6.3/RELEASE_NOTES.md +22 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/market/energy.proto +6 -6
- frequenz-api-common-0.6.3/proto/frequenz/api/common/v1/market/power.proto +30 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/metrics/metric_sample.proto +14 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/microgrid/components/components.proto +1 -2
- frequenz-api-common-0.6.3/proto/frequenz/api/common/v1/microgrid/lifetime.proto +41 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/microgrid/microgrid.proto +6 -0
- frequenz-api-common-0.6.3/proto/frequenz/api/common/v1/pagination/pagination_params.proto +31 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3/py/frequenz_api_common.egg-info}/PKG-INFO +1 -1
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz_api_common.egg-info/SOURCES.txt +1 -1
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz_api_common.egg-info/requires.txt +13 -13
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz_api_common.egg-info/top_level.txt +0 -1
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/pyproject.toml +19 -18
- frequenz-api-common-0.6.2/RELEASE_NOTES.md +0 -5
- frequenz-api-common-0.6.2/proto/frequenz/api/common/v1/microgrid/lifetime.proto +0 -28
- frequenz-api-common-0.6.2/proto/frequenz/api/common/v1/pagination/pagination_params.proto +0 -26
- frequenz-api-common-0.6.2/py/conftest.py +0 -13
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/LICENSE +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/README.md +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/components.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/location.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/metrics/electrical.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/metrics.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/grid/delivery_area.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/grid/delivery_duration.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/location.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/market/price.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/metrics/bounds.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/microgrid/components/battery.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/microgrid/components/ev_charger.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/microgrid/components/fuse.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/microgrid/components/grid.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/microgrid/components/inverter.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/microgrid/components/transformer.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/microgrid/sensors/sensors.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/pagination/pagination_info.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/types/decimal.proto +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/__init__.py +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/metrics/__init__.py +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/py.typed +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/v1/__init__.py +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/v1/grid/__init__.py +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/v1/market/__init__.py +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/v1/metrics/__init__.py +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/v1/microgrid/__init__.py +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/v1/microgrid/components/__init__.py +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/v1/microgrid/sensors/__init__.py +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/v1/pagination/__init__.py +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/v1/types/__init__.py +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz_api_common.egg-info/dependency_links.txt +0 -0
- {frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/setup.cfg +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Frequenz Common API Release Notes
|
|
2
|
+
|
|
3
|
+
Update of the `PaginationParams` struct.
|
|
4
|
+
|
|
5
|
+
## Upgrading
|
|
6
|
+
|
|
7
|
+
- `PaginationParams` has been changed so that the `page_size` and `page_token`
|
|
8
|
+
fields are now mutually exclusive.
|
|
9
|
+
|
|
10
|
+
- A new component category `COMPONENT_CATEGORY_HVAC` has been added to the API
|
|
11
|
+
to represent HVAC (Heating, Ventilation, and Air Conditioning) systems.
|
|
12
|
+
|
|
13
|
+
- Additional information for energy metric
|
|
14
|
+
|
|
15
|
+
- Generalize Energy message documentation for broader market use
|
|
16
|
+
|
|
17
|
+
- Add Power message to represent Power in MW
|
|
18
|
+
|
|
19
|
+
## Bug Fixes
|
|
20
|
+
|
|
21
|
+
- Fix a dependency issue by pinning the `grpcio` version and related libraries.
|
|
22
|
+
- Fixed a wrong documentation comment for `COMPONENT_CATEGORY_UNSPECIFIED`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Frequenz definitions of energy
|
|
1
|
+
// Frequenz definitions of energy.
|
|
2
2
|
//
|
|
3
3
|
// Copyright 2023 Frequenz Energy-as-a-Service GmbH
|
|
4
4
|
//
|
|
@@ -14,11 +14,11 @@ import "frequenz/api/common/v1/types/decimal.proto";
|
|
|
14
14
|
// Represents a single unit of electricity.
|
|
15
15
|
//
|
|
16
16
|
// !!! note
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
17
|
+
// The unit of energy is denominated in MWh, which is a unit of energy
|
|
18
|
+
// representing total output over a period.(Megawatt-hours). This differs
|
|
19
|
+
// from MW (Megawatts), a unit of power representing the rate of energy
|
|
20
|
+
// production or consumption.
|
|
21
21
|
message Energy {
|
|
22
|
-
//
|
|
22
|
+
// Energy unit in Megawatthours (MWh).
|
|
23
23
|
frequenz.api.common.v1.types.Decimal mwh = 1;
|
|
24
24
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Frequenz definitions of power.
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2024 Frequenz Energy-as-a-Service GmbH
|
|
4
|
+
//
|
|
5
|
+
// Licensed under the MIT License (the "License");
|
|
6
|
+
// you may not use this file except in compliance with the License.
|
|
7
|
+
|
|
8
|
+
syntax = "proto3";
|
|
9
|
+
|
|
10
|
+
package frequenz.api.common.v1.market;
|
|
11
|
+
|
|
12
|
+
import "frequenz/api/common/v1/types/decimal.proto";
|
|
13
|
+
|
|
14
|
+
// Represents a single unit of power.
|
|
15
|
+
//
|
|
16
|
+
// !!! note
|
|
17
|
+
// The power unit is denominated in MW (Megawatts), which is a unit of
|
|
18
|
+
// power representing the rate of energy production or consumption at any
|
|
19
|
+
// given moment. This differs from MWh (Megawatt-hours), which measures
|
|
20
|
+
// the total amount of energy delivered or consumed over a period.
|
|
21
|
+
//
|
|
22
|
+
// Example:
|
|
23
|
+
// A power plant running at 10 MW for 1 hour generates 10 MWh of energy.
|
|
24
|
+
//
|
|
25
|
+
// This message standardizes the representation of power in MW across all
|
|
26
|
+
// market applications.
|
|
27
|
+
message Power {
|
|
28
|
+
// Power amount in Megawatts (MW).
|
|
29
|
+
frequenz.api.common.v1.types.Decimal mw = 1;
|
|
30
|
+
}
|
|
@@ -63,6 +63,20 @@ message MetricValueVariant {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
// List of supported metrics.
|
|
66
|
+
//
|
|
67
|
+
// !!! note
|
|
68
|
+
// AC energy metrics information:
|
|
69
|
+
//
|
|
70
|
+
// * This energy metric is reported directly from the component, and not a
|
|
71
|
+
// result of aggregations in our systems. If a component does not have this
|
|
72
|
+
// metric, this field cannot be populated.
|
|
73
|
+
//
|
|
74
|
+
// * Components that provide energy metrics reset this metric from time to
|
|
75
|
+
// time. This behaviour is specific to each component model. E.g., some
|
|
76
|
+
// components reset it on UTC 00:00:00.
|
|
77
|
+
//
|
|
78
|
+
// * This energy metric does not specify the timestamp since when the energy
|
|
79
|
+
// was being accumulated, and therefore can be inconsistent.
|
|
66
80
|
enum Metric {
|
|
67
81
|
// Default value.
|
|
68
82
|
METRIC_UNSPECIFIED = 0;
|
|
@@ -24,8 +24,7 @@ import "google/protobuf/timestamp.proto";
|
|
|
24
24
|
|
|
25
25
|
// Enumrated component categories.
|
|
26
26
|
enum ComponentCategory {
|
|
27
|
-
//
|
|
28
|
-
// unknown components in a list of components with otherwise known categories.
|
|
27
|
+
// The component category is unspecified. This should not be used.
|
|
29
28
|
COMPONENT_CATEGORY_UNSPECIFIED = 0;
|
|
30
29
|
|
|
31
30
|
// The point where the local microgrid is connected to the grid.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Frequenz definition of entity lifetimes, based upon start and end timestamps.
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2023 Frequenz Energy-as-a-Service GmbH
|
|
4
|
+
//
|
|
5
|
+
// Licensed under the MIT License (the "License");
|
|
6
|
+
// you may not use this file except in compliance with the License.
|
|
7
|
+
|
|
8
|
+
syntax = "proto3";
|
|
9
|
+
|
|
10
|
+
package frequenz.api.common.v1.microgrid;
|
|
11
|
+
|
|
12
|
+
import "google/protobuf/timestamp.proto";
|
|
13
|
+
|
|
14
|
+
// Lifetime captures the timestamps indicating the active operational period of
|
|
15
|
+
// a microgrid asset, such as a component, connection, sensor, or any other
|
|
16
|
+
// entity with a limited operational lifetime.
|
|
17
|
+
//
|
|
18
|
+
// It is normally used to track the historical evolution of assets, and it
|
|
19
|
+
// determines the validity period for the asset's data.
|
|
20
|
+
//
|
|
21
|
+
// If the `start_timestamp` is not set, the asset is considered to be in
|
|
22
|
+
// operation since the beginning of the system's operational history.
|
|
23
|
+
//
|
|
24
|
+
// If the `end_timestamp` is not set, the asset is considered to be in
|
|
25
|
+
// operation indefinitely into the future.
|
|
26
|
+
//
|
|
27
|
+
// If the Lifetime message is completely missing, it means both timestamps are
|
|
28
|
+
// not set, which means the asset is considered to be in operation since the
|
|
29
|
+
// beginning of the system's operational history and indefinitely into the
|
|
30
|
+
// future.
|
|
31
|
+
message Lifetime {
|
|
32
|
+
// The timestamp when the asset became operationally active.
|
|
33
|
+
// If not set, the asset is considered to be in operation since the beginning
|
|
34
|
+
// of the system's operational history.
|
|
35
|
+
google.protobuf.Timestamp start_timestamp = 1;
|
|
36
|
+
|
|
37
|
+
// Optional timestamp when the asset's operational activity ceased.
|
|
38
|
+
// If not set, the asset is considered to be in operation indefinitely into
|
|
39
|
+
// the future.
|
|
40
|
+
google.protobuf.Timestamp end_timestamp = 2;
|
|
41
|
+
}
|
|
@@ -51,9 +51,15 @@ message Microgrid {
|
|
|
51
51
|
|
|
52
52
|
// The delivery area where the microgrid is located, as identified by a
|
|
53
53
|
// specific code.
|
|
54
|
+
//
|
|
55
|
+
// If a microgrid is not connected to the grid (it is an island) it does not
|
|
56
|
+
// belong to any delivery area and this field will be missing, but it could
|
|
57
|
+
// be missing for other reasons as well.
|
|
54
58
|
frequenz.api.common.v1.grid.DeliveryArea delivery_area = 4;
|
|
55
59
|
|
|
56
60
|
// Physical location of the microgrid, in geographical co-ordinates.
|
|
61
|
+
//
|
|
62
|
+
// If the location is not known, this field will be missing.
|
|
57
63
|
frequenz.api.common.v1.Location location = 5;
|
|
58
64
|
|
|
59
65
|
// The current status of the microgrid.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Parameters for pagination.
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2023 Frequenz Energy-as-a-Service GmbH
|
|
4
|
+
//
|
|
5
|
+
// Licensed under the MIT License (the "License");
|
|
6
|
+
// you may not use this file except in compliance with the License.
|
|
7
|
+
|
|
8
|
+
syntax = "proto3";
|
|
9
|
+
|
|
10
|
+
package frequenz.api.common.v1.pagination;
|
|
11
|
+
|
|
12
|
+
// A message defining parameters for paginating list requests.
|
|
13
|
+
// It can be appended to a request message to specify the desired page of
|
|
14
|
+
// results and the maximum number of results per page.
|
|
15
|
+
message PaginationParams {
|
|
16
|
+
oneof params {
|
|
17
|
+
// The maximum number of results to return in a single page. The service may
|
|
18
|
+
// return fewer results than requested. If unspecified, the service may
|
|
19
|
+
// choose a reasonable default.
|
|
20
|
+
// May only be specified in the first request.
|
|
21
|
+
uint32 page_size = 1;
|
|
22
|
+
|
|
23
|
+
// A token identifying a page of results to return. This should be the value
|
|
24
|
+
// of the `next_page_token` field in the previous response's PaginationInfo.
|
|
25
|
+
// For the first request, this field should be omitted.
|
|
26
|
+
//
|
|
27
|
+
// To avoid keeping remembering the page_size across requests, service
|
|
28
|
+
// implementations may choose to encode the page_size in the page_token.
|
|
29
|
+
string page_token = 2;
|
|
30
|
+
}
|
|
31
|
+
}
|
{frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz_api_common.egg-info/SOURCES.txt
RENAMED
|
@@ -11,6 +11,7 @@ proto/frequenz/api/common/v1/location.proto
|
|
|
11
11
|
proto/frequenz/api/common/v1/grid/delivery_area.proto
|
|
12
12
|
proto/frequenz/api/common/v1/grid/delivery_duration.proto
|
|
13
13
|
proto/frequenz/api/common/v1/market/energy.proto
|
|
14
|
+
proto/frequenz/api/common/v1/market/power.proto
|
|
14
15
|
proto/frequenz/api/common/v1/market/price.proto
|
|
15
16
|
proto/frequenz/api/common/v1/metrics/bounds.proto
|
|
16
17
|
proto/frequenz/api/common/v1/metrics/metric_sample.proto
|
|
@@ -27,7 +28,6 @@ proto/frequenz/api/common/v1/microgrid/sensors/sensors.proto
|
|
|
27
28
|
proto/frequenz/api/common/v1/pagination/pagination_info.proto
|
|
28
29
|
proto/frequenz/api/common/v1/pagination/pagination_params.proto
|
|
29
30
|
proto/frequenz/api/common/v1/types/decimal.proto
|
|
30
|
-
py/conftest.py
|
|
31
31
|
py/frequenz/api/common/__init__.py
|
|
32
32
|
py/frequenz/api/common/py.typed
|
|
33
33
|
py/frequenz/api/common/metrics/__init__.py
|
{frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz_api_common.egg-info/requires.txt
RENAMED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
protobuf<
|
|
2
|
-
grpcio<2,>=1.
|
|
1
|
+
protobuf<7,>=5.28.0
|
|
2
|
+
grpcio<2,>=1.66.1
|
|
3
3
|
|
|
4
4
|
[dev]
|
|
5
5
|
frequenz-api-common[dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]
|
|
6
6
|
|
|
7
7
|
[dev-flake8]
|
|
8
|
-
flake8==7.
|
|
8
|
+
flake8==7.1.1
|
|
9
9
|
flake8-docstrings==1.7.0
|
|
10
10
|
flake8-pyproject==1.2.3
|
|
11
|
-
pydoclint==0.
|
|
11
|
+
pydoclint==0.5.9
|
|
12
12
|
pydocstyle==6.3.0
|
|
13
13
|
|
|
14
14
|
[dev-formatting]
|
|
15
|
-
black==24.
|
|
15
|
+
black==24.8.0
|
|
16
16
|
isort==5.13.2
|
|
17
17
|
|
|
18
18
|
[dev-mkdocs]
|
|
19
19
|
mike==1.1.2
|
|
20
20
|
mkdocs-gen-files==0.5.0
|
|
21
21
|
mkdocs-literate-nav==0.6.1
|
|
22
|
-
mkdocs-material==9.5.
|
|
23
|
-
mkdocstrings[python]==0.
|
|
24
|
-
frequenz-repo-config[api]==0.
|
|
22
|
+
mkdocs-material==9.5.39
|
|
23
|
+
mkdocstrings[python]==0.26.1
|
|
24
|
+
frequenz-repo-config[api]==0.10.0
|
|
25
25
|
|
|
26
26
|
[dev-mypy]
|
|
27
|
-
mypy==1.
|
|
27
|
+
mypy==1.11.2
|
|
28
28
|
grpc-stubs==1.53.0.5
|
|
29
29
|
frequenz-api-common[dev-mkdocs,dev-noxfile,dev-pytest]
|
|
30
30
|
|
|
31
31
|
[dev-noxfile]
|
|
32
32
|
nox==2024.4.15
|
|
33
|
-
frequenz-repo-config[api]==0.
|
|
33
|
+
frequenz-repo-config[api]==0.10.0
|
|
34
34
|
|
|
35
35
|
[dev-pylint]
|
|
36
|
-
pylint==3.1
|
|
36
|
+
pylint==3.3.1
|
|
37
37
|
frequenz-api-common[dev-mkdocs,dev-noxfile,dev-pytest]
|
|
38
38
|
|
|
39
39
|
[dev-pytest]
|
|
40
|
-
pytest==8.
|
|
41
|
-
frequenz-repo-config[extra-lint-examples]==0.
|
|
40
|
+
pytest==8.3.3
|
|
41
|
+
frequenz-repo-config[extra-lint-examples]==0.10.0
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
requires = [
|
|
6
6
|
"setuptools == 68.1.0",
|
|
7
7
|
"setuptools_scm[toml] == 7.1.0",
|
|
8
|
-
"frequenz-repo-config[api] == 0.
|
|
8
|
+
"frequenz-repo-config[api] == 0.10.0",
|
|
9
9
|
# We need to pin the protobuf, grpcio and grpcio-tools dependencies to make
|
|
10
10
|
# sure the code is generated using the minimum supported versions, as older
|
|
11
11
|
# versions can't work with code that was generated with newer versions.
|
|
12
12
|
# https://protobuf.dev/support/cross-version-runtime-guarantee/#backwards
|
|
13
|
-
"protobuf ==
|
|
14
|
-
"grpcio-tools == 1.
|
|
15
|
-
"grpcio == 1.
|
|
13
|
+
"protobuf == 5.28.0",
|
|
14
|
+
"grpcio-tools == 1.66.1",
|
|
15
|
+
"grpcio == 1.66.1",
|
|
16
16
|
]
|
|
17
17
|
build-backend = "setuptools.build_meta"
|
|
18
18
|
|
|
@@ -33,13 +33,14 @@ classifiers = [
|
|
|
33
33
|
]
|
|
34
34
|
requires-python = ">= 3.11, < 4"
|
|
35
35
|
dependencies = [
|
|
36
|
-
# We can't widen beyond
|
|
36
|
+
# We can't widen beyond the current value unless we bump the minimum
|
|
37
|
+
# requirements too because of protobuf cross-version runtime guarantees:
|
|
37
38
|
# https://protobuf.dev/support/cross-version-runtime-guarantee/#major
|
|
38
|
-
"protobuf >=
|
|
39
|
+
"protobuf >= 5.28.0, < 7", # Do not widen beyond 7!
|
|
39
40
|
# We couldn't find any document with a spec about the cross-version runtime
|
|
40
41
|
# guarantee for grpcio, so unless we find one in the future, we'll assume
|
|
41
42
|
# major version jumps are not compatible
|
|
42
|
-
"grpcio >= 1.
|
|
43
|
+
"grpcio >= 1.66.1, < 2", # Do not widen beyond 2!
|
|
43
44
|
]
|
|
44
45
|
dynamic = ["version"]
|
|
45
46
|
|
|
@@ -49,36 +50,36 @@ email = "floss@frequenz.com"
|
|
|
49
50
|
|
|
50
51
|
[project.optional-dependencies]
|
|
51
52
|
dev-flake8 = [
|
|
52
|
-
"flake8 == 7.
|
|
53
|
+
"flake8 == 7.1.1",
|
|
53
54
|
"flake8-docstrings == 1.7.0",
|
|
54
55
|
"flake8-pyproject == 1.2.3", # For reading the flake8 config from pyproject.toml
|
|
55
|
-
"pydoclint == 0.
|
|
56
|
+
"pydoclint == 0.5.9",
|
|
56
57
|
"pydocstyle == 6.3.0",
|
|
57
58
|
]
|
|
58
|
-
dev-formatting = ["black == 24.
|
|
59
|
+
dev-formatting = ["black == 24.8.0", "isort == 5.13.2"]
|
|
59
60
|
dev-mkdocs = [
|
|
60
61
|
"mike == 1.1.2",
|
|
61
62
|
"mkdocs-gen-files == 0.5.0",
|
|
62
63
|
"mkdocs-literate-nav == 0.6.1",
|
|
63
|
-
"mkdocs-material == 9.5.
|
|
64
|
-
"mkdocstrings[python] == 0.
|
|
65
|
-
"frequenz-repo-config[api] == 0.
|
|
64
|
+
"mkdocs-material == 9.5.39",
|
|
65
|
+
"mkdocstrings[python] == 0.26.1",
|
|
66
|
+
"frequenz-repo-config[api] == 0.10.0",
|
|
66
67
|
]
|
|
67
68
|
dev-mypy = [
|
|
68
|
-
"mypy == 1.
|
|
69
|
+
"mypy == 1.11.2",
|
|
69
70
|
"grpc-stubs == 1.53.0.5",
|
|
70
71
|
# For checking the noxfile, docs/ script, and tests
|
|
71
72
|
"frequenz-api-common[dev-mkdocs,dev-noxfile,dev-pytest]",
|
|
72
73
|
]
|
|
73
|
-
dev-noxfile = ["nox == 2024.4.15", "frequenz-repo-config[api] == 0.
|
|
74
|
+
dev-noxfile = ["nox == 2024.4.15", "frequenz-repo-config[api] == 0.10.0"]
|
|
74
75
|
dev-pylint = [
|
|
75
|
-
"pylint == 3.1
|
|
76
|
+
"pylint == 3.3.1",
|
|
76
77
|
# For checking the noxfile, docs/ script, and tests
|
|
77
78
|
"frequenz-api-common[dev-mkdocs,dev-noxfile,dev-pytest]",
|
|
78
79
|
]
|
|
79
80
|
dev-pytest = [
|
|
80
|
-
"pytest == 8.
|
|
81
|
-
"frequenz-repo-config[extra-lint-examples] == 0.
|
|
81
|
+
"pytest == 8.3.3",
|
|
82
|
+
"frequenz-repo-config[extra-lint-examples] == 0.10.0",
|
|
82
83
|
]
|
|
83
84
|
dev = [
|
|
84
85
|
"frequenz-api-common[dev-mkdocs,dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]",
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
// Frequenz definition of entity lifetimes, based upon start and end timestamps.
|
|
2
|
-
//
|
|
3
|
-
// Copyright 2023 Frequenz Energy-as-a-Service GmbH
|
|
4
|
-
//
|
|
5
|
-
// Licensed under the MIT License (the "License");
|
|
6
|
-
// you may not use this file except in compliance with the License.
|
|
7
|
-
|
|
8
|
-
syntax = "proto3";
|
|
9
|
-
|
|
10
|
-
package frequenz.api.common.v1.microgrid;
|
|
11
|
-
|
|
12
|
-
import "google/protobuf/timestamp.proto";
|
|
13
|
-
|
|
14
|
-
// Lifetime captures the timestamps indicating the active operational period of
|
|
15
|
-
// a microgrid asset, such as a component, connection, sensor, or any other
|
|
16
|
-
// entity with a limited operational lifetime.
|
|
17
|
-
//
|
|
18
|
-
// !!! warning "Permanent Deletion"
|
|
19
|
-
// The `end_timestamp` indicates that the asset has been permanently removed
|
|
20
|
-
// from the system.
|
|
21
|
-
//
|
|
22
|
-
message Lifetime {
|
|
23
|
-
// The timestamp when the asset became operationally active.
|
|
24
|
-
google.protobuf.Timestamp start_timestamp = 1;
|
|
25
|
-
|
|
26
|
-
// Optional timestamp when the asset's operational activity ceased.
|
|
27
|
-
google.protobuf.Timestamp end_timestamp = 2;
|
|
28
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// Parameters for pagination.
|
|
2
|
-
//
|
|
3
|
-
// Copyright 2023 Frequenz Energy-as-a-Service GmbH
|
|
4
|
-
//
|
|
5
|
-
// Licensed under the MIT License (the "License");
|
|
6
|
-
// you may not use this file except in compliance with the License.
|
|
7
|
-
|
|
8
|
-
syntax = "proto3";
|
|
9
|
-
|
|
10
|
-
package frequenz.api.common.v1.pagination;
|
|
11
|
-
|
|
12
|
-
// A message defining parameters for paginating list requests.
|
|
13
|
-
// It can be appended to a request message to specify the desired page of
|
|
14
|
-
// results and the maximum number of results per page. For initial requests
|
|
15
|
-
// (requesting the first page), the page_token should not be provided. For
|
|
16
|
-
// subsequent requests (requesting any page after the first), the
|
|
17
|
-
// next_page_token from the previous responses PaginationInfo must be supplied.
|
|
18
|
-
// The page_size should only be specified in the initial request and will be
|
|
19
|
-
// disregarded in subsequent requests.
|
|
20
|
-
message PaginationParams {
|
|
21
|
-
// The maximum number of results to be returned per request.
|
|
22
|
-
optional uint32 page_size = 1;
|
|
23
|
-
|
|
24
|
-
// The token identifying a specific page of the list results.
|
|
25
|
-
optional string page_token = 2;
|
|
26
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# License: MIT
|
|
2
|
-
# Copyright © 2023 Frequenz Energy-as-a-Service GmbH
|
|
3
|
-
|
|
4
|
-
"""Validate docstring code examples.
|
|
5
|
-
|
|
6
|
-
Code examples are often wrapped in triple backticks (```) within docstrings.
|
|
7
|
-
This plugin extracts these code examples and validates them using pylint.
|
|
8
|
-
"""
|
|
9
|
-
|
|
10
|
-
from frequenz.repo.config.pytest import examples
|
|
11
|
-
from sybil import Sybil
|
|
12
|
-
|
|
13
|
-
pytest_collect_file = Sybil(**examples.get_sybil_arguments()).pytest()
|
|
File without changes
|
|
File without changes
|
{frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/components.proto
RENAMED
|
File without changes
|
{frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/location.proto
RENAMED
|
File without changes
|
|
File without changes
|
{frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/metrics.proto
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/proto/frequenz/api/common/v1/location.proto
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
|
{frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/metrics/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/v1/__init__.py
RENAMED
|
File without changes
|
{frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/v1/grid/__init__.py
RENAMED
|
File without changes
|
{frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/v1/market/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frequenz-api-common-0.6.2 → frequenz-api-common-0.6.3}/py/frequenz/api/common/v1/types/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|