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 CHANGED
@@ -32,6 +32,6 @@ from .task_runner import TaskSetRunner
32
32
  from .task_listener_log import TaskListenerLog
33
33
 
34
34
  VERSION="1.9.0"
35
- SUFFIX="15008554401rc0"
35
+ SUFFIX="15048751637rc0"
36
36
  __version__="%s%s" % (VERSION, SUFFIX)
37
37
 
@@ -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._eval.set("env", os.environ)
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
 
@@ -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,
@@ -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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-flow-mgr
3
- Version: 1.9.15008554401rc0
3
+ Version: 1.9.15048751637rc0
4
4
  Summary: DV Flow Manager is a build system for silicon design
5
5
  Author-email: Matthew Ballance <matt.ballance@gmail.com>
6
6
  License: Apache License
@@ -1,4 +1,4 @@
1
- dv_flow/mgr/__init__.py,sha256=IQiJifqYb3hbXNG5kU7UttJPlhZ31XyFVisfvOypPHo,1315
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=bYkTXr3PS0xhi3AO8pxvqyNB9RPQRePcy6gUWJOBnvY,34889
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=7rg9Vj3aRdaNQymrZpGRLCBUkdaMq80lMikbWxnUaIk,33429
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=q88OsuKAHC_GipZ7jBSjbybARsJkgcJhvbKjjj2TweA,3801
57
- dv_flow/mgr/task_runner.py,sha256=L7wYccjF5c59yeeEc8lHToSlQr68PTNhJgqyeV73MMc,10240
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.15008554401rc0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
80
- dv_flow_mgr-1.9.15008554401rc0.dist-info/METADATA,sha256=YCyrhzIrlkcKsaok8nRDRT2kUhH2x5pHrzGVTvKYlwE,13335
81
- dv_flow_mgr-1.9.15008554401rc0.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
82
- dv_flow_mgr-1.9.15008554401rc0.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
83
- dv_flow_mgr-1.9.15008554401rc0.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
84
- dv_flow_mgr-1.9.15008554401rc0.dist-info/RECORD,,
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,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.4.0)
2
+ Generator: setuptools (80.7.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5