frequenz-api-common 0.6.0__tar.gz → 0.6.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.
Files changed (50) hide show
  1. {frequenz-api-common-0.6.0/py/frequenz_api_common.egg-info → frequenz-api-common-0.6.2}/PKG-INFO +1 -1
  2. frequenz-api-common-0.6.2/RELEASE_NOTES.md +5 -0
  3. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/microgrid/components/components.proto +3 -0
  4. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2/py/frequenz_api_common.egg-info}/PKG-INFO +1 -1
  5. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz_api_common.egg-info/requires.txt +10 -10
  6. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/pyproject.toml +25 -10
  7. frequenz-api-common-0.6.0/RELEASE_NOTES.md +0 -58
  8. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/LICENSE +0 -0
  9. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/MANIFEST.in +0 -0
  10. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/README.md +0 -0
  11. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/components.proto +0 -0
  12. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/location.proto +0 -0
  13. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/metrics/electrical.proto +0 -0
  14. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/metrics.proto +0 -0
  15. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/grid/delivery_area.proto +0 -0
  16. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/grid/delivery_duration.proto +0 -0
  17. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/location.proto +0 -0
  18. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/market/energy.proto +0 -0
  19. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/market/price.proto +0 -0
  20. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/metrics/bounds.proto +0 -0
  21. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/metrics/metric_sample.proto +0 -0
  22. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/microgrid/components/battery.proto +0 -0
  23. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/microgrid/components/ev_charger.proto +0 -0
  24. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/microgrid/components/fuse.proto +0 -0
  25. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/microgrid/components/grid.proto +0 -0
  26. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/microgrid/components/inverter.proto +0 -0
  27. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/microgrid/components/transformer.proto +0 -0
  28. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/microgrid/lifetime.proto +0 -0
  29. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/microgrid/microgrid.proto +0 -0
  30. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/microgrid/sensors/sensors.proto +0 -0
  31. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/pagination/pagination_info.proto +0 -0
  32. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/pagination/pagination_params.proto +0 -0
  33. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/proto/frequenz/api/common/v1/types/decimal.proto +0 -0
  34. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/conftest.py +0 -0
  35. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz/api/common/__init__.py +0 -0
  36. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz/api/common/metrics/__init__.py +0 -0
  37. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz/api/common/py.typed +0 -0
  38. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz/api/common/v1/__init__.py +0 -0
  39. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz/api/common/v1/grid/__init__.py +0 -0
  40. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz/api/common/v1/market/__init__.py +0 -0
  41. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz/api/common/v1/metrics/__init__.py +0 -0
  42. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz/api/common/v1/microgrid/__init__.py +0 -0
  43. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz/api/common/v1/microgrid/components/__init__.py +0 -0
  44. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz/api/common/v1/microgrid/sensors/__init__.py +0 -0
  45. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz/api/common/v1/pagination/__init__.py +0 -0
  46. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz/api/common/v1/types/__init__.py +0 -0
  47. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz_api_common.egg-info/SOURCES.txt +0 -0
  48. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz_api_common.egg-info/dependency_links.txt +0 -0
  49. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/py/frequenz_api_common.egg-info/top_level.txt +0 -0
  50. {frequenz-api-common-0.6.0 → frequenz-api-common-0.6.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: frequenz-api-common
3
- Version: 0.6.0
3
+ Version: 0.6.2
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,5 @@
1
+ # Frequenz Common API Release Notes
2
+
3
+ ## Bug Fixes
4
+
5
+ - Fix a dependency issue by pinning the `grpcio` version and related libraries.
@@ -81,6 +81,9 @@ enum ComponentCategory {
81
81
  // Note that voltage transformers have efficiency losses, so the output power
82
82
  // is always less than the input power.
83
83
  COMPONENT_CATEGORY_VOLTAGE_TRANSFORMER = 14;
84
+
85
+ // An HVAC (Heating, Ventilation, and Air Conditioning) system.
86
+ COMPONENT_CATEGORY_HVAC = 15;
84
87
  }
85
88
 
86
89
  // Metadata specific to a microgrid component.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: frequenz-api-common
3
- Version: 0.6.0
3
+ Version: 0.6.2
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
@@ -1,5 +1,5 @@
1
+ protobuf<6,>=4.25.3
1
2
  grpcio<2,>=1.51.1
2
- protobuf<5,>=4.25.3
3
3
 
4
4
  [dev]
5
5
  frequenz-api-common[dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]
@@ -12,30 +12,30 @@ pydoclint==0.4.1
12
12
  pydocstyle==6.3.0
13
13
 
14
14
  [dev-formatting]
15
- black==24.2.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.13
23
- mkdocstrings[python]==0.24.1
24
- frequenz-repo-config[api]==0.9.1
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.9.0
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
- nox==2024.3.2
33
- frequenz-repo-config[api]==0.9.1
32
+ nox==2024.4.15
33
+ frequenz-repo-config[api]==0.9.2
34
34
 
35
35
  [dev-pylint]
36
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.1.1
41
- frequenz-repo-config[extra-lint-examples]==0.9.1
40
+ pytest==8.2.0
41
+ frequenz-repo-config[extra-lint-examples]==0.9.2
@@ -5,7 +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.9.1",
8
+ "frequenz-repo-config[api] == 0.9.2",
9
+ # We need to pin the protobuf, grpcio and grpcio-tools dependencies to make
10
+ # sure the code is generated using the minimum supported versions, as older
11
+ # versions can't work with code that was generated with newer versions.
12
+ # https://protobuf.dev/support/cross-version-runtime-guarantee/#backwards
13
+ "protobuf == 4.25.3",
14
+ "grpcio-tools == 1.51.1",
15
+ "grpcio == 1.51.1",
9
16
  ]
