Skip to content

Commit

Permalink
Upgrade mypy to 1.13.0
Browse files Browse the repository at this point in the history
Signed-off-by: Sergey Vasilyev <[email protected]>
  • Loading branch information
nolar committed Nov 18, 2024
1 parent 82579bb commit 5f14fa5
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
24 changes: 19 additions & 5 deletions kopf/_core/reactor/orchestration.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,12 @@
import functools
import itertools
import logging
from typing import Any, Collection, Container, Dict, Iterable, MutableMapping, NamedTuple, Optional
from typing import Any, Collection, Container, Dict, Iterable, \
MutableMapping, NamedTuple, Optional, Protocol

from kopf._cogs.aiokits import aiotasks, aiotoggles
from kopf._cogs.configs import configuration
from kopf._cogs.structs import references
from kopf._cogs.structs import bodies, references
from kopf._core.engines import peering
from kopf._core.reactor import queueing

Expand All @@ -43,6 +44,19 @@ class EnsembleKey(NamedTuple):
namespace: references.Namespace


# Differs from queueing.WatchStreamProcessor by the resource=… kwarg.
class ResourceWatchStreamProcessor(Protocol):
async def __call__(
self,
*,
resource: references.Resource,
raw_event: bodies.RawEvent,
stream_pressure: Optional[asyncio.Event] = None, # None for tests
resource_indexed: Optional[aiotoggles.Toggle] = None, # None for tests & observation
operator_indexed: Optional[aiotoggles.ToggleSet] = None, # None for tests & observation
) -> None: ...


@dataclasses.dataclass
class Ensemble:

Expand Down Expand Up @@ -89,7 +103,7 @@ def del_keys(self, keys: Container[EnsembleKey]) -> None:

async def ochestrator(
*,
processor: queueing.WatchStreamProcessor,
processor: ResourceWatchStreamProcessor,
settings: configuration.OperatorSettings,
identity: peering.Identity,
insights: references.Insights,
Expand Down Expand Up @@ -122,7 +136,7 @@ async def ochestrator(
# for a simulation of the insights (inputs) and an assertion of the tasks & toggles (outputs).
async def adjust_tasks(
*,
processor: queueing.WatchStreamProcessor,
processor: ResourceWatchStreamProcessor,
insights: references.Insights,
settings: configuration.OperatorSettings,
identity: peering.Identity,
Expand Down Expand Up @@ -213,7 +227,7 @@ async def spawn_missing_peerings(

async def spawn_missing_watchers(
*,
processor: queueing.WatchStreamProcessor,
processor: ResourceWatchStreamProcessor,
settings: configuration.OperatorSettings,
indexed_resources: Container[references.Resource], # only "if in", never "for in"!
watched_resources: Iterable[references.Resource],
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ freezegun
import-linter
isort
lxml
mypy==1.8.0
mypy==1.13.0
pre-commit
pyngrok
pytest>=6.0.0
Expand Down

0 comments on commit 5f14fa5

Please sign in to comment.