Skip to content

Commit d6356c7

Browse files
committed
Rename core template classes for tasks and flows
1 parent ae6d99b commit d6356c7

File tree

8 files changed

+94
-87
lines changed

8 files changed

+94
-87
lines changed

src/omnipy/compute/flow.py

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,16 @@ class FlowBase:
3131
...
3232

3333

34-
class _LinearFlowTemplate(TaskTemplateArgsJobBase[IsLinearFlowTemplate[CallP, RetT],
35-
IsLinearFlow[CallP, RetT],
36-
CallP,
37-
RetT],
38-
JobTemplateMixin[IsLinearFlowTemplate[CallP, RetT],
39-
IsLinearFlow[CallP, RetT],
40-
CallP,
41-
RetT],
42-
FlowBase,
43-
Generic[CallP, RetT]):
34+
class LinearFlowTemplateCore(TaskTemplateArgsJobBase[IsLinearFlowTemplate[CallP, RetT],
35+
IsLinearFlow[CallP, RetT],
36+
CallP,
37+
RetT],
38+
JobTemplateMixin[IsLinearFlowTemplate[CallP, RetT],
39+
IsLinearFlow[CallP, RetT],
40+
CallP,
41+
RetT],
42+
FlowBase,
43+
Generic[CallP, RetT]):
4444
@classmethod
4545
def _get_job_subcls_for_apply(cls) -> type[IsLinearFlow[CallP, RetT]]:
4646
return cast(type[IsLinearFlow[CallP, RetT]], LinearFlow[CallP, RetT])
@@ -57,7 +57,7 @@ def linear_flow_template_as_callable_decorator(
5757

5858
def to_linear_flow_template_init_protocol(
5959
decorated_cls: Callable[Concatenate[Callable[CallP, RetT], InitP],
60-
_LinearFlowTemplate[CallP, RetT]]
60+
LinearFlowTemplateCore[CallP, RetT]]
6161
) -> HasTaskTemplateArgsJobTemplateInit[
6262
IsLinearFlowTemplate[CallP, RetT], IsTaskTemplate, CallP, RetT]:
6363
return cast(
@@ -69,7 +69,7 @@ def to_linear_flow_template_init_protocol(
6969

7070

7171
LinearFlowTemplate = linear_flow_template_as_callable_decorator(
72-
to_linear_flow_template_init_protocol(_LinearFlowTemplate))
72+
to_linear_flow_template_init_protocol(LinearFlowTemplateCore))
7373

7474

7575
class LinearFlow(JobMixin[IsLinearFlowTemplate[CallP, RetT], IsLinearFlow[CallP, RetT], CallP,
@@ -91,16 +91,16 @@ def _get_job_template_subcls_for_revise(cls) -> type[IsLinearFlowTemplate[CallP,
9191
return cast(type[IsLinearFlowTemplate[CallP, RetT]], LinearFlowTemplate)
9292

9393

94-
class _DagFlowTemplate(TaskTemplateArgsJobBase[IsDagFlowTemplate[CallP, RetT],
95-
IsDagFlow[CallP, RetT],
96-
CallP,
97-
RetT],
98-
JobTemplateMixin[IsDagFlowTemplate[CallP, RetT],
99-
IsDagFlow[CallP, RetT],
100-
CallP,
101-
RetT],
102-
FlowBase,
103-
Generic[CallP, RetT]):
94+
class DagFlowTemplateCore(TaskTemplateArgsJobBase[IsDagFlowTemplate[CallP, RetT],
95+
IsDagFlow[CallP, RetT],
96+
CallP,
97+
RetT],
98+
JobTemplateMixin[IsDagFlowTemplate[CallP, RetT],
99+
IsDagFlow[CallP, RetT],
100+
CallP,
101+
RetT],
102+
FlowBase,
103+
Generic[CallP, RetT]):
104104
@classmethod
105105
def _get_job_subcls_for_apply(cls) -> type[IsDagFlow[CallP, RetT]]:
106106
return cast(type[IsDagFlow[CallP, RetT]], DagFlow[CallP, RetT])
@@ -117,7 +117,7 @@ def dag_flow_template_as_callable_decorator(
117117

118118
def to_dag_flow_template_init_protocol(
119119
decorated_cls: Callable[Concatenate[Callable[CallP, RetT], InitP],
120-
_DagFlowTemplate[CallP, RetT]]
120+
DagFlowTemplateCore[CallP, RetT]]
121121
) -> HasTaskTemplateArgsJobTemplateInit[IsDagFlowTemplate[CallP, RetT], IsTaskTemplate, CallP,
122122
RetT]:
123123
return cast(
@@ -129,7 +129,7 @@ def to_dag_flow_template_init_protocol(
129129

130130

131131
DagFlowTemplate = dag_flow_template_as_callable_decorator(
132-
to_dag_flow_template_init_protocol(_DagFlowTemplate))
132+
to_dag_flow_template_init_protocol(DagFlowTemplateCore))
133133

134134

135135
class DagFlow(JobMixin[IsDagFlowTemplate[CallP, RetT], IsDagFlow[CallP, RetT], CallP, RetT],
@@ -150,16 +150,16 @@ def _get_job_template_subcls_for_revise(cls) -> type[IsDagFlowTemplate[CallP, Re
150150
return cast(type[IsDagFlowTemplate[CallP, RetT]], DagFlowTemplate)
151151

152152

153-
class _FuncFlowTemplate(FuncArgJobBase[IsFuncFlowTemplate[CallP, RetT],
154-
IsFuncFlow[CallP, RetT],
155-
CallP,
156-
RetT],
157-
JobTemplateMixin[IsFuncFlowTemplate[CallP, RetT],
158-
IsFuncFlow[CallP, RetT],
159-
CallP,
160-
RetT],
161-
FlowBase,
162-
Generic[CallP, RetT]):
153+
class FuncFlowTemplateCore(FuncArgJobBase[IsFuncFlowTemplate[CallP, RetT],
154+
IsFuncFlow[CallP, RetT],
155+
CallP,
156+
RetT],
157+
JobTemplateMixin[IsFuncFlowTemplate[CallP, RetT],
158+
IsFuncFlow[CallP, RetT],
159+
CallP,
160+
RetT],
161+
FlowBase,
162+
Generic[CallP, RetT]):
163163
@classmethod
164164
def _get_job_subcls_for_apply(cls) -> type[IsFuncFlow[CallP, RetT]]:
165165
return cast(type[IsFuncFlow[CallP, RetT]], FuncFlow[CallP, RetT])
@@ -176,14 +176,14 @@ def func_flow_template_as_callable_decorator(
176176

177177
def to_func_flow_template_init_protocol(
178178
decorated_cls: Callable[Concatenate[Callable[CallP, RetT], InitP],
179-
_FuncFlowTemplate[CallP, RetT]]
179+
FuncFlowTemplateCore[CallP, RetT]]
180180
) -> HasFuncArgJobTemplateInit[IsFuncFlowTemplate[CallP, RetT], CallP, RetT]:
181181
return cast(HasFuncArgJobTemplateInit[IsFuncFlowTemplate[CallP, RetT], CallP, RetT],
182182
decorated_cls)
183183

184184

185185
FuncFlowTemplate = func_flow_template_as_callable_decorator(
186-
to_func_flow_template_init_protocol(_FuncFlowTemplate))
186+
to_func_flow_template_init_protocol(FuncFlowTemplateCore))
187187

188188

189189
class FuncFlow(JobMixin[IsFuncFlowTemplate[CallP, RetT], IsFuncFlow[CallP, RetT], CallP, RetT],

src/omnipy/compute/task.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,14 @@ class TaskBase:
2121
...
2222

2323

24-
class _TaskTemplate(FuncArgJobBase[IsTaskTemplate[CallP, RetT], IsTask[CallP, RetT], CallP, RetT],
25-
JobTemplateMixin[IsTaskTemplate[CallP, RetT], IsTask[CallP, RetT], CallP, RetT],
26-
TaskBase,
27-
Generic[CallP, RetT]):
24+
class TaskTemplateCore(FuncArgJobBase[IsTaskTemplate[CallP, RetT], IsTask[CallP, RetT], CallP,
25+
RetT],
26+
JobTemplateMixin[IsTaskTemplate[CallP, RetT],
27+
IsTask[CallP, RetT],
28+
CallP,
29+
RetT],
30+
TaskBase,
31+
Generic[CallP, RetT]):
2832
""""""
2933
@classmethod
3034
def _get_job_subcls_for_apply(cls) -> type[IsTask[CallP, RetT]]:
@@ -41,15 +45,16 @@ def task_template_as_callable_decorator(
4145

4246

4347
def to_task_template_init_protocol(
44-
decorated_cls: Callable[Concatenate[Callable[CallP, RetT], InitP], _TaskTemplate[CallP, RetT]]
48+
decorated_cls: Callable[Concatenate[Callable[CallP, RetT], InitP],
49+
TaskTemplateCore[CallP, RetT]]
4550
) -> HasFuncArgJobTemplateInit[IsTaskTemplate[CallP, RetT], CallP, RetT]:
4651
return cast(HasFuncArgJobTemplateInit[IsTaskTemplate[CallP, RetT], CallP, RetT], decorated_cls)
4752

4853

49-
TaskTemplate = task_template_as_callable_decorator(to_task_template_init_protocol(_TaskTemplate))
54+
TaskTemplate = task_template_as_callable_decorator(to_task_template_init_protocol(TaskTemplateCore))
5055
# Only works with mypy, not pyright or PyCharm
5156
#
52-
# TaskTemplate = callable_decorator_cls(to_task_template_init_protocol(_TaskTemplate))
57+
# TaskTemplate = callable_decorator_cls(to_task_template_init_protocol(TaskTemplateCore))
5358

5459

5560
class Task(JobMixin[IsTaskTemplate[CallP, RetT], IsTask[CallP, RetT], CallP, RetT],

tests/compute/conftest.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
import pytest
55
import pytest_cases as pc
66

7-
from omnipy.compute.flow import (_DagFlowTemplate,
8-
_FuncFlowTemplate,
9-
_LinearFlowTemplate,
10-
DagFlow,
7+
from omnipy.compute.flow import (DagFlow,
118
DagFlowTemplate,
9+
DagFlowTemplateCore,
1210
FuncFlow,
1311
FuncFlowTemplate,
12+
FuncFlowTemplateCore,
1413
LinearFlow,
15-
LinearFlowTemplate)
14+
LinearFlowTemplate,
15+
LinearFlowTemplateCore)
1616
from omnipy.compute.job import JobBase
1717

1818
from .helpers.classes import (AnyFlowClsTuple,
@@ -65,7 +65,7 @@ def linear_flow_cls_tuple() -> FlowClsTuple[type[LinearFlow], SingleTaskLinearFl
6565
return FlowClsTuple(
6666
flow_cls=LinearFlow,
6767
flow_tmpl_cls=LinearFlowTemplate,
68-
assert_flow_tmpl_cls=_LinearFlowTemplate,
68+
assert_flow_tmpl_cls=LinearFlowTemplateCore,
6969
)
7070

7171

@@ -74,7 +74,7 @@ def dag_flow_cls_tuple() -> FlowClsTuple[type[DagFlow], SingleTaskDagFlowTemplat
7474
return FlowClsTuple(
7575
flow_cls=DagFlow,
7676
flow_tmpl_cls=DagFlowTemplate,
77-
assert_flow_tmpl_cls=_DagFlowTemplate,
77+
assert_flow_tmpl_cls=DagFlowTemplateCore,
7878
)
7979

8080

@@ -83,7 +83,7 @@ def func_flow_cls_tuple() -> FlowClsTuple[type[FuncFlow], FuncFlowTemplateCallab
8383
return FlowClsTuple(
8484
flow_cls=FuncFlow,
8585
flow_tmpl_cls=FuncFlowTemplate,
86-
assert_flow_tmpl_cls=_FuncFlowTemplate,
86+
assert_flow_tmpl_cls=FuncFlowTemplateCore,
8787
)
8888

8989

tests/compute/helpers/mocks.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -247,12 +247,12 @@ def revise(self) -> 'IsCommandMockJobTemplate[CallP, RetT]':
247247
...
248248

249249

250-
class _CommandMockJobTemplate(CommandMockInit[CallP, RetT],
251-
JobTemplateMixin[IsCommandMockJobTemplate[CallP, RetT],
252-
IsCommandMockJob[CallP, RetT],
253-
CallP,
254-
RetT],
255-
Generic[CallP, RetT]):
250+
class CommandMockJobTemplateCore(CommandMockInit[CallP, RetT],
251+
JobTemplateMixin[IsCommandMockJobTemplate[CallP, RetT],
252+
IsCommandMockJob[CallP, RetT],
253+
CallP,
254+
RetT],
255+
Generic[CallP, RetT]):
256256
@classmethod
257257
def _get_job_subcls_for_apply(cls) -> type[IsCommandMockJob[CallP, RetT]]:
258258
return cast(type[IsCommandMockJob[CallP, RetT]], CommandMockJob[CallP, RetT])
@@ -270,16 +270,16 @@ def command_mock_job_template_as_callable_decorator(
270270

271271

272272
def to_command_mock_task_template_init_protocol(
273-
decorated_cls: Callable[Concatenate[Callable[CallP, RetT], InitP], _CommandMockJobTemplate]
273+
decorated_cls: Callable[Concatenate[Callable[CallP, RetT], InitP], CommandMockJobTemplateCore]
274274
) -> HasCommandMockJobTemplateInit[IsCommandMockJobTemplate[CallP, RetT], CallP, RetT]:
275275
return cast(HasCommandMockJobTemplateInit[IsCommandMockJobTemplate[CallP, RetT], CallP, RetT],
276276
decorated_cls)
277277

278278

279-
_CommandMockJobTemplate.accept_mixin(CommandMockParamMixin)
279+
CommandMockJobTemplateCore.accept_mixin(CommandMockParamMixin)
280280

281281
CommandMockJobTemplate = command_mock_job_template_as_callable_decorator(
282-
to_command_mock_task_template_init_protocol(_CommandMockJobTemplate))
282+
to_command_mock_task_template_init_protocol(CommandMockJobTemplateCore))
283283

284284

285285
class CommandMockJob(CommandMockInit[CallP, RetT],
@@ -504,7 +504,7 @@ class IsMockTaskAssertSameTimeOfCurFlowRun(
504504
""""""
505505

506506

507-
class _MockTaskTemplateAssertSameTimeOfCurFlowRun(
507+
class MockTaskTemplateAssertSameTimeOfCurFlowRunCore(
508508
FuncArgJobBase[IsMockTaskTemplateAssertSameTimeOfCurFlowRun[CallP, RetT],
509509
IsMockTaskAssertSameTimeOfCurFlowRun[CallP, RetT],
510510
CallP,
@@ -536,7 +536,7 @@ def mock_task_template_as_callable_decorator(
536536

537537
def to_mock_task_template_init_protocol(
538538
decorated_cls: Callable[Concatenate[Callable[CallP, RetT], InitP],
539-
_MockTaskTemplateAssertSameTimeOfCurFlowRun[CallP, RetT]]
539+
MockTaskTemplateAssertSameTimeOfCurFlowRunCore[CallP, RetT]]
540540
) -> HasFuncArgJobTemplateInit[
541541
IsMockTaskTemplateAssertSameTimeOfCurFlowRun[CallP, RetT], CallP, RetT]:
542542
return cast(
@@ -548,10 +548,10 @@ def to_mock_task_template_init_protocol(
548548
decorated_cls)
549549

550550

551-
_MockTaskTemplateAssertSameTimeOfCurFlowRun.accept_mixin(AssertSameTimeOfCurFlowRunJobBaseMixin)
551+
MockTaskTemplateAssertSameTimeOfCurFlowRunCore.accept_mixin(AssertSameTimeOfCurFlowRunJobBaseMixin)
552552

553553
MockTaskTemplateAssertSameTimeOfCurFlowRun = mock_task_template_as_callable_decorator(
554-
to_mock_task_template_init_protocol(_MockTaskTemplateAssertSameTimeOfCurFlowRun))
554+
to_mock_task_template_init_protocol(MockTaskTemplateAssertSameTimeOfCurFlowRunCore))
555555

556556

557557
class MockTaskAssertSameTimeOfCurFlowRun(

tests/compute/test_decorators.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
IsFuncFlowTemplate,
88
IsLinearFlowTemplate,
99
IsTaskTemplate)
10-
from omnipy.compute.flow import (_DagFlowTemplate,
11-
_FuncFlowTemplate,
12-
_LinearFlowTemplate,
13-
DagFlow,
10+
from omnipy.compute.flow import (DagFlow,
11+
DagFlowTemplateCore,
1412
FuncFlow,
1513
FuncFlowTemplate,
16-
LinearFlow)
17-
from omnipy.compute.task import _TaskTemplate, Task, TaskTemplate
14+
FuncFlowTemplateCore,
15+
LinearFlow,
16+
LinearFlowTemplateCore)
17+
from omnipy.compute.task import Task, TaskTemplate, TaskTemplateCore
1818

1919
from .helpers.mocks import MockLocalRunner
2020

@@ -28,7 +28,8 @@ def test_task_template_as_decorator(
2828
mock_local_runner: Annotated[MockLocalRunner, pytest.fixture],
2929
plus_one_template: IsTaskTemplate,
3030
) -> None:
31-
assert isinstance(plus_one_template, _TaskTemplate) # noqa # Pycharm static type checker bug
31+
assert isinstance(plus_one_template,
32+
TaskTemplateCore) # noqa # Pycharm static type checker bug
3233
assert plus_one_template.name == 'plus_one' # noqa # Pycharm static type checker bug
3334

3435
plus_one = plus_one_template.apply() # noqa # Pycharm static type checker bug
@@ -47,7 +48,7 @@ def test_linear_flow_template_as_decorator(
4748
plus_five_template: IsLinearFlowTemplate,
4849
) -> None:
4950

50-
assert isinstance(plus_five_template, _LinearFlowTemplate)
51+
assert isinstance(plus_five_template, LinearFlowTemplateCore)
5152
assert plus_five_template.name == 'plus_five'
5253

5354
plus_five = plus_five_template.apply()
@@ -66,7 +67,7 @@ def test_dag_flow_template_as_decorator(
6667
plus_five_template: IsDagFlowTemplate,
6768
) -> None:
6869

69-
assert isinstance(plus_five_template, _DagFlowTemplate)
70+
assert isinstance(plus_five_template, DagFlowTemplateCore)
7071
assert plus_five_template.name == 'plus_five'
7172

7273
plus_five = plus_five_template.apply()
@@ -90,7 +91,7 @@ def test_func_flow_template_as_decorator(
9091
plus_y_template: IsFuncFlowTemplate,
9192
) -> None:
9293

93-
assert isinstance(plus_y_template, _FuncFlowTemplate)
94+
assert isinstance(plus_y_template, FuncFlowTemplateCore)
9495
assert plus_y_template.name == 'plus_y'
9596

9697
plus_y = plus_y_template.apply()

tests/compute/test_flow.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
from .cases.raw.functions import data_import_func, empty_dict_func, format_to_string_func
1919
from .helpers.classes import AnyFlowClsTuple, FuncArgFlowClsTuple, TaskTemplateArgFlowClsTuple
2020
from .helpers.functions import assert_flow_or_flow_template, assert_updated_wrapper
21-
from .helpers.mocks import (_MockTaskTemplateAssertSameTimeOfCurFlowRun,
22-
IsMockTaskTemplateAssertSameTimeOfCurFlowRun,
21+
from .helpers.mocks import (IsMockTaskTemplateAssertSameTimeOfCurFlowRun,
2322
MockFlowTemplateSubclass,
2423
MockJobTemplateSubclass,
2524
MockLocalRunner,
26-
MockTaskTemplateAssertSameTimeOfCurFlowRun)
25+
MockTaskTemplateAssertSameTimeOfCurFlowRun,
26+
MockTaskTemplateAssertSameTimeOfCurFlowRunCore)
2727

2828
MockJobClasses = tuple[Type[JobBase], Type[JobTemplateMixin], Type[JobMixin]]
2929

@@ -362,8 +362,9 @@ def dag_flow_tmpl() -> int:
362362

363363

364364
def mypy_fix_mock_task_template_assert_same_time(
365-
mock_task_template_assert_same_time: object) -> _MockTaskTemplateAssertSameTimeOfCurFlowRun:
366-
return cast(_MockTaskTemplateAssertSameTimeOfCurFlowRun, mock_task_template_assert_same_time)
365+
mock_task_template_assert_same_time: object
366+
) -> MockTaskTemplateAssertSameTimeOfCurFlowRunCore:
367+
return cast(MockTaskTemplateAssertSameTimeOfCurFlowRunCore, mock_task_template_assert_same_time)
367368

368369

369370
def test_time_of_multi_level_flow_run_flow_cls_tuple(

0 commit comments

Comments
 (0)