10
17
  build-backend = "setuptools.build_meta"
11
18
 
@@ -25,7 +32,15 @@ classifiers = [
25
32
  "Typing :: Typed",
26
33
  ]
27
34
  requires-python = ">= 3.11, < 4"
28
- dependencies = ["grpcio >= 1.51.1, < 2", "protobuf >= 4.25.3, < 5"]
35
+ dependencies = [
36
+ # We can't widen beyond 6 because of protobuf cross-version runtime guarantees
37
+ # https://protobuf.dev/support/cross-version-runtime-guarantee/#major
38
+ "protobuf >= 4.25.3, < 6", # Do not widen beyond 6!
39
+ # We couldn't find any document with a spec about the cross-version runtime
40
+ # guarantee for grpcio, so unless we find one in the future, we'll assume
41
+ # major version jumps are not compatible
42
+ "grpcio >= 1.51.1, < 2", # Do not widen beyond 2!
43
+ ]
29
44
  dynamic = ["version"]
30
45
 
31
46
  [[project.authors]]
@@ -40,30 +55,30 @@ dev-flake8 = [
40
55
  "pydoclint == 0.4.1",
41
56
  "pydocstyle == 6.3.0",
42
57
  ]
43
- dev-formatting = ["black == 24.2.0", "isort == 5.13.2"]
58
+ dev-formatting = ["black == 24.4.2", "isort == 5.13.2"]
44
59
  dev-mkdocs = [
45
60
  "mike == 1.1.2",
46
61
  "mkdocs-gen-files == 0.5.0",
47
62
  "mkdocs-literate-nav == 0.6.1",
48
- "mkdocs-material == 9.5.13",
49
- "mkdocstrings[python] == 0.24.1",
50
- "frequenz-repo-config[api] == 0.9.1",
63
+ "mkdocs-material == 9.5.21",
64
+ "mkdocstrings[python] == 0.25.1",
65
+ "frequenz-repo-config[api] == 0.9.2",
51
66
  ]
52
67
  dev-mypy = [
53
- "mypy == 1.9.0",
68
+ "mypy == 1.10.0",
54
69
  "grpc-stubs == 1.53.0.5",
55
70
  # For checking the noxfile, docs/ script, and tests
56
71
  "frequenz-api-common[dev-mkdocs,dev-noxfile,dev-pytest]",
57
72
  ]
