dv-flow-mgr 1.9.15008554401rc0__py3-none-any.whl → 1.9.15048751637rc0__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/__init__.py +1 -1
- dv_flow/mgr/package_loader.py +4 -0
- dv_flow/mgr/task_graph_builder.py +5 -1
- dv_flow/mgr/task_run_ctxt.py +9 -1
- dv_flow/mgr/task_runner.py +6 -0
- {dv_flow_mgr-1.9.15008554401rc0.dist-info → dv_flow_mgr-1.9.15048751637rc0.dist-info}/METADATA +1 -1
- {dv_flow_mgr-1.9.15008554401rc0.dist-info → dv_flow_mgr-1.9.15048751637rc0.dist-info}/RECORD +11 -11
- {dv_flow_mgr-1.9.15008554401rc0.dist-info → dv_flow_mgr-1.9.15048751637rc0.dist-info}/WHEEL +1 -1
- {dv_flow_mgr-1.9.15008554401rc0.dist-info → dv_flow_mgr-1.9.15048751637rc0.dist-info}/entry_points.txt +0 -0
- {dv_flow_mgr-1.9.15008554401rc0.dist-info → dv_flow_mgr-1.9.15048751637rc0.dist-info}/licenses/LICENSE +0 -0
- {dv_flow_mgr-1.9.15008554401rc0.dist-info → dv_flow_mgr-1.9.15048751637rc0.dist-info}/top_level.txt +0 -0
dv_flow/mgr/__init__.py
CHANGED
dv_flow/mgr/package_loader.py
CHANGED
@@ -225,6 +225,7 @@ class PackageScope(SymbolScope):
|
|
225
225
|
class PackageLoader(object):
|
226
226
|
pkg_rgy : ExtRgy = dc.field(default=None)
|
227
227
|
marker_listeners : List[Callable] = dc.field(default_factory=list)
|
228
|
+
env : Dict[str, str] = dc.field(default=None)
|
228
229
|
_log : ClassVar = logging.getLogger("PackageLoader")
|
229
230
|
_file_s : List[str] = dc.field(default_factory=list)
|
230
231
|
_pkg_s : List[PackageScope] = dc.field(default_factory=list)
|
@@ -236,6 +237,9 @@ class PackageLoader(object):
|
|
236
237
|
if self.pkg_rgy is None:
|
237
238
|
self.pkg_rgy = ExtRgy.inst()
|
238
239
|
|
240
|
+
if self.env is None:
|
241
|
+
self.env = os.environ.copy()
|
242
|
+
|
239
243
|
self._loader_scope = LoaderScope(name=None, loader=self)
|
240
244
|
|
241
245
|
def load(self, root) -> Package:
|
@@ -67,6 +67,7 @@ class TaskGraphBuilder(object):
|
|
67
67
|
rundir : str
|
68
68
|
loader : PackageLoader = None
|
69
69
|
marker_l : Callable = lambda *args, **kwargs: None
|
70
|
+
env : Dict[str, str] = dc.field(default=None)
|
70
71
|
_pkg_m : Dict[PackageSpec,Package] = dc.field(default_factory=dict)
|
71
72
|
_pkg_params_m : Dict[str,Any] = dc.field(default_factory=dict)
|
72
73
|
_pkg_spec_s : List[PackageDef] = dc.field(default_factory=list)
|
@@ -94,7 +95,10 @@ class TaskGraphBuilder(object):
|
|
94
95
|
self._shell_m.update(ExtRgy.inst()._shell_m)
|
95
96
|
self._task_rundir_s.append([self.rundir])
|
96
97
|
|
97
|
-
self.
|
98
|
+
if self.env is None:
|
99
|
+
self.env = os.environ.copy()
|
100
|
+
|
101
|
+
self._eval.set("env", self.env)
|
98
102
|
|
99
103
|
|
100
104
|
|
dv_flow/mgr/task_run_ctxt.py
CHANGED
@@ -3,7 +3,7 @@ import dataclasses as dc
|
|
3
3
|
from pydantic import BaseModel
|
4
4
|
import pydantic.dataclasses as pdc
|
5
5
|
import os
|
6
|
-
from typing import List
|
6
|
+
from typing import Dict, List
|
7
7
|
from .task_data import TaskMarker, SeverityE, TaskMarkerLoc
|
8
8
|
from .task_node_ctxt import TaskNodeCtxt
|
9
9
|
|
@@ -19,6 +19,7 @@ class TaskRunCtxt(object):
|
|
19
19
|
|
20
20
|
_markers : List[TaskMarker] = dc.field(default_factory=list)
|
21
21
|
_exec_info : List[ExecInfo] = dc.field(default_factory=list)
|
22
|
+
_env : Dict[str, str] = dc.field(default=None)
|
22
23
|
|
23
24
|
@property
|
24
25
|
def root_pkgdir(self):
|
@@ -28,6 +29,10 @@ class TaskRunCtxt(object):
|
|
28
29
|
def root_rundir(self):
|
29
30
|
return self.ctxt.root_rundir
|
30
31
|
|
32
|
+
@property
|
33
|
+
def env(self):
|
34
|
+
return self._env
|
35
|
+
|
31
36
|
def mkDataItem(self, type, **kwargs):
|
32
37
|
"""
|
33
38
|
Create a data item in the task's rundir. The data item will be
|
@@ -66,6 +71,9 @@ class TaskRunCtxt(object):
|
|
66
71
|
if logfile is None:
|
67
72
|
logfile = "cmd_%d.log" % (self._exec_info.__len__() + 1)
|
68
73
|
|
74
|
+
if env is None:
|
75
|
+
env = self._env
|
76
|
+
|
69
77
|
fp = open(os.path.join(self.rundir, logfile), "w")
|
70
78
|
proc = await asyncio.create_subprocess_exec(
|
71
79
|
*cmd,
|
dv_flow/mgr/task_runner.py
CHANGED
@@ -34,12 +34,17 @@ from .task_node import TaskNode, RundirE
|
|
34
34
|
@dc.dataclass
|
35
35
|
class TaskRunner(object):
|
36
36
|
rundir : str
|
37
|
+
env : Dict[str, str] = dc.field(default=None)
|
37
38
|
|
38
39
|
# List of [Listener:Callable[Task],Recurisve:bool]
|
39
40
|
listeners : List[Tuple[Callable['Task','Reason'], bool]] = dc.field(default_factory=list)
|
40
41
|
|
41
42
|
_log : ClassVar = logging.getLogger("TaskRunner")
|
42
43
|
|
44
|
+
def __post_init__(self):
|
45
|
+
if self.env is None:
|
46
|
+
self.env = os.environ.copy()
|
47
|
+
|
43
48
|
def add_listener(self, l, recursive=False):
|
44
49
|
self.listeners.append((l, recursive))
|
45
50
|
|
@@ -68,6 +73,7 @@ class TaskSetRunner(TaskRunner):
|
|
68
73
|
_log : ClassVar = logging.getLogger("TaskSetRunner")
|
69
74
|
|
70
75
|
def __post_init__(self):
|
76
|
+
super().__post_init__()
|
71
77
|
if self.nproc == -1:
|
72
78
|
self.nproc = os.cpu_count()
|
73
79
|
|
{dv_flow_mgr-1.9.15008554401rc0.dist-info → dv_flow_mgr-1.9.15048751637rc0.dist-info}/RECORD
RENAMED
@@ -1,4 +1,4 @@
|
|
1
|
-
dv_flow/mgr/__init__.py,sha256=
|
1
|
+
dv_flow/mgr/__init__.py,sha256=PUdoMbGZNySxaxx5cLeCAyoqulTS45hL5mk5NHYp9Ww,1315
|
2
2
|
dv_flow/mgr/__main__.py,sha256=BogNdBkXhgg05E8_IumNkVoag6WwvfbpiI8346oOtPo,3844
|
3
3
|
dv_flow/mgr/cond_def.py,sha256=2ZkzPusqVkN1fFMTvkDl9O_OJLPdD_cK3xzX9J75RMw,343
|
4
4
|
dv_flow/mgr/config.py,sha256=b2MVlVVNB0psk8x4bQRAYshkpNJrtyMtV1Ymhmx9AfM,137
|
@@ -21,7 +21,7 @@ dv_flow/mgr/out,sha256=d8GGBi3J43fhdLBlnsUbzBfRe0TD0QTP3nOTz54l2bI,200
|
|
21
21
|
dv_flow/mgr/package.py,sha256=qz17dfKW3csOiACUe4TqrOnd8Z2d_DxYbLmP0OwhKZ8,4580
|
22
22
|
dv_flow/mgr/package_def.py,sha256=h3_FIKQB0vqfcu1jRAZuB8W8Kozr62oaKNchxeNjpWk,5898
|
23
23
|
dv_flow/mgr/package_import_spec.py,sha256=aZMpnS9a5NFY76_pYXEuO3-Mkc_xFzy73fdrUe_54Dc,1760
|
24
|
-
dv_flow/mgr/package_loader.py,sha256=
|
24
|
+
dv_flow/mgr/package_loader.py,sha256=TFvx4bqVXKWoRTopy4Qz8-tSkSsAC5GRK3KMoNTiE9E,35010
|
25
25
|
dv_flow/mgr/package_node.py,sha256=CccD2ECiIXy9JBkRR3c7qDxeBiLiPbRT9CqR-Al_niI,214
|
26
26
|
dv_flow/mgr/param.py,sha256=kkxMRGf6mPjSZJsjgLKH2vJL62Sn0ZESvjBLkEYOp20,1386
|
27
27
|
dv_flow/mgr/param_def.py,sha256=9uO-7UI4OotYixQBo8Nwb2o8FQRFxxJylYCZm9rjt48,1917
|
@@ -36,7 +36,7 @@ dv_flow/mgr/task.py,sha256=XQ-mVyDGvpU4gB6GmnNeTQhxKqFXiblShh7qd_-SIbM,2387
|
|
36
36
|
dv_flow/mgr/task_data.py,sha256=lN7Iq8YTitEMGG4rZqYQi6Ri2HuPgBQ5oGQbW-63T8c,12436
|
37
37
|
dv_flow/mgr/task_def.py,sha256=lhiOL7E_TfW7Ytg5qipE6d2cqTkfVqAOs1MZgtCqeLg,5257
|
38
38
|
dv_flow/mgr/task_gen_ctxt.py,sha256=1QQqqgaCjJSlzTV0SASpTb69vINFrDq3aqjYCKUkx3s,846
|
39
|
-
dv_flow/mgr/task_graph_builder.py,sha256=
|
39
|
+
dv_flow/mgr/task_graph_builder.py,sha256=7aTX8D2iTiMVpfy8uxZhmFI4XMwSlDAhy4uVuu_jGKs,33548
|
40
40
|
dv_flow/mgr/task_graph_dot_writer.py,sha256=qK4Imy9o2_F1aKoU1tJ-qoBHslq2BhSMbdjAUPfpN7I,6009
|
41
41
|
dv_flow/mgr/task_listener_log.py,sha256=XcmBT-946DyrEYwNwbg7ejnB6Q3koybE7AekSWGxNGQ,4774
|
42
42
|
dv_flow/mgr/task_listener_trace.py,sha256=7B-V2YK8uXd_QSGBq_7USmbe5CleVvwumU0CpsmxZvg,6224
|
@@ -53,8 +53,8 @@ dv_flow/mgr/task_node_ctxt.py,sha256=dQp68ppFENK0zGo7TKaFXHInPCCsFai1yZwoBKDwJ20
|
|
53
53
|
dv_flow/mgr/task_node_leaf.py,sha256=nULlu-veyPC-PXdoQhahkLgqpdKNzaoD0XUlCw0EuZ4,9109
|
54
54
|
dv_flow/mgr/task_output.py,sha256=ZwyvwnYj_gHOEFAEOH3m24Xfc4Cn77hb1j7LkX8_3C4,1086
|
55
55
|
dv_flow/mgr/task_params_ctor.py,sha256=qlrzibGAFHmbqOu88jEoh1wOSFHu68Gwdgc259-50e8,1915
|
56
|
-
dv_flow/mgr/task_run_ctxt.py,sha256=
|
57
|
-
dv_flow/mgr/task_runner.py,sha256=
|
56
|
+
dv_flow/mgr/task_run_ctxt.py,sha256=qbGlH7SvyCOKKr7sjajcd-f9UwT9LanhdFInnyyE3bk,3974
|
57
|
+
dv_flow/mgr/task_runner.py,sha256=hfA4eGOmw-Rzur5qgcUKEwQB97Ka5AYv9QPrVZJWHUs,10422
|
58
58
|
dv_flow/mgr/type.py,sha256=hoJTatlPC0yOazKSWduK-5CfY38RPkc6qXFzOCcVSdM,723
|
59
59
|
dv_flow/mgr/type_def.py,sha256=4sge3PibO1jDnS0cXdX0PiurcKbDA3kT6rb4DGIKwEM,1176
|
60
60
|
dv_flow/mgr/yaml_srcinfo_loader.py,sha256=29BNRiB8Hj1FepkrLtdjHSv5U_85Q432gBeeK80nKEA,1606
|
@@ -76,9 +76,9 @@ dv_flow/mgr/util/util.py,sha256=BO7iqP_c9ttmXkojq7nKDN-g8wl1_Pco9k-KnrXxjwE,1889
|
|
76
76
|
dv_flow/mgr/util/cmds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
77
77
|
dv_flow/mgr/util/cmds/cmd_schema.py,sha256=IJzZdxCSEgIQ79LpYiM7UqJ9RJ-7yraqmBN2XVgAgXA,1752
|
78
78
|
dv_flow/mgr/util/cmds/cmd_workspace.py,sha256=egmaIXpe5L-TePwmcfisfrG6tdiTUWSjqa9Za5WChVs,890
|
79
|
-
dv_flow_mgr-1.9.
|
80
|
-
dv_flow_mgr-1.9.
|
81
|
-
dv_flow_mgr-1.9.
|
82
|
-
dv_flow_mgr-1.9.
|
83
|
-
dv_flow_mgr-1.9.
|
84
|
-
dv_flow_mgr-1.9.
|
79
|
+
dv_flow_mgr-1.9.15048751637rc0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
80
|
+
dv_flow_mgr-1.9.15048751637rc0.dist-info/METADATA,sha256=raZE0vQwvPWX2bSBp72ZAnjXsJbvv_F1I6EXO727M4E,13335
|
81
|
+
dv_flow_mgr-1.9.15048751637rc0.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
|
82
|
+
dv_flow_mgr-1.9.15048751637rc0.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
|
83
|
+
dv_flow_mgr-1.9.15048751637rc0.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
|
84
|
+
dv_flow_mgr-1.9.15048751637rc0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
{dv_flow_mgr-1.9.15008554401rc0.dist-info → dv_flow_mgr-1.9.15048751637rc0.dist-info}/top_level.txt
RENAMED
File without changes
|