frequenz-api-common 0.6.3__tar.gz → 0.6.4__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.
Files changed (53) hide show
  1. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/MANIFEST.in +1 -1
  2. {frequenz-api-common-0.6.3/py/frequenz_api_common.egg-info → frequenz-api-common-0.6.4}/PKG-INFO +1 -1
  3. frequenz-api-common-0.6.4/RELEASE_NOTES.md +9 -0
  4. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/market/energy.proto +6 -6
  5. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/metrics/metric_sample.proto +0 -14
  6. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/microgrid/components/components.proto +2 -1
  7. frequenz-api-common-0.6.4/proto/frequenz/api/common/v1/microgrid/lifetime.proto +28 -0
  8. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/microgrid/microgrid.proto +9 -6
  9. frequenz-api-common-0.6.4/proto/frequenz/api/common/v1/pagination/pagination_params.proto +26 -0
  10. frequenz-api-common-0.6.4/py/conftest.py +13 -0
  11. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4/py/frequenz_api_common.egg-info}/PKG-INFO +1 -1
  12. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz_api_common.egg-info/SOURCES.txt +1 -1
  13. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz_api_common.egg-info/requires.txt +13 -13
  14. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz_api_common.egg-info/top_level.txt +1 -0
  15. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/pyproject.toml +18 -19
  16. frequenz-api-common-0.6.3/RELEASE_NOTES.md +0 -22
  17. frequenz-api-common-0.6.3/proto/frequenz/api/common/v1/market/power.proto +0 -30
  18. frequenz-api-common-0.6.3/proto/frequenz/api/common/v1/microgrid/lifetime.proto +0 -41
  19. frequenz-api-common-0.6.3/proto/frequenz/api/common/v1/pagination/pagination_params.proto +0 -31
  20. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/LICENSE +0 -0
  21. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/README.md +0 -0
  22. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/components.proto +0 -0
  23. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/location.proto +0 -0
  24. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/metrics/electrical.proto +0 -0
  25. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/metrics.proto +0 -0
  26. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/grid/delivery_area.proto +0 -0
  27. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/grid/delivery_duration.proto +0 -0
  28. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/location.proto +0 -0
  29. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/market/price.proto +0 -0
  30. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/metrics/bounds.proto +0 -0
  31. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/microgrid/components/battery.proto +0 -0
  32. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/microgrid/components/ev_charger.proto +0 -0
  33. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/microgrid/components/fuse.proto +0 -0
  34. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/microgrid/components/grid.proto +0 -0
  35. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/microgrid/components/inverter.proto +0 -0
  36. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/microgrid/components/transformer.proto +0 -0
  37. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/microgrid/sensors/sensors.proto +0 -0
  38. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/pagination/pagination_info.proto +0 -0
  39. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/proto/frequenz/api/common/v1/types/decimal.proto +0 -0
  40. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz/api/common/__init__.py +0 -0
  41. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz/api/common/metrics/__init__.py +0 -0
  42. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz/api/common/py.typed +0 -0
  43. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz/api/common/v1/__init__.py +0 -0
  44. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz/api/common/v1/grid/__init__.py +0 -0
  45. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz/api/common/v1/market/__init__.py +0 -0
  46. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz/api/common/v1/metrics/__init__.py +0 -0
  47. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz/api/common/v1/microgrid/__init__.py +0 -0
  48. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz/api/common/v1/microgrid/components/__init__.py +0 -0
  49. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz/api/common/v1/microgrid/sensors/__init__.py +0 -0
  50. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz/api/common/v1/pagination/__init__.py +0 -0
  51. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz/api/common/v1/types/__init__.py +0 -0
  52. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/py/frequenz_api_common.egg-info/dependency_links.txt +0 -0
  53. {frequenz-api-common-0.6.3 → frequenz-api-common-0.6.4}/setup.cfg +0 -0
@@ -6,7 +6,7 @@ exclude CODEOWNERS
6
6
  exclude CONTRIBUTING.md
7
7
  exclude mkdocs.yml
8
8
  exclude noxfile.py
9
- exclude py/frequenz/api/common/conftest.py
9
+ exclude src/conftest.py
10
10
  recursive-exclude .github *
11
11
  recursive-exclude benchmarks *
12
12
  recursive-exclude docs *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: frequenz-api-common
3
- Version: 0.6.3
3
+ Version: 0.6.4
4
4
  Summary: Frequenz common gRPC API and bindings
5
5
  Author-email: Frequenz Energy-as-a-Service GmbH <floss@frequenz.com>
6
6
  License: MIT