58
- dev-noxfile = ["nox == 2024.3.2", "frequenz-repo-config[api] == 0.9.1"]
73
+ dev-noxfile = ["nox == 2024.4.15", "frequenz-repo-config[api] == 0.9.2"]
59
74
  dev-pylint = [
60
75
  "pylint == 3.1.0",
61
76
  # For checking the noxfile, docs/ script, and tests
62
77
  "frequenz-api-common[dev-mkdocs,dev-noxfile,dev-pytest]",
63
78
  ]
64
79
  dev-pytest = [
65
- "pytest == 8.1.1",
66
- "frequenz-repo-config[extra-lint-examples] == 0.9.1",
80
+ "pytest == 8.2.0",
81
+ "frequenz-repo-config[extra-lint-examples] == 0.9.2",
67
82
  ]
68
83
  dev = [
69
84
  "frequenz-api-common[dev-mkdocs,dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]",
@@ -1,58 +0,0 @@
1
- # Frequenz Common API Release Notes
2
-
3
- ## Summary
4
-
5
- - Removed dependency on `googleapis-common-protos` in favor of internal
6
- `frequenz.api.common.v1.types.Decimal`, advising updates to dependencies for
7
- users previously relying on Google's types.
8
- - Renamed voltage and current metrics for clarity and introduced new metrics,
9
- including line-to-line voltages and Total Harmonic Distortion (THD) metrics,
10
- with updated naming conventions for simplicity and precision.
11
-
12
- ## Upgrading
13
-
14
- - The dependency on `googleapis-common-protos` / `googleapis/googleapis` was
15
- removed, now the built-in `frequenz.api.common.v1.types.Decimal` is used
16
- internally instead. This is compatible with Google's type, but if you
17
- depended indirectly on Google's submodule or python packages, you may need to
18
- update your dependencies.
19
-
20
- Nevertheless it is strongly recommended to remove the dependency on Google
21
- repos and use the built-in `frequenz.api.common.v1.types.Decimal` instead if
22
- your project only uses the `Decimal` type from it too.
23
-
24
- - Voltage metrics have been renamed from `METRIC_VOLTAGE_PHASE_[1|2|3]` to
25
- `METRIC_VOLTAGE_PHASE_[1|2|3]_N`.
26
-
27
- - The variants in the enum `Metric` have been renumberd due to the addition of
28
- line-to-line voltages.
29
-
30
- - Current metrics have been renamed:
31
- `METRIC_AC_APPARENT_CURRENT` -> `METRIC_AC_CURRENT`
32
- `METRIC_AC_APPARENT_CURRENT_PHASE_[1|2|3]` -> `METRIC_AC_CURRENT_PHASE_[1|2|3]`
33
-
34
- - Metrics for Total Harmonic Distortion have been un-abbreviated:
35
- `METRIC_AC_THD_CURRENT` -> `METRIC_AC_TOTAL_HARMONIC_DISTORTION_CURRENT`
36
- `METRIC_AC_THD_CURRENT_PHASE_[1|2|3]` -> `METRIC_AC_TOTAL_HARMONIC_DISTORTION_CURRENT_PHASE_[1|2|3]`
37
-
38
- - Renamed `SimpleMetricSample` to `SimpleMetricValue`, because it does not
39
- contain a timestamp, so it does not represent a sample but a value.
40
-
41
- - Renamed `AggregatedMetricSample` to `AggregatedMetricValue`, because it does not
42
- contain a timestamp, so it does not represent a sample but a value.
43
-
44
- - Renamed `MetricSampleVariant` to `MetricValueVariant`.
45
-
46
- - Rename `MetricSample.sample` to `MetricSample.value`.
47
-
48
- - Rename `SensorMetricSample.sample` to `SensorMetricSample.value`.
49
-
50
- ## New Features
51
-
52
- - Added a `Frequenz.api.common.v1.types.Decimal` type, compatible with
53
- `google.type.Decimal`.
54
-
55
- - The following new metrics have been added:
56
- - `METRIC_VOLTAGE_PHASE_1_PHASE_2`
57
- - `METRIC_VOLTAGE_PHASE_2_PHASE_3`
58
- - `METRIC_VOLTAGE_PHASE_3_PHASE_1`