Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

## Summary

- Dependency versions have been bumped, see "Upgrading" for specifics
- Renaming of time filter fields, see "Upgrading" for specifics
- The frequenz-api-common dependency has been updated to v0.8.0
- The reporting API now uses v1alpha8 of the common API, which comes with some breaking changes

## Upgrading

- The minimum allowed version of `protobuf` and `grpcio` has been updated to 6.31.1 and 1.72.1 respectively, you might also need to bump your dependencies accordingly.
- The fields `start` and `end` in `TimeFilter` have been renamed to `start_time` and `end_time` respectively. Apps that implement this API should take care.
- Widen dependency range for `frequenz-api-common` to also support v0.8.x.
- The `MicrogridComponentIDs` message is now called `MicrogridElectricalComponentIDs`
- The `ComponentData` message is now called `ElectricalComponentTelemetry`
- The `SensorData` message is now called `SensorTelemetry`

## New Features

Expand Down
22 changes: 11 additions & 11 deletions proto/frequenz/api/reporting/v1/reporting.proto
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ package frequenz.api.reporting.v1;

import "google/protobuf/timestamp.proto";

import "frequenz/api/common/v1/metrics/metric_sample.proto";
import "frequenz/api/common/v1/microgrid/components/components.proto";
import "frequenz/api/common/v1/microgrid/microgrid.proto";
import "frequenz/api/common/v1/microgrid/sensors/sensors.proto";
import "frequenz/api/common/v1alpha8/metrics/metrics.proto";
import "frequenz/api/common/v1alpha8/microgrid/electrical_components/electrical_components.proto";
import "frequenz/api/common/v1alpha8/microgrid/microgrid.proto";
import "frequenz/api/common/v1alpha8/microgrid/sensors/sensors.proto";

