hpcflow-new2 0.2.0a220__py3-none-any.whl → 0.2.0a221__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.
hpcflow/_version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.2.0a220"
1
+ __version__ = "0.2.0a221"
@@ -913,9 +913,16 @@ class ElementActionRun(AppAware):
913
913
  """
914
914
  kwargs: dict[str, Any] = {}
915
915
  if self.action.is_IFG:
916
- ifg = self.action.input_file_generators[0]
917
- path = ifg.input_file.name.value()
918
- assert isinstance(path, str)
916
+ input_file = self.action.input_file_generators[0].input_file
917
+ if (fn_spec := input_file.name).is_regex:
918
+ # pass to the IFG the label rather than name (there is no point searching
919
+ # with the regular expression via `name.value()`; the file(s) won't exist
920
+ # yet!):
921
+ path = input_file.label
922
+ else:
923
+ path_ = fn_spec.value()
924
+ assert isinstance(path_, str)
925
+ path = path_
919
926
  kwargs["path"] = Path(path)
920
927
  kwargs.update(self.get_IFG_input_values(raise_on_unset=raise_on_unset))
921
928
 
@@ -91,3 +91,25 @@ def test_group_raise_no_elements(null_config, tmp_path: Path):
91
91
  path=tmp_path,
92
92
  tasks=[t1, t2],
93
93
  )
94
+
95
+
96
+ def test_group_on_input_only_task(null_config, tmp_path: Path):
97
+
98
+ s1 = hf.TaskSchema(objective="t1", inputs=[hf.SchemaInput("p1")])
99
+ s2 = hf.TaskSchema(objective="t2", inputs=[hf.SchemaInput("p1", group="all")])
100
+
101
+ t1 = hf.Task(
102
+ schema=s1,
103
+ inputs={"p1": 100},
104
+ repeats=2,
105
+ groups=[hf.ElementGroup(name="all")], # define a group on a task with no actions
106
+ )
107
+ t2 = hf.Task(schema=s2)
108
+
109
+ wk = hf.Workflow.from_template_data(
110
+ template_name="test_input_group",
111
+ path=tmp_path,
112
+ tasks=[t1, t2],
113
+ )
114
+ assert wk.tasks.t1.num_elements == 2
115
+ assert wk.tasks.t2.num_elements == 1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hpcflow-new2
3
- Version: 0.2.0a220
3
+ Version: 0.2.0a221
4
4
  Summary: Computational workflow management
5
5
  License: MPL-2.0
6
6
  Author: aplowman
@@ -1,7 +1,7 @@
1
1
  hpcflow/__init__.py,sha256=WIETuRHeOp2SqUqHUzpjQ-lk9acbYv-6aWOhZPRdlhs,64
2
2
  hpcflow/__pyinstaller/__init__.py,sha256=YOzBlPSck6slucv6lJM9K80JtsJWxXRL00cv6tRj3oc,98
3
3
  hpcflow/__pyinstaller/hook-hpcflow.py,sha256=P2b-8QdQqkSS7cJB6CB3CudUuJ9iZzTh2fQF4hNdCa4,1118
4
- hpcflow/_version.py,sha256=Wu8DWP_jXFf25n8IsqqQlNwQs2177YFqPq8bMOEQ1is,26
4
+ hpcflow/_version.py,sha256=Y8c0z1l-waBysyZgLJvoHzKQD3sH5a9afvk3S4fdb8A,26
5
5
  hpcflow/app.py,sha256=gl2viVS65PbpDhUp2DARaYHFDqDWQjuoyB3ikrCNRW4,1367
6
6
  hpcflow/cli.py,sha256=G2J3D9v6MnMWOWMMWK6UEKLn_6wnV9lT_qygEBBxg-I,66
7
7
  hpcflow/data/demo_data_manifest/__init__.py,sha256=Hsq0jT8EXM13wu1MpGy5FQgyuz56ygep4VWOnulFn50,41
@@ -75,7 +75,7 @@ hpcflow/sdk/config/config_file.py,sha256=wfDjozV9lXTnaxQoe-z-1Y7dtO0N4o1kgEwKtrL
75
75
  hpcflow/sdk/config/errors.py,sha256=Ft0e0rqIh9NoxWu3R8RSHel2fLONrXrgmFdNGZ_nOac,8341
76
76
  hpcflow/sdk/config/types.py,sha256=hw8latN2PqgGB_cOcD2pmgf5hSE7Dl94xLGKosydpCo,3935
77
77
  hpcflow/sdk/core/__init__.py,sha256=uxvGIUmzvFvylxFL4OGoKHs8GABHHPFaki-Xyc7Nquk,861
78
- hpcflow/sdk/core/actions.py,sha256=4FMVIzL8R3qh4mTrcDaKEFDX8IBlI66LT150TNUnLoM,118105
78
+ hpcflow/sdk/core/actions.py,sha256=zLsCmeKW8dmRZ-6MEkO8M4kboFxldASLu0IdCwGU-uk,118467
79
79
  hpcflow/sdk/core/app_aware.py,sha256=SnQCix09IHhqPAHBpbdhQAf3wDKvO6n6ym4XJ8vrv1s,569
80
80
  hpcflow/sdk/core/cache.py,sha256=6b0emvJGP-yf5UxKmEY_s4_gdyUfaNaXafq-qQaoBfU,8174
81
81
  hpcflow/sdk/core/command_files.py,sha256=LcrK7wjQnxmTDUrsC0Xgbjsy1NGodf62LrrTSNAAxxE,24942
@@ -178,7 +178,7 @@ hpcflow/tests/unit/test_config_file.py,sha256=H0jXqPDEz4KKJ-VcnhpY9Xf_iVxFZr9eOv
178
178
  hpcflow/tests/unit/test_element.py,sha256=UMSNbNDZa2Ok-GQ9JWtqAWXYnOwkJdbjAeR3hHrXntU,20918
179
179
  hpcflow/tests/unit/test_element_iteration.py,sha256=ykn0eyhAhiL1NJlRp5B6PxE68GoqFGpIllHNoEriV3c,3101
180
180
  hpcflow/tests/unit/test_element_set.py,sha256=R1kqKkvYhSZeXfL_yzDhQgLc9TXXkewZaayM7cbWLPw,5082
181
- hpcflow/tests/unit/test_group.py,sha256=izOxElHzBtj7YafdTOZv4z_AyHXLhcfRvdNA4Bll9Ww,2660
181
+ hpcflow/tests/unit/test_group.py,sha256=LFXn7OMzg_R22PBMKhNBnu8s8L-H1afeVCsLkYDaSp8,3308
182
182
  hpcflow/tests/unit/test_input_source.py,sha256=0qRuKMDP8GkIN30PiLOUoGAkd9kfCFOFJ9LNEnw1mjc,42127
183
183
  hpcflow/tests/unit/test_input_value.py,sha256=UwW8bdSLkMXOEmhRw-n7fyMeVPEBHTxf5-WUNnVQVFg,6031
184
184
  hpcflow/tests/unit/test_jobscript_unit.py,sha256=E_uszw3-3Lf2nBcIUZUngMMIgd0S1X6nK40KYEBjGrg,26077
@@ -218,8 +218,8 @@ hpcflow/tests/workflows/test_submission.py,sha256=SUbBUbD8C8LSulrI7aETkzP9RqED48
218
218
  hpcflow/tests/workflows/test_workflows.py,sha256=9z3rtXjA5iMOp4C0q4TkD_9kLzwourCY-obpeOtnNt0,18927
219
219
  hpcflow/tests/workflows/test_zip.py,sha256=MzEwsIAYV_1A3bD0XRo23zUwUKVzkkmNd8_cil6YdWQ,578
220
220
  hpcflow/viz_demo.ipynb,sha256=6D9uBbWK3oMfbaf93Tnv5riFPtW-2miUTWNr9kGcnd4,228913
221
- hpcflow_new2-0.2.0a220.dist-info/LICENSE,sha256=Xhxf_KsrJNJFGMogumZhXSTPhUOVHCWf7nU-TDzqg0E,16763
222
- hpcflow_new2-0.2.0a220.dist-info/METADATA,sha256=-YjOsWV6-LQwLhHZNz5M4JJPaKcaCYb5eYejKnCjYdA,2663
223
- hpcflow_new2-0.2.0a220.dist-info/WHEEL,sha256=kLuE8m1WYU0Ig0_YEGrXyTtiJvKPpLpDEiChiNyei5Y,88
224
- hpcflow_new2-0.2.0a220.dist-info/entry_points.txt,sha256=aoGtCnFdfPcXfBdu2zZyMOJoz6fPgdR0elqsgrE-USU,106
225
- hpcflow_new2-0.2.0a220.dist-info/RECORD,,
221
+ hpcflow_new2-0.2.0a221.dist-info/LICENSE,sha256=Xhxf_KsrJNJFGMogumZhXSTPhUOVHCWf7nU-TDzqg0E,16763
222
+ hpcflow_new2-0.2.0a221.dist-info/METADATA,sha256=GWE9KIO5a4WyYLPuIZ_mZcmBJhUbWZJIhrt5LnjjrC0,2663
223
+ hpcflow_new2-0.2.0a221.dist-info/WHEEL,sha256=kLuE8m1WYU0Ig0_YEGrXyTtiJvKPpLpDEiChiNyei5Y,88
224
+ hpcflow_new2-0.2.0a221.dist-info/entry_points.txt,sha256=aoGtCnFdfPcXfBdu2zZyMOJoz6fPgdR0elqsgrE-USU,106
225
+ hpcflow_new2-0.2.0a221.dist-info/RECORD,,