hpcflow-new2 0.2.0a227__py3-none-any.whl → 0.2.0a228__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 +1 -1
- hpcflow/sdk/core/actions.py +1 -0
- hpcflow/sdk/core/commands.py +2 -0
- hpcflow/sdk/core/workflow.py +19 -10
- {hpcflow_new2-0.2.0a227.dist-info → hpcflow_new2-0.2.0a228.dist-info}/METADATA +1 -1
- {hpcflow_new2-0.2.0a227.dist-info → hpcflow_new2-0.2.0a228.dist-info}/RECORD +9 -9
- {hpcflow_new2-0.2.0a227.dist-info → hpcflow_new2-0.2.0a228.dist-info}/LICENSE +0 -0
- {hpcflow_new2-0.2.0a227.dist-info → hpcflow_new2-0.2.0a228.dist-info}/WHEEL +0 -0
- {hpcflow_new2-0.2.0a227.dist-info → hpcflow_new2-0.2.0a228.dist-info}/entry_points.txt +0 -0
hpcflow/_version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.2.
|
1
|
+
__version__ = "0.2.0a228"
|
hpcflow/sdk/core/actions.py
CHANGED
@@ -3017,6 +3017,7 @@ class Action(JSONLike):
|
|
3017
3017
|
if all(rule.test(element_iteration=element_iter) for rule in cmd.rules)
|
3018
3018
|
]
|
3019
3019
|
|
3020
|
+
@TimeIt.decorator
|
3020
3021
|
def get_required_executables(self) -> Iterator[str]:
|
3021
3022
|
"""Return executable labels required by this action."""
|
3022
3023
|
for command in self.commands:
|
hpcflow/sdk/core/commands.py
CHANGED
@@ -11,6 +11,7 @@ from typing import Any, ClassVar, TYPE_CHECKING
|
|
11
11
|
|
12
12
|
import numpy as np
|
13
13
|
|
14
|
+
from hpcflow.sdk.log import TimeIt
|
14
15
|
from hpcflow.sdk.typing import hydrate
|
15
16
|
from hpcflow.sdk.core.element import ElementResources
|
16
17
|
from hpcflow.sdk.core.errors import NoCLIFormatMethodError
|
@@ -416,6 +417,7 @@ class Command(JSONLike):
|
|
416
417
|
def _extract_executable_labels(cls, cmd_str: str) -> Sequence[str]:
|
417
418
|
return cls.__EXE_RE.findall(cmd_str)
|
418
419
|
|
420
|
+
@TimeIt.decorator
|
419
421
|
def get_required_executables(self) -> Sequence[str]:
|
420
422
|
"""Return executable labels required by this command."""
|
421
423
|
# an executable label might appear in the `command` or `executable` attribute:
|
hpcflow/sdk/core/workflow.py
CHANGED
@@ -1786,6 +1786,20 @@ class Workflow(AppAware):
|
|
1786
1786
|
elem: int
|
1787
1787
|
task: int
|
1788
1788
|
|
1789
|
+
@TimeIt.decorator
|
1790
|
+
def __get_elements_by_task_idx(
|
1791
|
+
self, element_idx_by_task: dict[int, set[int]]
|
1792
|
+
) -> dict[int, dict[int, Element]]:
|
1793
|
+
return {
|
1794
|
+
task_idx: {
|
1795
|
+
idx: element
|
1796
|
+
for idx, element in zip(
|
1797
|
+
elem_indices, self.tasks[task_idx].elements[list(elem_indices)]
|
1798
|
+
)
|
1799
|
+
}
|
1800
|
+
for task_idx, elem_indices in element_idx_by_task.items()
|
1801
|
+
}
|
1802
|
+
|
1789
1803
|
@TimeIt.decorator
|
1790
1804
|
def get_elements_from_IDs(self, id_lst: Iterable[int]) -> list[Element]:
|
1791
1805
|
"""Return element objects from a list of IDs."""
|
@@ -1800,10 +1814,7 @@ class Workflow(AppAware):
|
|
1800
1814
|
index_paths.append(Workflow._IndexPath1(elem_idx, task.index))
|
1801
1815
|
element_idx_by_task[task.index].add(elem_idx)
|
1802
1816
|
|
1803
|
-
elements_by_task =
|
1804
|
-
task_idx: {idx: self.tasks[task_idx].elements[idx] for idx in elem_idxes}
|
1805
|
-
for task_idx, elem_idxes in element_idx_by_task.items()
|
1806
|
-
}
|
1817
|
+
elements_by_task = self.__get_elements_by_task_idx(element_idx_by_task)
|
1807
1818
|
|
1808
1819
|
return [elements_by_task[path.task][path.elem] for path in index_paths]
|
1809
1820
|
|
@@ -1832,10 +1843,7 @@ class Workflow(AppAware):
|
|
1832
1843
|
index_paths.append(Workflow._IndexPath2(iter_idx, elem_idx, task.index))
|
1833
1844
|
element_idx_by_task[task.index].add(elem_idx)
|
1834
1845
|
|
1835
|
-
elements_by_task =
|
1836
|
-
task_idx: {idx: self.tasks[task_idx].elements[idx] for idx in elem_idx}
|
1837
|
-
for task_idx, elem_idx in element_idx_by_task.items()
|
1838
|
-
}
|
1846
|
+
elements_by_task = self.__get_elements_by_task_idx(element_idx_by_task)
|
1839
1847
|
|
1840
1848
|
return [
|
1841
1849
|
elements_by_task[path.task][path.elem].iterations[path.iter]
|
@@ -3627,7 +3635,8 @@ class Workflow(AppAware):
|
|
3627
3635
|
if status:
|
3628
3636
|
status.update("Adding new submission: resolving jobscripts...")
|
3629
3637
|
|
3630
|
-
|
3638
|
+
with self._store.cache_ctx():
|
3639
|
+
cache = ObjectCache.build(self, elements=True, iterations=True, runs=True)
|
3631
3640
|
|
3632
3641
|
sub_obj: Submission = self._app.Submission(
|
3633
3642
|
index=new_idx,
|
@@ -3719,7 +3728,7 @@ class Workflow(AppAware):
|
|
3719
3728
|
|
3720
3729
|
"""
|
3721
3730
|
with self._app.config.cached_config():
|
3722
|
-
with self.cached_merged_parameters():
|
3731
|
+
with self.cached_merged_parameters(), self._store.cache_ctx():
|
3723
3732
|
js, element_deps = self._resolve_singular_jobscripts(
|
3724
3733
|
cache, tasks, force_array
|
3725
3734
|
)
|
@@ -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=
|
4
|
+
hpcflow/_version.py,sha256=YvMcTgWRlIcTbAldeVKZfYALuAqq320nrXFTTSaItfU,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,11 +75,11 @@ 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=
|
78
|
+
hpcflow/sdk/core/actions.py,sha256=ZoM-2L9qPc52fi26YBDwKHr1axPqhSI_89lRPsmnokM,118489
|
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
|
82
|
-
hpcflow/sdk/core/commands.py,sha256=
|
82
|
+
hpcflow/sdk/core/commands.py,sha256=mm4FVTpkjVXxfCOlyHcfEPy2DrBkhPaOaq0gk5ExvKA,16050
|
83
83
|
hpcflow/sdk/core/element.py,sha256=pPRezx0HATKH55qEstXp1xOG4S8oGLVnJ3sQcEmLsXo,68152
|
84
84
|
hpcflow/sdk/core/enums.py,sha256=scp7b7gbFSefu1bks2M2u6amq6G_lB_j_h8U_TPM4bU,5316
|
85
85
|
hpcflow/sdk/core/environment.py,sha256=m0Qp4Y1XcPJ1yPrdHp6RJv9_H61nA9Qo2ZJV_-wGne8,7959
|
@@ -99,7 +99,7 @@ hpcflow/sdk/core/test_utils.py,sha256=UXe8P-1b_6Pn6vdgJfMVsTGJdVI65TZ2mSUgWHlVnn
|
|
99
99
|
hpcflow/sdk/core/types.py,sha256=kqVXpiH8qwOVVBAw6GFvUQVdNYLEv7qIbgEkgfK0DO8,13021
|
100
100
|
hpcflow/sdk/core/utils.py,sha256=EFflyTr6Ju8v0AfZYQuFnJm-hNjtx0XbnFuccM7cV-k,36950
|
101
101
|
hpcflow/sdk/core/validation.py,sha256=4-0g5z3CgjFLQ2FCM0p0mjvNqHYuLhIqvQR_kpM0tsU,1838
|
102
|
-
hpcflow/sdk/core/workflow.py,sha256=
|
102
|
+
hpcflow/sdk/core/workflow.py,sha256=qZdQm0AxcV9XhZ2WrzqZNkPOTyWh9ifsZmoYMasH_q0,184085
|
103
103
|
hpcflow/sdk/core/zarr_io.py,sha256=i6WqkFXe-q1sJGTCYAbsNRXRrdkxZy6NRahTcuZPuX4,5906
|
104
104
|
hpcflow/sdk/data/__init__.py,sha256=-YzROirohSKU2UGYj5vkCe_J2KejbzhIjUXNaJwKHLk,568
|
105
105
|
hpcflow/sdk/data/config_file_schema.yaml,sha256=7i3z_m3GBRtLyB4c7qPngnlQWqcIq1CyCcOysDyq4es,791
|
@@ -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.
|
222
|
-
hpcflow_new2-0.2.
|
223
|
-
hpcflow_new2-0.2.
|
224
|
-
hpcflow_new2-0.2.
|
225
|
-
hpcflow_new2-0.2.
|
221
|
+
hpcflow_new2-0.2.0a228.dist-info/LICENSE,sha256=Xhxf_KsrJNJFGMogumZhXSTPhUOVHCWf7nU-TDzqg0E,16763
|
222
|
+
hpcflow_new2-0.2.0a228.dist-info/METADATA,sha256=RBn2uQkdv3z3_ywUFrR3ou7cVAKVyRu4IJGu4B-vpm4,2663
|
223
|
+
hpcflow_new2-0.2.0a228.dist-info/WHEEL,sha256=kLuE8m1WYU0Ig0_YEGrXyTtiJvKPpLpDEiChiNyei5Y,88
|
224
|
+
hpcflow_new2-0.2.0a228.dist-info/entry_points.txt,sha256=aoGtCnFdfPcXfBdu2zZyMOJoz6fPgdR0elqsgrE-USU,106
|
225
|
+
hpcflow_new2-0.2.0a228.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|