// The Reporting service provides services for real-time and historical metrics monitoring
// of various microgrid components like Batteries, EV Chargers, and Inverters.
Expand Down Expand Up @@ -132,7 +132,7 @@ message AggregationConfig {
// !!! caution
// Ensure the chosen metric is supported by all relevant microgrid components.
// Failure to meet these conditions might results in an aggregation error.
frequenz.api.common.v1.metrics.Metric metric = 2;
frequenz.api.common.v1alpha8.metrics.Metric metric = 2;

// The formula used for aggregating the component metric for this microgrid.
//
Expand Down Expand Up @@ -169,7 +169,7 @@ message SimpleAggregatedMetricValue {

// The aggregated value of the metric.
// float value = 2;
frequenz.api.common.v1.metrics.SimpleMetricValue sample = 2;
frequenz.api.common.v1alpha8.metrics.SimpleMetricValue sample = 2;
}

// Message defining a metric to receive data for, optionally filtering by connections.
Expand Down Expand Up @@ -205,7 +205,7 @@ message MetricConnections {
//
// If `connections` are specified, only data for this metric from those connections will be returned.
// If no `connections` are specified, data from all connections for this metric will be returned.
frequenz.api.common.v1.metrics.Metric metric = 1;
frequenz.api.common.v1alpha8.metrics.Metric metric = 1;

// An optional list of connections to filter the data for the specified metric.
//
Expand Down Expand Up @@ -279,7 +279,7 @@ message ReceiveMicrogridComponentsDataStreamRequest {
// !!! note
// Each entry in this repeated field associates a microgrid ID with its respective
// component IDs. At least one such association must be provided for a valid request.
repeated frequenz.api.common.v1.microgrid.MicrogridComponentIDs microgrid_components = 1;
repeated frequenz.api.common.v1alpha8.microgrid.MicrogridElectricalComponentIDs microgrid_components = 1;

// List of metrics to receive data for, each possibly with connection filters.
//
Expand Down Expand Up @@ -369,7 +369,7 @@ message ReceiveMicrogridComponentsDataStreamResponse {
uint64 microgrid_id = 1;

// List of components within this microgrid, each with its associated data samples.
repeated frequenz.api.common.v1.microgrid.components.ComponentData components = 2;
repeated frequenz.api.common.v1alpha8.microgrid.electrical_components.ElectricalComponentTelemetry components = 2;
}

// Message defining the request format for streaming aggregated historical metrics.
Expand Down Expand Up @@ -472,7 +472,7 @@ message ReceiveMicrogridSensorsDataStreamRequest {
// !!! note
// Each entry in this repeated field associates a microgrid ID with its respective
// sensor IDs. At least one such association must be provided for a valid request.
repeated frequenz.api.common.v1.microgrid.MicrogridSensorIDs microgrid_sensors = 1;
repeated frequenz.api.common.v1alpha8.microgrid.MicrogridSensorIDs microgrid_sensors = 1;

// List of metrics to receive data for, each possibly with connection filters.
//
Expand Down Expand Up @@ -504,7 +504,7 @@ message ReceiveMicrogridSensorsDataStreamResponse {
uint64 microgrid_id = 1;

// List of sensors within this microgrid, each with its associated data samples.
repeated frequenz.api.common.v1.microgrid.sensors.SensorData sensors = 2;
repeated frequenz.api.common.v1alpha8.microgrid.sensors.SensorTelemetry sensors = 2;
}

// Message defining the request format for streaming aggregated historical metrics.
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ classifiers = [
]
requires-python = ">= 3.11, < 4"
dependencies = [
"frequenz-api-common >= 0.6.5, < 0.9.0",
"frequenz-api-common >= 0.8.0, < 0.9.0",
# We can't widen beyond the current value unless we bump the minimum
# requirements too because of protobuf cross-version runtime guarantees:
# https://protobuf.dev/support/cross-version-runtime-guarantee/#major
Expand Down
2 changes: 1 addition & 1 deletion submodules/frequenz-api-common
Submodule frequenz-api-common updated 78 files
+51 −30 .github/dependabot.yml
+81 −0 .github/workflows/ci-pr.yaml
+163 −124 .github/workflows/ci.yaml
+23 −14 RELEASE_NOTES.md
+1 −1 proto/frequenz/api/common/v1/grid/delivery_area.proto
+62 −0 proto/frequenz/api/common/v1alpha7/grid/delivery_area.proto
+61 −0 proto/frequenz/api/common/v1alpha7/grid/delivery_duration.proto
+24 −0 proto/frequenz/api/common/v1alpha7/market/energy.proto
+30 −0 proto/frequenz/api/common/v1alpha7/market/power.proto
+53 −0 proto/frequenz/api/common/v1alpha7/market/price.proto
+23 −0 proto/frequenz/api/common/v1alpha7/metrics/bounds.proto
+302 −0 proto/frequenz/api/common/v1alpha7/metrics/metrics.proto
+199 −0 proto/frequenz/api/common/v1alpha7/microgrid/communication_components/communication_components.proto
+800 −0 proto/frequenz/api/common/v1alpha7/microgrid/electrical_components/electrical_components.proto
+41 −0 proto/frequenz/api/common/v1alpha7/microgrid/lifetime.proto
+88 −0 proto/frequenz/api/common/v1alpha7/microgrid/microgrid.proto
+188 −0 proto/frequenz/api/common/v1alpha7/microgrid/sensors/sensors.proto
+27 −0 proto/frequenz/api/common/v1alpha7/pagination/pagination_info.proto
+31 −0 proto/frequenz/api/common/v1alpha7/pagination/pagination_params.proto
+26 −0 proto/frequenz/api/common/v1alpha7/streaming/event.proto
+25 −0 proto/frequenz/api/common/v1alpha7/type/decimal.proto
+35 −0 proto/frequenz/api/common/v1alpha7/type/interval.proto
+22 −0 proto/frequenz/api/common/v1alpha7/type/location.proto
+62 −0 proto/frequenz/api/common/v1alpha8/grid/delivery_area.proto
+61 −0 proto/frequenz/api/common/v1alpha8/grid/delivery_duration.proto
+24 −0 proto/frequenz/api/common/v1alpha8/market/energy.proto
+30 −0 proto/frequenz/api/common/v1alpha8/market/power.proto
+53 −0 proto/frequenz/api/common/v1alpha8/market/price.proto
+23 −0 proto/frequenz/api/common/v1alpha8/metrics/bounds.proto
+302 −0 proto/frequenz/api/common/v1alpha8/metrics/metrics.proto
+199 −0 proto/frequenz/api/common/v1alpha8/microgrid/communication_components/communication_components.proto
+790 −0 proto/frequenz/api/common/v1alpha8/microgrid/electrical_components/electrical_components.proto
+41 −0 proto/frequenz/api/common/v1alpha8/microgrid/lifetime.proto
+89 −0 proto/frequenz/api/common/v1alpha8/microgrid/microgrid.proto
+188 −0 proto/frequenz/api/common/v1alpha8/microgrid/sensors/sensors.proto
+27 −0 proto/frequenz/api/common/v1alpha8/pagination/pagination_info.proto
+31 −0 proto/frequenz/api/common/v1alpha8/pagination/pagination_params.proto
+26 −0 proto/frequenz/api/common/v1alpha8/streaming/event.proto
+25 −0 proto/frequenz/api/common/v1alpha8/types/decimal.proto
+35 −0 proto/frequenz/api/common/v1alpha8/types/interval.proto
+22 −0 proto/frequenz/api/common/v1alpha8/types/location.proto
+1 −4 py/frequenz/api/common/__init__.py
+1 −1 py/frequenz/api/common/metrics/__init__.py
+1 −1 py/frequenz/api/common/v1/__init__.py
+4 −0 py/frequenz/api/common/v1/grid/__init__.py
+1 −1 py/frequenz/api/common/v1/market/__init__.py
+1 −1 py/frequenz/api/common/v1/metrics/__init__.py
+4 −0 py/frequenz/api/common/v1/microgrid/__init__.py
+4 −0 py/frequenz/api/common/v1/microgrid/components/__init__.py
+4 −0 py/frequenz/api/common/v1/microgrid/sensors/__init__.py
+1 −1 py/frequenz/api/common/v1/pagination/__init__.py
+4 −0 py/frequenz/api/common/v1/types/__init__.py
+4 −0 py/frequenz/api/common/v1alpha7/__init__.py
+4 −0 py/frequenz/api/common/v1alpha7/grid/__init__.py
+4 −0 py/frequenz/api/common/v1alpha7/market/__init__.py
+4 −0 py/frequenz/api/common/v1alpha7/metrics/__init__.py
+4 −0 py/frequenz/api/common/v1alpha7/microgrid/__init__.py
+4 −0 py/frequenz/api/common/v1alpha7/microgrid/communication_components/__init__.py
+4 −0 py/frequenz/api/common/v1alpha7/microgrid/electrical_components/__init__.py
+4 −0 py/frequenz/api/common/v1alpha7/microgrid/sensors/__init__.py
+4 −0 py/frequenz/api/common/v1alpha7/pagination/__init__.py
+4 −0 py/frequenz/api/common/v1alpha7/streaming/__init__.py
+4 −0 py/frequenz/api/common/v1alpha7/type/__init__.py
+4 −0 py/frequenz/api/common/v1alpha8/__init__.py
+4 −0 py/frequenz/api/common/v1alpha8/grid/__init__.py
+4 −0 py/frequenz/api/common/v1alpha8/market/__init__.py
+4 −0 py/frequenz/api/common/v1alpha8/metrics/__init__.py
+4 −0 py/frequenz/api/common/v1alpha8/microgrid/__init__.py
+4 −0 py/frequenz/api/common/v1alpha8/microgrid/communication_components/__init__.py
+4 −0 py/frequenz/api/common/v1alpha8/microgrid/electrical_components/__init__.py
+4 −0 py/frequenz/api/common/v1alpha8/microgrid/sensors/__init__.py
+4 −0 py/frequenz/api/common/v1alpha8/pagination/__init__.py
+4 −0 py/frequenz/api/common/v1alpha8/streaming/__init__.py
+0 −0 py/frequenz/api/common/v1alpha8/types/__init__.py
+37 −22 pyproject.toml
+0 −0 pytests/test_common_v1.py
+186 −0 pytests/test_common_v1alpha7.py
+186 −0 pytests/test_common_v1alpha8.py