Skip to content

Commit cde6102

Browse files
committed
Remove unused _ComposableFormulaEngine implementation
Signed-off-by: Sahas Subramanian <[email protected]>
1 parent d9faff3 commit cde6102

File tree

1 file changed

+1
-142
lines changed

1 file changed

+1
-142
lines changed

src/frequenz/sdk/timeseries/formula_engine/_formula_engine.py

Lines changed: 1 addition & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from abc import ABC
1313
from collections import deque
1414
from collections.abc import Callable
15-
from typing import Generic, TypeVar, Union, overload
15+
from typing import Generic, Union, overload
1616

1717
from frequenz.channels import Broadcast, Receiver
1818

@@ -78,147 +78,6 @@
7878
"HigherOrderFormulaBuilder3Phase", # type: ignore[type-arg]
7979
]
8080

81-
_GenericEngine = TypeVar(
82-
"_GenericEngine",
83-
"FormulaEngine", # type: ignore
84-
"FormulaEngine3Phase", # type: ignore
85-
)
86-
87-
_GenericHigherOrderBuilder = TypeVar(
88-
"_GenericHigherOrderBuilder",
89-
"HigherOrderFormulaBuilder", # type: ignore
90-
"HigherOrderFormulaBuilder3Phase", # type: ignore
91-
)
92-
93-
94-
# This class has multiple generic type parameters that should also restrict each other,
95-
# but mypy doesn't support that, so we need to use `# type: ignore` in several places in
96-
# this, and subsequent classes, to avoid mypy errors.
97-
class _ComposableFormulaEngine(
98-
ABC, Generic[_GenericEngine, _GenericHigherOrderBuilder, QuantityT]
99-
):
100-
"""A base class for formula engines."""
101-
102-
_create_method: Callable[[float], QuantityT]
103-
_higher_order_builder: type[_GenericHigherOrderBuilder]
104-
_task: asyncio.Task[None] | None = None
105-
106-
async def _stop(self) -> None:
107-
"""Stop a running formula engine."""
108-
if self._task is None:
109-
return
110-
await cancel_and_await(self._task)
111-
112-
def __add__(
113-
self,
114-
other: _GenericEngine | _GenericHigherOrderBuilder | QuantityT,
115-
) -> _GenericHigherOrderBuilder:
116-
"""Return a formula builder that adds (data in) `other` to `self`.
117-
118-
Args:
119-
other: A formula receiver, or a formula builder instance corresponding to a
120-
sub-expression.
121-
122-
Returns:
123-
A formula builder that can take further expressions, or can be built
124-
into a formula engine.
125-
"""
126-
return self._higher_order_builder(self, self._create_method) + other # type: ignore
127-
128-
def __sub__(
129-
self, other: _GenericEngine | _GenericHigherOrderBuilder | QuantityT
130-
) -> _GenericHigherOrderBuilder:
131-
"""Return a formula builder that subtracts (data in) `other` from `self`.
132-
133-
Args:
134-
other: A formula receiver, or a formula builder instance corresponding to a
135-
sub-expression.
136-
137-
Returns:
138-
A formula builder that can take further expressions, or can be built
139-
into a formula engine.
140-
"""
141-
return self._higher_order_builder(self, self._create_method) - other # type: ignore
142-
143-
def __mul__(
144-
self, other: _GenericEngine | _GenericHigherOrderBuilder | float
145-
) -> _GenericHigherOrderBuilder:
146-
"""Return a formula builder that multiplies (data in) `self` with `other`.
147-
148-
Args:
149-
other: A formula receiver, or a formula builder instance corresponding to a
150-
sub-expression.
151-
152-
Returns:
153-
A formula builder that can take further expressions, or can be built
154-
into a formula engine.
155-
"""
156-
return self._higher_order_builder(self, self._create_method) * other # type: ignore
157-
158-
def __truediv__(
159-
self, other: _GenericEngine | _GenericHigherOrderBuilder | float
160-
) -> _GenericHigherOrderBuilder:
161-
"""Return a formula builder that divides (data in) `self` by `other`.
162-
163-
Args:
164-
other: A formula receiver, or a formula builder instance corresponding to a
165-
sub-expression.
166-
167-
Returns:
168-
A formula builder that can take further expressions, or can be built
169-
into a formula engine.
170-
"""
171-
return self._higher_order_builder(self, self._create_method) / other # type: ignore
172-
173-
def max(
174-
self, other: _GenericEngine | _GenericHigherOrderBuilder | QuantityT
175-
) -> _GenericHigherOrderBuilder:
176-
"""Return a formula engine that outputs the maximum of `self` and `other`.
177-
178-
Args:
179-
other: A formula receiver, a formula builder or a QuantityT instance
180-
corresponding to a sub-expression.
181-
182-
Returns:
183-
A formula builder that can take further expressions, or can be built
184-
into a formula engine.
185-
"""
186-
return self._higher_order_builder(self, self._create_method).max(other) # type: ignore
187-
188-
def min(
189-
self, other: _GenericEngine | _GenericHigherOrderBuilder | QuantityT
190-
) -> _GenericHigherOrderBuilder:
191-
"""Return a formula engine that outputs the minimum of `self` and `other`.
192-
193-
Args:
194-
other: A formula receiver, a formula builder or a QuantityT instance
195-
corresponding to a sub-expression.
196-
197-
198-
Returns:
199-
A formula builder that can take further expressions, or can be built
200-
into a formula engine.
201-
"""
202-
return self._higher_order_builder(self, self._create_method).min(other) # type: ignore
203-
204-
def consumption(self) -> _GenericHigherOrderBuilder:
205-
"""
206-
Return a formula builder that applies the consumption operator on `self`.
207-
208-
The consumption operator returns either the identity if the power value is
209-
positive or 0.
210-
"""
211-
return self._higher_order_builder(self, self._create_method).consumption() # type: ignore
212-
213-
def production(self) -> _GenericHigherOrderBuilder:
214-
"""
215-
Return a formula builder that applies the production operator on `self`.
216-
217-
The production operator returns either the absolute value if the power value is
218-
negative or 0.
219-
"""
220-
return self._higher_order_builder(self, self._create_method).production() # type: ignore
221-
22281

22382
class FormulaEngine(Generic[QuantityT]):
22483
"""[`FormulaEngine`][frequenz.sdk.timeseries.formula_engine.FormulaEngine]s are a

0 commit comments

Comments
 (0)