@@ -0,0 +1,9 @@
1
+ # Frequenz Common API Release Notes
2
+
3
+ ## New Features
4
+
5
+ - Added message linking microgrid and sensor IDs.
6
+
7
+ ## Bug Fixes
8
+
9
+ - Fix a dependency issue by pinning the `grpcio` version and related libraries.
@@ -1,4 +1,4 @@
1
- // Frequenz definitions of energy.
1
+ // Frequenz definitions of energy for electricity trading.
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
- // 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.
17
+ // In these trading orders, the unit of energy is denominated in MWh
18
+ // (Megawatt-hours) as opposed to MW (Megawatts). MWh is a unit of energy
19
+ // representing total output over a period, while MW is a unit of power that
20
+ // represents the rate of energy production or consumption.
21
21
  message Energy {
22
- // Energy unit in Megawatthours (MWh).
22
+ // Represents energy unit in Megawatthours (MWh).
23
23
  frequenz.api.common.v1.types.Decimal mwh = 1;
24
24
  }
@@ -63,20 +63,6 @@ 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.
80
66
  enum Metric {
81
67
  // Default value.
82
68
  METRIC_UNSPECIFIED = 0;
@@ -24,7 +24,8 @@ import "google/protobuf/timestamp.proto";
24
24
 
25
25
  // Enumrated component categories.
26
26
  enum ComponentCategory {
27
- // The component category is unspecified. This should not be used.
27
+ // An unknown component categories, useful for error handling, and marking
28
+ // unknown components in a list of components with otherwise known categories.
28
29
  COMPONENT_CATEGORY_UNSPECIFIED = 0;
29
30
 
30
31
  // The point where the local microgrid is connected to the grid.
@@ -0,0 +1,28 @@
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
+ }
@@ -51,15 +51,9 @@ 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.
58
54
  frequenz.api.common.v1.grid.DeliveryArea delivery_area = 4;
59
55
 
60
56
  // Physical location of the microgrid, in geographical co-ordinates.
61
- //
62
- // If the location is not known, this field will be missing.
63
57
  frequenz.api.common.v1.Location location = 5;
64
58
 
65
59
  // The current status of the microgrid.
@@ -77,3 +71,12 @@ message MicrogridComponentIDs {
77
71
  // List of component IDs belonging to this microgrid.
78
72
  repeated uint64 component_ids = 2;
79
73
  }
74
+
75
+ /// A message to link sensor IDs with their respective microgrid ID.
76
+ message MicrogridSensorIDs {
77
+ // The ID of the microgrid.
78
+ uint64 microgrid_id = 1;
79
+
80
+ // List of sensor IDs belonging to this microgrid.
81
+ repeated uint64 sensor_ids = 2;
82
+ }
@@ -0,0 +1,26 @@
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
+ }
@@ -0,0 +1,13 @@
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()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: frequenz-api-common
3
- Version: 0.6.3
3
+ Version: 0.6.4
4
4
  Summary: Frequenz common gRPC API and bindings
5
5
  Author-email: Frequenz Energy-as-a-Service GmbH <floss@frequenz.com>
6
6
  License: MIT
@@ -11,7 +11,6 @@ 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
15
14
  proto/frequenz/api/common/v1/market/price.proto
16
15
  proto/frequenz/api/common/v1/metrics/bounds.proto
17
16
  proto/frequenz/api/common/v1/metrics/metric_sample.proto
@@ -28,6 +27,7 @@ proto/frequenz/api/common/v1/microgrid/sensors/sensors.proto
28
27
  proto/frequenz/api/common/v1/pagination/pagination_info.proto
29
28
  proto/frequenz/api/common/v1/pagination/pagination_params.proto
30
29
  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
@@ -1,41 +1,41 @@
1
- protobuf<7,>=5.28.0
2
- grpcio<2,>=1.66.1
1
+ protobuf<6,>=4.25.3
2
+ grpcio<2,>=1.51.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.1.1
8
+ flake8==7.0.0
9
9
  flake8-docstrings==1.7.0
10
10
  flake8-pyproject==1.2.3
11
- pydoclint==0.5.9
11
+ pydoclint==0.4.1
12
12
  pydocstyle==6.3.0
13
13
 
14
14
  [dev-formatting]
15
- black==24.8.0
15
+ black==24.4.2
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.39
23
- mkdocstrings[python]==0.26.1
24
- frequenz-repo-config[api]==0.10.0
22
+ mkdocs-material==9.5.21
23
+ mkdocstrings[python]==0.25.1
24
+ frequenz-repo-config[api]==0.9.2
25
25
 
26
26
  [dev-mypy]
27
- mypy==1.11.2
27
+ mypy==1.10.0
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.10.0
33
+ frequenz-repo-config[api]==0.9.2
34
34
 
35
35
  [dev-pylint]
