Coverage for greyhorse/app/abc/functional/operators.py: 93%

15 statements  

« prev     ^ index     » next       coverage.py v7.11.3, created at 2026-05-12 22:07 +0300

1from __future__ import annotations 

2 

3from typing import Any 

4 

5 

6class Operator: 

7 """Base class for runtime operators with explicit lifecycle. 

8 

9 All methods are no-ops by default. Subclass must override at least one 

10 of the five lifecycle methods; OperatorContext validates this at construction. 

11 """ 

12 

13 __slots__ = () 

14 

15 def setup(self) -> None: 

16 pass 

17 

18 def resume(self) -> None: 

19 pass 

20 

21 def pause(self) -> None: 

22 pass 

23 

24 def teardown(self) -> None: 

25 pass 

26 

27 def __call__(self, *args: Any, **kwargs: Any) -> Any: 

28 pass 

29 

30 

31__all__ = ['Operator']