dv-flow-mgr 0.0.1.13885203883a1__py3-none-any.whl → 0.0.1.13931887892a1__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/pkg_rgy.py +4 -3
- dv_flow/mgr/std/exec.py +2 -0
- dv_flow/mgr/std/flow.dv +22 -1
- dv_flow/mgr/task_def.py +1 -0
- dv_flow/mgr/task_node.py +12 -0
- {dv_flow_mgr-0.0.1.13885203883a1.dist-info → dv_flow_mgr-0.0.1.13931887892a1.dist-info}/METADATA +1 -1
- {dv_flow_mgr-0.0.1.13885203883a1.dist-info → dv_flow_mgr-0.0.1.13931887892a1.dist-info}/RECORD +11 -11
- {dv_flow_mgr-0.0.1.13885203883a1.dist-info → dv_flow_mgr-0.0.1.13931887892a1.dist-info}/WHEEL +1 -1
- {dv_flow_mgr-0.0.1.13885203883a1.dist-info → dv_flow_mgr-0.0.1.13931887892a1.dist-info}/LICENSE +0 -0
- {dv_flow_mgr-0.0.1.13885203883a1.dist-info → dv_flow_mgr-0.0.1.13931887892a1.dist-info}/entry_points.txt +0 -0
- {dv_flow_mgr-0.0.1.13885203883a1.dist-info → dv_flow_mgr-0.0.1.13931887892a1.dist-info}/top_level.txt +0 -0
dv_flow/mgr/pkg_rgy.py
CHANGED
@@ -120,10 +120,11 @@ class PkgRgy(object):
|
|
120
120
|
|
121
121
|
for name,path in pkg_m.items():
|
122
122
|
self._log.debug("Registering package %s: %s" % (name, path))
|
123
|
-
if name in self._pkg_m.keys():
|
124
|
-
|
123
|
+
if name in self._pkg_m.keys() and self._pkg_m[name][0] != path:
|
124
|
+
self._log.debug("Package %s already registered using path %s. Conflicting path: %s" % (
|
125
125
|
name, self._pkg_m[name][0], path))
|
126
|
-
|
126
|
+
else:
|
127
|
+
self._pkg_m[name] = (path, None)
|
127
128
|
except Exception as e:
|
128
129
|
self._log.critical("Error loading plugin %s: %s" % (p.name, str(e)))
|
129
130
|
raise e
|
dv_flow/mgr/std/exec.py
CHANGED
dv_flow/mgr/std/flow.dv
CHANGED
@@ -47,10 +47,31 @@ package:
|
|
47
47
|
type: str
|
48
48
|
- name: Exec
|
49
49
|
pytask: dv_flow.mgr.std.exec.Exec
|
50
|
-
|
50
|
+
desc: Executes a subprocess
|
51
|
+
with:
|
52
|
+
shell:
|
53
|
+
type: str
|
54
|
+
value: "bash"
|
55
|
+
doc: |
|
56
|
+
Shell to use for executing the command
|
51
57
|
command:
|
52
58
|
type: str
|
53
59
|
value: ""
|
60
|
+
doc: |
|
61
|
+
Command to execute
|
62
|
+
when:
|
63
|
+
type: str
|
64
|
+
value: "always"
|
65
|
+
doc: |
|
66
|
+
Specifies when the command is run.
|
67
|
+
- always -- Command is always run (default)
|
68
|
+
- changed -- If upstream tasks change
|
69
|
+
timestamp:
|
70
|
+
type: str
|
71
|
+
value: ""
|
72
|
+
doc: |
|
73
|
+
Optional timestamp file to determine if running
|
74
|
+
the command changed the output
|
54
75
|
types:
|
55
76
|
# - name: TaskDataItem
|
56
77
|
# doc: |
|
dv_flow/mgr/task_def.py
CHANGED
@@ -48,6 +48,7 @@ class TaskDef(BaseModel):
|
|
48
48
|
params: Dict[str,Union[str,list,ParamDef]] = dc.Field(default_factory=dict, alias="with")
|
49
49
|
passthrough: bool = dc.Field(default=False)
|
50
50
|
consumes : List[Any] = dc.Field(default_factory=list)
|
51
|
+
tasks: List['TaskDef'] = dc.Field(default_factory=list)
|
51
52
|
|
52
53
|
# out: List[TaskOutput] = dc.Field(default_factory=list)
|
53
54
|
|
dv_flow/mgr/task_node.py
CHANGED
@@ -19,6 +19,7 @@
|
|
19
19
|
#* Author:
|
20
20
|
#*
|
21
21
|
#****************************************************************************
|
22
|
+
import enum
|
22
23
|
import os
|
23
24
|
import sys
|
24
25
|
import dataclasses as dc
|
@@ -31,6 +32,10 @@ from .task_params_ctor import TaskParamsCtor
|
|
31
32
|
from .param_ref_eval import ParamRefEval
|
32
33
|
from .param import Param
|
33
34
|
|
35
|
+
class RundirE(enum.Enum):
|
36
|
+
Unique = enum.auto()
|
37
|
+
Inherit = enum.auto()
|
38
|
+
|
34
39
|
@dc.dataclass
|
35
40
|
class TaskNode(object):
|
36
41
|
"""Executable view of a task"""
|
@@ -48,6 +53,7 @@ class TaskNode(object):
|
|
48
53
|
consumes : List[Any] = dc.field(default_factory=list)
|
49
54
|
needs : List[Tuple['TaskNode',bool]] = dc.field(default_factory=list)
|
50
55
|
rundir : str = dc.field(default=None)
|
56
|
+
rundir_t : RundirE = dc.field(default=RundirE.Unique)
|
51
57
|
output : TaskDataOutput = dc.field(default=None)
|
52
58
|
result : TaskDataResult = dc.field(default=None)
|
53
59
|
start : float = dc.field(default=None)
|
@@ -118,6 +124,12 @@ class TaskNode(object):
|
|
118
124
|
|
119
125
|
self._log.debug("in_params[2]: %s" % ",".join(p.src for p in in_params))
|
120
126
|
eval.setVar("in", in_params)
|
127
|
+
eval.setVar("rundir", rundir)
|
128
|
+
|
129
|
+
# Set variables from the inputs
|
130
|
+
for need in self.needs:
|
131
|
+
for name,value in {"rundir" : need.rundir}.items():
|
132
|
+
eval.setVar("%s.%s" % (need.name, name), value)
|
121
133
|
|
122
134
|
# Default inputs is the list of parameter sets that match 'consumes'
|
123
135
|
inputs = []
|
{dv_flow_mgr-0.0.1.13885203883a1.dist-info → dv_flow_mgr-0.0.1.13931887892a1.dist-info}/RECORD
RENAMED
@@ -13,11 +13,11 @@ dv_flow/mgr/param.py,sha256=kkxMRGf6mPjSZJsjgLKH2vJL62Sn0ZESvjBLkEYOp20,1386
|
|
13
13
|
dv_flow/mgr/param_def.py,sha256=ObRf289sI1xzOudjO9MzyTVuKsz3AS949XA4Deyz-kE,1549
|
14
14
|
dv_flow/mgr/param_ref_eval.py,sha256=5yH37oIX6f2qmk7GfRgNT5qZx0jm3CJFgB9lLDZZ1yQ,1981
|
15
15
|
dv_flow/mgr/parsetab.py,sha256=I-p3nC60t9jiNtPhKyl_sE92SiP96zJLnNdydcLy33g,3780
|
16
|
-
dv_flow/mgr/pkg_rgy.py,sha256=
|
16
|
+
dv_flow/mgr/pkg_rgy.py,sha256=d1nIjRm3ymMNJT-yiMDxCS6bFisTPvLMqh5VrfsHVKM,5404
|
17
17
|
dv_flow/mgr/task.py,sha256=BmS0wd51l4tpTrsit3-ugCB5VGnwpMJNl0dfJfHS4DQ,5981
|
18
18
|
dv_flow/mgr/task_ctor.py,sha256=YDYb5uW9Js7MnA8GqbYJljNCbeJFKGveZ2v-IJRgIa8,2221
|
19
19
|
dv_flow/mgr/task_data.py,sha256=ysawiUcbQu-ImNSgU5LsfOWlBKdfBt_8juwSacnAqAQ,11437
|
20
|
-
dv_flow/mgr/task_def.py,sha256=
|
20
|
+
dv_flow/mgr/task_def.py,sha256=0rVlDjNF39PQ_0uzkSuOgvE2sZjFwpTAR8HIu_Arbog,2140
|
21
21
|
dv_flow/mgr/task_exec_data.py,sha256=-mh9G2-iq6ioB7v7QrHiQAOEwd_hDKhnVf2Mb_IHRtg,1483
|
22
22
|
dv_flow/mgr/task_graph_builder.py,sha256=EYFsMZCDDHMEFWZOVSpPb7KBVE6N6XyL4KFzJVrPSPE,10106
|
23
23
|
dv_flow/mgr/task_graph_runner.py,sha256=LZ5cTXLQlcK348AxTYKqfpsFFmxA3aseGfholvQW39s,2187
|
@@ -25,7 +25,7 @@ dv_flow/mgr/task_graph_runner_local.py,sha256=quAxmF1go2iVhBDieksg3brAZukIvpvF-8
|
|
25
25
|
dv_flow/mgr/task_impl_data.py,sha256=jpO7kQ6AjYcOOfpgFIPCEYA1pQbVwFcIY_SY3Q53eGk,1163
|
26
26
|
dv_flow/mgr/task_listener_log.py,sha256=b7caUHERGkN6eT8IinBJTdZpwASUs8xAqDmtEymMKzQ,3529
|
27
27
|
dv_flow/mgr/task_memento.py,sha256=CV3d1J4ADhMpqvYPfWvUI7duSFCbLEzY41y2GZBHIhM,1101
|
28
|
-
dv_flow/mgr/task_node.py,sha256=
|
28
|
+
dv_flow/mgr/task_node.py,sha256=DL7gI79uu0yoaz2J7PJhr91isL42agATbLDO0ngGqi4,15215
|
29
29
|
dv_flow/mgr/task_output.py,sha256=ZwyvwnYj_gHOEFAEOH3m24Xfc4Cn77hb1j7LkX8_3C4,1086
|
30
30
|
dv_flow/mgr/task_params_ctor.py,sha256=BPkbnoCtzhCxc1g8CJ6VimCcm5UAu92PXeDMhQ4lYsQ,1957
|
31
31
|
dv_flow/mgr/task_runner.py,sha256=TB4feCEItxufUyyBSwNNY3OkQ0yjSO0fUfjga0u7rsg,8790
|
@@ -35,14 +35,14 @@ dv_flow/mgr/util.py,sha256=BLp-25Ph9roqo1O3VHI5sKhwxQ0wUU7znFwcSKt0hpA,1442
|
|
35
35
|
dv_flow/mgr/cmds/cmd_run.py,sha256=lNMvpiyKf-Ehs0GUkzcOIoJxaXgeLKv6UFNakcm9_hw,3303
|
36
36
|
dv_flow/mgr/share/flow.json,sha256=lNmZex9NXkYbyb2aZseQfUOkV9CMyfH0iLODEI7EPBw,5096
|
37
37
|
dv_flow/mgr/std/create_file.py,sha256=wmn5N_mObx_wr2LPdKOVbNmdM71hhs3UXOv6Ap9l3Ts,2726
|
38
|
-
dv_flow/mgr/std/exec.py,sha256=
|
38
|
+
dv_flow/mgr/std/exec.py,sha256=kU9S8mIBDvZFqcWGGe9RQIfeldDw2g2eGBBh-po0ePQ,1302
|
39
39
|
dv_flow/mgr/std/fileset.py,sha256=5IxS6T-x0wzA6fdEQcfHZ9kNP8IpH9hfJ3UMhL4A6Iw,3911
|
40
|
-
dv_flow/mgr/std/flow.dv,sha256=
|
40
|
+
dv_flow/mgr/std/flow.dv,sha256=Ehw0rrFcHoXt3WudeJ5PyPXpVtUcvvWGm43ikUWl-lE,2602
|
41
41
|
dv_flow/mgr/std/message.py,sha256=_Gox9oBzL9ZYG1JfJ-WYPXojVLqGNaKxZ9tpLVT0LO0,1035
|
42
42
|
dv_flow/mgr/std/task_null.py,sha256=dw6LXBXVwth6gLPeduDvlz5znAhcVpDH8r1DticD-0w,1041
|
43
|
-
dv_flow_mgr-0.0.1.
|
44
|
-
dv_flow_mgr-0.0.1.
|
45
|
-
dv_flow_mgr-0.0.1.
|
46
|
-
dv_flow_mgr-0.0.1.
|
47
|
-
dv_flow_mgr-0.0.1.
|
48
|
-
dv_flow_mgr-0.0.1.
|
43
|
+
dv_flow_mgr-0.0.1.13931887892a1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
44
|
+
dv_flow_mgr-0.0.1.13931887892a1.dist-info/METADATA,sha256=D2JLp63FgCw_yZC_bdxrl76DDLMzyI4By_K7mhYYhmM,13314
|
45
|
+
dv_flow_mgr-0.0.1.13931887892a1.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
|
46
|
+
dv_flow_mgr-0.0.1.13931887892a1.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
|
47
|
+
dv_flow_mgr-0.0.1.13931887892a1.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
|
48
|
+
dv_flow_mgr-0.0.1.13931887892a1.dist-info/RECORD,,
|
{dv_flow_mgr-0.0.1.13885203883a1.dist-info → dv_flow_mgr-0.0.1.13931887892a1.dist-info}/LICENSE
RENAMED
File without changes
|
File without changes
|
File without changes
|