dv-flow-mgr 0.0.1.12922457458a1__py3-none-any.whl → 0.0.1.12932354274a1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dv_flow/mgr/__main__.py +21 -1
- dv_flow/mgr/package.py +2 -22
- dv_flow/mgr/package_def.py +0 -1
- dv_flow/mgr/package_import_spec.py +22 -2
- dv_flow/mgr/pkg_rgy.py +21 -0
- dv_flow/mgr/task.py +12 -56
- dv_flow/mgr/task_graph_builder.py +21 -7
- dv_flow/mgr/task_graph_runner.py +1 -1
- dv_flow/mgr/util.py +21 -0
- {dv_flow_mgr-0.0.1.12922457458a1.dist-info → dv_flow_mgr-0.0.1.12932354274a1.dist-info}/METADATA +1 -1
- {dv_flow_mgr-0.0.1.12922457458a1.dist-info → dv_flow_mgr-0.0.1.12932354274a1.dist-info}/RECORD +15 -17
- dv_flow/mgr/flow.py +0 -59
- dv_flow/mgr/parameters.py +0 -27
- {dv_flow_mgr-0.0.1.12922457458a1.dist-info → dv_flow_mgr-0.0.1.12932354274a1.dist-info}/LICENSE +0 -0
- {dv_flow_mgr-0.0.1.12922457458a1.dist-info → dv_flow_mgr-0.0.1.12932354274a1.dist-info}/WHEEL +0 -0
- {dv_flow_mgr-0.0.1.12922457458a1.dist-info → dv_flow_mgr-0.0.1.12932354274a1.dist-info}/entry_points.txt +0 -0
- {dv_flow_mgr-0.0.1.12922457458a1.dist-info → dv_flow_mgr-0.0.1.12932354274a1.dist-info}/top_level.txt +0 -0
dv_flow/mgr/__main__.py
CHANGED
@@ -1,4 +1,24 @@
|
|
1
|
-
|
1
|
+
#****************************************************************************
|
2
|
+
#* __main__.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
2
22
|
import argparse
|
3
23
|
from .cmds.cmd_run import CmdRun
|
4
24
|
|
dv_flow/mgr/package.py
CHANGED
@@ -20,22 +20,8 @@
|
|
20
20
|
#*
|
21
21
|
#****************************************************************************
|
22
22
|
import dataclasses as dc
|
23
|
-
import
|
24
|
-
from
|
25
|
-
from typing import Any, Callable, Dict, List, Tuple
|
26
|
-
from .flow import Flow
|
27
|
-
from .task import TaskParams, TaskCtor
|
28
|
-
from .task_def import TaskDef
|
29
|
-
|
30
|
-
class PackageAcc(object):
|
31
|
-
pkg_spec : 'PackageSpec'
|
32
|
-
session : 'Session'
|
33
|
-
pkg : 'Package' = None
|
34
|
-
|
35
|
-
def getPackage(self) -> 'Package':
|
36
|
-
if self.pkg is None:
|
37
|
-
self.pkg = self.session.getPackage(self.pkg_spec)
|
38
|
-
return self.pkg
|
23
|
+
from typing import Any, Dict
|
24
|
+
from .task import TaskCtor
|
39
25
|
|
40
26
|
@dc.dataclass
|
41
27
|
class Package(object):
|
@@ -44,13 +30,7 @@ class Package(object):
|
|
44
30
|
# Package holds constructors for tasks
|
45
31
|
# - Dict holds the default parameters for the task
|
46
32
|
tasks : Dict[str,TaskCtor] = dc.field(default_factory=dict)
|
47
|
-
imports : List['PackageAcc'] = dc.field(default_factory=list)
|
48
33
|
|
49
|
-
def getPackage(self, name : str) -> 'Package':
|
50
|
-
for p in self.imports:
|
51
|
-
if p.name == name:
|
52
|
-
return p.getPackage()
|
53
|
-
|
54
34
|
def getTaskCtor(self, name : str) -> TaskCtor:
|
55
35
|
return self.tasks[name]
|
56
36
|
|
dv_flow/mgr/package_def.py
CHANGED
@@ -28,7 +28,6 @@ import pydantic
|
|
28
28
|
import pydantic.dataclasses as dc
|
29
29
|
from pydantic import BaseModel
|
30
30
|
from typing import Any, Dict, List, Callable, Tuple
|
31
|
-
from .flow import Flow
|
32
31
|
from .fragment_def import FragmentDef
|
33
32
|
from .package import Package
|
34
33
|
from .package_import_spec import PackageImportSpec, PackageSpec
|
@@ -1,4 +1,24 @@
|
|
1
|
-
|
1
|
+
#****************************************************************************
|
2
|
+
#* package_import_spec.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
2
22
|
import pydantic.dataclasses as dc
|
3
23
|
import json
|
4
24
|
from typing import Dict, Any
|
@@ -28,4 +48,4 @@ class PackageSpec(object):
|
|
28
48
|
@dc.dataclass
|
29
49
|
class PackageImportSpec(PackageSpec):
|
30
50
|
path : str = dc.Field(default=None, alias="from")
|
31
|
-
alias : str = dc.Field(default=None, alias="as")
|
51
|
+
alias : str = dc.Field(default=None, alias="as")
|
dv_flow/mgr/pkg_rgy.py
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* pkg_rgy.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
1
22
|
import os
|
2
23
|
import sys
|
3
24
|
from typing import Dict, Tuple
|
dv_flow/mgr/task.py
CHANGED
@@ -68,12 +68,8 @@ class Task(object):
|
|
68
68
|
session : 'TaskGraphRunner' = None
|
69
69
|
basedir : str = None
|
70
70
|
memento : TaskMemento = None
|
71
|
-
|
72
|
-
depends : List[int] = dc.field(default_factory=list)
|
73
|
-
running : bool = False
|
74
|
-
output_set : bool = False
|
71
|
+
depends : List['Task'] = dc.field(default_factory=list)
|
75
72
|
output : Any = None
|
76
|
-
output_ev : Any = asyncio.Event()
|
77
73
|
|
78
74
|
# Implementation data below
|
79
75
|
basedir : str = dc.field(default=None)
|
@@ -107,23 +103,13 @@ class Task(object):
|
|
107
103
|
async def do_run(self) -> TaskData:
|
108
104
|
print("do_run: %s - %d depends" % (self.name, len(self.depends)))
|
109
105
|
if len(self.depends) > 0:
|
110
|
-
|
111
|
-
|
106
|
+
deps_o = []
|
107
|
+
for d in self.depends:
|
108
|
+
dep_o = d.getOutput()
|
109
|
+
if dep_o is None:
|
110
|
+
raise Exception("Null output for %s" % d.name)
|
111
|
+
deps_o.append(dep_o)
|
112
112
|
|
113
|
-
# Merge filesets. A fileset with the same
|
114
|
-
print("deps_o: %s" % str(deps_o))
|
115
|
-
|
116
|
-
|
117
|
-
# print("deps_m: %s" % str(deps_m))
|
118
|
-
|
119
|
-
# Merge the output of the dependencies into a single input data
|
120
|
-
# if len(self.depends) > 1:
|
121
|
-
# raise Exception("TODO: handle >1 inputs")
|
122
|
-
|
123
|
-
# Now that we have a clean input object, we need
|
124
|
-
# to build the dep map
|
125
|
-
|
126
|
-
# input = self.depends[0].output.copy()
|
127
113
|
input = TaskData.merge(deps_o)
|
128
114
|
input.src = self.name
|
129
115
|
input.deps[self.name] = list(inp.name for inp in self.depends)
|
@@ -137,29 +123,17 @@ class Task(object):
|
|
137
123
|
|
138
124
|
self.init_rundir()
|
139
125
|
|
140
|
-
|
141
|
-
|
142
|
-
if not self.output_set:
|
143
|
-
if result is None:
|
144
|
-
result = TaskData()
|
126
|
+
self.output = await self.run(input)
|
145
127
|
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
# result.deps.append(dep_o.clone())
|
150
|
-
|
151
|
-
self.setOutput(result)
|
152
|
-
else:
|
153
|
-
# The task has taken control of the output
|
154
|
-
result = self.getOutput()
|
128
|
+
if self.output is None:
|
129
|
+
raise Exception("No output produced by %s" % self.name)
|
130
|
+
result = TaskData()
|
155
131
|
|
156
132
|
# Write-back the memento, if specified
|
157
133
|
self.save_memento()
|
158
134
|
|
159
|
-
self.running = False
|
160
|
-
|
161
135
|
# Combine data from the deps to produce a result
|
162
|
-
return
|
136
|
+
return self.output
|
163
137
|
|
164
138
|
async def run(self, input : TaskData) -> TaskData:
|
165
139
|
raise NotImplementedError("TaskImpl.run() not implemented")
|
@@ -173,24 +147,6 @@ class Task(object):
|
|
173
147
|
with open(os.path.join(self.rundir, "memento.json"), "w") as fp:
|
174
148
|
fp.write(self.memento.model_dump_json(indent=2))
|
175
149
|
|
176
|
-
def setOutput(self, output : TaskData):
|
177
|
-
self.output_set = True
|
178
|
-
output.src = self.name
|
179
|
-
self.output = output
|
180
|
-
self.output_ev.set()
|
181
|
-
|
182
|
-
async def waitOutput(self) -> TaskData:
|
183
|
-
if not self.output_set:
|
184
|
-
if self.running:
|
185
|
-
# Task is already running
|
186
|
-
print("wait")
|
187
|
-
await self.output_ev.wait()
|
188
|
-
else:
|
189
|
-
self.running = True
|
190
|
-
print("start task")
|
191
|
-
await self.do_run()
|
192
|
-
return self.output
|
193
|
-
|
194
150
|
def getOutput(self) -> TaskData:
|
195
151
|
return self.output
|
196
152
|
|
@@ -1,3 +1,24 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* task_graph_builder.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
1
22
|
import os
|
2
23
|
import dataclasses as dc
|
3
24
|
from .package import Package
|
@@ -87,13 +108,6 @@ class TaskGraphBuilder(object):
|
|
87
108
|
rundir=rundir,
|
88
109
|
srcdir=ctor_t.srcdir)
|
89
110
|
|
90
|
-
for i,d in enumerate(task.depend_refs):
|
91
|
-
if d in self._task_m.keys():
|
92
|
-
task.depends.append(self._task_m[d])
|
93
|
-
else:
|
94
|
-
print("mkTaskGraph: %s" % d)
|
95
|
-
task.depends.append(self._mkTaskGraph(d, parent_rundir))
|
96
|
-
|
97
111
|
self._task_m[task.name] = task
|
98
112
|
|
99
113
|
self._pkg_s.pop()
|
dv_flow/mgr/task_graph_runner.py
CHANGED
dv_flow/mgr/util.py
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* util.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023 Matthew Ballance and Contributors
|
5
|
+
#*
|
6
|
+
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
+
#* not use this file except in compliance with the License.
|
8
|
+
#* You may obtain a copy of the License at:
|
9
|
+
#*
|
10
|
+
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#*
|
12
|
+
#* Unless required by applicable law or agreed to in writing, software
|
13
|
+
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
#* See the License for the specific language governing permissions and
|
16
|
+
#* limitations under the License.
|
17
|
+
#*
|
18
|
+
#* Created on:
|
19
|
+
#* Author:
|
20
|
+
#*
|
21
|
+
#****************************************************************************
|
1
22
|
import os
|
2
23
|
import yaml
|
3
24
|
from .package_def import PackageDef
|
{dv_flow_mgr-0.0.1.12922457458a1.dist-info → dv_flow_mgr-0.0.1.12932354274a1.dist-info}/RECORD
RENAMED
@@ -1,21 +1,19 @@
|
|
1
1
|
dv_flow/mgr/__init__.py,sha256=VtQfTiskn-fBaWU18s8odFPMDJ1Lx2DD4Y4Uy5EJ0Qs,261
|
2
|
-
dv_flow/mgr/__main__.py,sha256=
|
2
|
+
dv_flow/mgr/__main__.py,sha256=big-RSuqbx7P48_8rzaZKX5YW3B2US1i0mRH_TfoeIs,1340
|
3
3
|
dv_flow/mgr/fileset.py,sha256=FNvC5sU2ArxJ0OO3v8dXTv8zX-bZ5t0a0ljne0fQQ1o,1150
|
4
|
-
dv_flow/mgr/flow.py,sha256=UdgJOIqBS2wTRpO-sNWCCqO9oQFxDfGPGVD0r42aTrA,1562
|
5
4
|
dv_flow/mgr/fragment_def.py,sha256=p5i6ONtBWlDHTBFsduu3Z36_76Bn8PCIylp_xoZ7jfQ,1552
|
6
|
-
dv_flow/mgr/package.py,sha256=
|
7
|
-
dv_flow/mgr/package_def.py,sha256=
|
8
|
-
dv_flow/mgr/package_import_spec.py,sha256=
|
9
|
-
dv_flow/mgr/
|
10
|
-
dv_flow/mgr/
|
11
|
-
dv_flow/mgr/task.py,sha256=gaMlOiV4pKmEBzewTkVle3RN2zfKPkSdYW3oJX0j_Jg,6421
|
5
|
+
dv_flow/mgr/package.py,sha256=7G_ZQaTHin_mcwQu1PRsGmqfKAbdu9IC5HeLXtPgBDc,1342
|
6
|
+
dv_flow/mgr/package_def.py,sha256=3X0lrbU_SCNhxF9wFTpfQcmD1AbOv4XhnA-5U0IPouk,11431
|
7
|
+
dv_flow/mgr/package_import_spec.py,sha256=ah3r15v5Jdub2poc3sgi6Uar1L3oGoYsCPPNiOHV-a4,1760
|
8
|
+
dv_flow/mgr/pkg_rgy.py,sha256=ANnG7eyWN-PBgyYlKzq4ThoQNT2YoYm_5xXIK5HzypA,3408
|
9
|
+
dv_flow/mgr/task.py,sha256=ewJ7bCFWqwVuzHZZsX2LDZfzXWVFfFlH8yFyn-xxIVg,5043
|
12
10
|
dv_flow/mgr/task_data.py,sha256=-6Dqa3oUI7RJc1Js2SRSnhxNTcASkamXFYMN6UiknZQ,10376
|
13
11
|
dv_flow/mgr/task_def.py,sha256=96hSwqJo0MazJ1VcLhovYRmNCplsNLt47AumtyjSddU,1690
|
14
|
-
dv_flow/mgr/task_graph_builder.py,sha256=
|
15
|
-
dv_flow/mgr/task_graph_runner.py,sha256=
|
12
|
+
dv_flow/mgr/task_graph_builder.py,sha256=74w2A2XabL6xZVzb8bcKtSSdXdw7mzHJ69O7LrhkjMU,7935
|
13
|
+
dv_flow/mgr/task_graph_runner.py,sha256=NwNYcOJ952lPMLwIIlYE9CoDdedqvcw2fWHYUsKFXuU,2164
|
16
14
|
dv_flow/mgr/task_graph_runner_local.py,sha256=QDCUyFj_m4hJTUsZD5nCUCnPu3hysdk65-gVA8eJ894,4546
|
17
15
|
dv_flow/mgr/task_memento.py,sha256=C7VTQpBhDEoYuDmE6YTM-6TLMLnqHp6Y0Vat1aTgtCs,1096
|
18
|
-
dv_flow/mgr/util.py,sha256=
|
16
|
+
dv_flow/mgr/util.py,sha256=06eVyURF4ga-s8C9Sd3ZSDebwO4QS0XXaB8xADVbWRc,1437
|
19
17
|
dv_flow/mgr/cmds/cmd_run.py,sha256=PqAbPMwqovaaq14tnNrCvP7-De8lMI09X0R7d6RIbwY,2691
|
20
18
|
dv_flow/mgr/share/flow.json,sha256=lNmZex9NXkYbyb2aZseQfUOkV9CMyfH0iLODEI7EPBw,5096
|
21
19
|
dv_flow/mgr/std/fileset.py,sha256=qY4RMqTHZaFZk68Y3oXtDv2_Ezu1r4wYvaRvr0GTyIY,2352
|
@@ -23,9 +21,9 @@ dv_flow/mgr/std/flow.dv,sha256=pSpzrPPEu_L8DHccGfArxsKYgUfyQidShZc0ShgGtsY,500
|
|
23
21
|
dv_flow/mgr/std/message.py,sha256=BPTHnEMD4tBufQ9LvsS9Sa_0xjaJATbBpwqosWslvVA,193
|
24
22
|
dv_flow/mgr/std/task_fileset.py,sha256=UzTYONvK0X9rgy3rP9LiX4giBU8SyCCJav0LSNUJ1Qg,3140
|
25
23
|
dv_flow/mgr/std/task_null.py,sha256=UEJ3fIoIMYWVsagiQC7GHD23UES7WoH4wtq94b4tcs4,265
|
26
|
-
dv_flow_mgr-0.0.1.
|
27
|
-
dv_flow_mgr-0.0.1.
|
28
|
-
dv_flow_mgr-0.0.1.
|
29
|
-
dv_flow_mgr-0.0.1.
|
30
|
-
dv_flow_mgr-0.0.1.
|
31
|
-
dv_flow_mgr-0.0.1.
|
24
|
+
dv_flow_mgr-0.0.1.12932354274a1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
25
|
+
dv_flow_mgr-0.0.1.12932354274a1.dist-info/METADATA,sha256=xH_NHN7r8gQWETTOMtWk_qz8bx--4rQMhQgAMPpgcmU,13276
|
26
|
+
dv_flow_mgr-0.0.1.12932354274a1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
27
|
+
dv_flow_mgr-0.0.1.12932354274a1.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
|
28
|
+
dv_flow_mgr-0.0.1.12932354274a1.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
|
29
|
+
dv_flow_mgr-0.0.1.12932354274a1.dist-info/RECORD,,
|
dv_flow/mgr/flow.py
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
#****************************************************************************
|
2
|
-
#* flow.py
|
3
|
-
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
5
|
-
#*
|
6
|
-
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
-
#* not use this file except in compliance with the License.
|
8
|
-
#* You may obtain a copy of the License at:
|
9
|
-
#*
|
10
|
-
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#*
|
12
|
-
#* Unless required by applicable law or agreed to in writing, software
|
13
|
-
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
-
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
-
#* See the License for the specific language governing permissions and
|
16
|
-
#* limitations under the License.
|
17
|
-
#*
|
18
|
-
#* Created on:
|
19
|
-
#* Author:
|
20
|
-
#*
|
21
|
-
#****************************************************************************
|
22
|
-
from pydantic import BaseModel, Field
|
23
|
-
from typing import ClassVar
|
24
|
-
#from .task import Task
|
25
|
-
|
26
|
-
class Flow(BaseModel):
|
27
|
-
# - Parameters are user-facing
|
28
|
-
# - Any implementation data must be stored elsewhere, such that it isn't
|
29
|
-
# checked for equality...
|
30
|
-
name : str
|
31
|
-
description : str = Field(None)
|
32
|
-
|
33
|
-
|
34
|
-
@classmethod
|
35
|
-
def mk(cls, *args, **kwargs):
|
36
|
-
pass
|
37
|
-
|
38
|
-
async def my_method(self):
|
39
|
-
return Task(a,b,c)(self, input)
|
40
|
-
|
41
|
-
#@extend(target)
|
42
|
-
#class FlowExt(object):
|
43
|
-
# pass
|
44
|
-
|
45
|
-
|
46
|
-
class Flow2(Flow):
|
47
|
-
description : str = "abc"
|
48
|
-
|
49
|
-
async def my_method(self):
|
50
|
-
super().my_method()
|
51
|
-
|
52
|
-
f = Flow2(name="foo")
|
53
|
-
|
54
|
-
#for d in dir(f):
|
55
|
-
# if not d.startswith("_"):
|
56
|
-
# print("%s: %s" % (d, str(getattr(f, d))))
|
57
|
-
|
58
|
-
|
59
|
-
|
dv_flow/mgr/parameters.py
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
#****************************************************************************
|
2
|
-
#* parameters.py
|
3
|
-
#*
|
4
|
-
#* Copyright 2023 Matthew Ballance and Contributors
|
5
|
-
#*
|
6
|
-
#* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
7
|
-
#* not use this file except in compliance with the License.
|
8
|
-
#* You may obtain a copy of the License at:
|
9
|
-
#*
|
10
|
-
#* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#*
|
12
|
-
#* Unless required by applicable law or agreed to in writing, software
|
13
|
-
#* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
-
#* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
-
#* See the License for the specific language governing permissions and
|
16
|
-
#* limitations under the License.
|
17
|
-
#*
|
18
|
-
#* Created on:
|
19
|
-
#* Author:
|
20
|
-
#*
|
21
|
-
#****************************************************************************
|
22
|
-
|
23
|
-
class Parameters(object):
|
24
|
-
|
25
|
-
def __init__(self):
|
26
|
-
pass
|
27
|
-
|
{dv_flow_mgr-0.0.1.12922457458a1.dist-info → dv_flow_mgr-0.0.1.12932354274a1.dist-info}/LICENSE
RENAMED
File without changes
|
{dv_flow_mgr-0.0.1.12922457458a1.dist-info → dv_flow_mgr-0.0.1.12932354274a1.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|
File without changes
|