36
- pylint==3.3.1
36
+ pylint==3.1.0
37
37
  frequenz-api-common[dev-mkdocs,dev-noxfile,dev-pytest]
38
38
 
39
39
  [dev-pytest]
40
- pytest==8.3.3
41
- frequenz-repo-config[extra-lint-examples]==0.10.0
40
+ pytest==8.2.0
41
+ frequenz-repo-config[extra-lint-examples]==0.9.2
@@ -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.10.0",
8
+ "frequenz-repo-config[api] == 0.9.2",
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 == 5.28.0",
14
- "grpcio-tools == 1.66.1",
15
- "grpcio == 1.66.1",
13
+ "protobuf == 4.25.3",
14
+ "grpcio-tools == 1.51.1",
15
+ "grpcio == 1.51.1",
16
16
  ]
17
17
  build-backend = "setuptools.build_meta"
18
18
 
@@ -33,14 +33,13 @@ classifiers = [
33
33
  ]
34
34
  requires-python = ">= 3.11, < 4"
35
35
  dependencies = [
36
- # We can't widen beyond the current value unless we bump the minimum
37
- # requirements too because of protobuf cross-version runtime guarantees:
36
+ # We can't widen beyond 6 because of protobuf cross-version runtime guarantees
38
37
  # https://protobuf.dev/support/cross-version-runtime-guarantee/#major
39
- "protobuf >= 5.28.0, < 7", # Do not widen beyond 7!
38
+ "protobuf >= 4.25.3, < 6", # Do not widen beyond 6!
40
39
  # We couldn't find any document with a spec about the cross-version runtime
41
40
  # guarantee for grpcio, so unless we find one in the future, we'll assume
42
41
  # major version jumps are not compatible
43
- "grpcio >= 1.66.1, < 2", # Do not widen beyond 2!
42
+ "grpcio >= 1.51.1, < 2", # Do not widen beyond 2!
44
43
  ]
45
44
  dynamic = ["version"]
46
45
 
@@ -50,36 +49,36 @@ email = "floss@frequenz.com"
50
49
 
51
50
  [project.optional-dependencies]
52
51
  dev-flake8 = [
53
- "flake8 == 7.1.1",
52
+ "flake8 == 7.0.0",
54
53
  "flake8-docstrings == 1.7.0",
55
54
  "flake8-pyproject == 1.2.3", # For reading the flake8 config from pyproject.toml
56
- "pydoclint == 0.5.9",
55
+ "pydoclint == 0.4.1",
57
56
  "pydocstyle == 6.3.0",
58
57
  ]
59
- dev-formatting = ["black == 24.8.0", "isort == 5.13.2"]
58
+ dev-formatting = ["black == 24.4.2", "isort == 5.13.2"]
60
59
  dev-mkdocs = [
61
60
  "mike == 1.1.2",
62
61
  "mkdocs-gen-files == 0.5.0",
63
62
  "mkdocs-literate-nav == 0.6.1",
64
- "mkdocs-material == 9.5.39",
65
- "mkdocstrings[python] == 0.26.1",
66
- "frequenz-repo-config[api] == 0.10.0",
63
+ "mkdocs-material == 9.5.21",
64
+ "mkdocstrings[python] == 0.25.1",
65
+ "frequenz-repo-config[api] == 0.9.2",
67
66
  ]
68
67
  dev-mypy = [
69
- "mypy == 1.11.2",
68
+ "mypy == 1.10.0",
70
69
  "grpc-stubs == 1.53.0.5",
71
70
  # For checking the noxfile, docs/ script, and tests
72
71
  "frequenz-api-common[dev-mkdocs,dev-noxfile,dev-pytest]",
73
72
  ]
74
- dev-noxfile = ["nox == 2024.4.15", "frequenz-repo-config[api] == 0.10.0"]
73
+ dev-noxfile = ["nox == 2024.4.15", "frequenz-repo-config[api] == 0.9.2"]
75
74
  dev-pylint = [
76
- "pylint == 3.3.1",
75
+ "pylint == 3.1.0",
77
76
  # For checking the noxfile, docs/ script, and tests
78
77
  "frequenz-api-common[dev-mkdocs,dev-noxfile,dev-pytest]",
79
78
  ]
80
79
  dev-pytest = [
81
- "pytest == 8.3.3",
82
- "frequenz-repo-config[extra-lint-examples] == 0.10.0",
80
+ "pytest == 8.2.0",
81
+ "frequenz-repo-config[extra-lint-examples] == 0.9.2",
83
82
  ]
84
83
  dev = [
85
84
  "frequenz-api-common[dev-mkdocs,dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]",
@@ -1,22 +0,0 @@
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,30 +0,0 @@
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
- }
@@ -1,41 +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
- // 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
- }
@@ -1,31 +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.
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
- }