hpcflow-new2 0.2.0a51__py3-none-any.whl → 0.2.0a53__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.0a51"
1
+ __version__ = "0.2.0a53"
@@ -461,7 +461,7 @@ class Jobscript(JSONLike):
461
461
  if not self.scheduler_name:
462
462
  return False
463
463
 
464
- support_EAR_para = self.workflow._store.features.EAR_parallelism
464
+ support_EAR_para = self.workflow._store._features.EAR_parallelism
465
465
  if self.resources.use_job_array is None:
466
466
  if self.num_elements > 1 and support_EAR_para:
467
467
  return True
@@ -1,4 +1,5 @@
1
1
  from pathlib import Path
2
+ import re
2
3
  import subprocess
3
4
  from typing import List, Tuple
4
5
  from hpcflow.sdk.submission.schedulers import Scheduler
@@ -41,7 +42,6 @@ class SGEPosix(Scheduler):
41
42
  return f"{self.js_cmd} {self.array_switch} 1-{num_elements}"
42
43
 
43
44
  def format_std_stream_file_option_lines(self, is_array, sub_idx):
44
-
45
45
  # note: we can't modify the file names
46
46
  base = f"./artifacts/submissions/{sub_idx}"
47
47
  return [
@@ -50,7 +50,6 @@ class SGEPosix(Scheduler):
50
50
  ]
51
51
 
52
52
  def format_options(self, resources, num_elements, is_array, sub_idx):
53
-
54
53
  # TODO: I think the PEs are set by the sysadmins so they should be set in the
55
54
  # config file as a mapping between num_cores/nodes and PE names?
56
55
  # `qconf -spl` shows a list of PEs
@@ -86,7 +85,6 @@ class SGEPosix(Scheduler):
86
85
  js_path: str,
87
86
  deps: List[Tuple],
88
87
  ) -> List[str]:
89
-
90
88
  cmd = [self.submit_cmd, "-terse"]
91
89
 
92
90
  dep_job_IDs = []
@@ -110,5 +108,9 @@ class SGEPosix(Scheduler):
110
108
 
111
109
  def parse_submission_output(self, stdout: str) -> str:
112
110
  """Extract scheduler reference for a newly submitted jobscript"""
113
- job_ID = stdout # since we submit with "-terse"
111
+ match = re.search("^\d+", stdout)
112
+ if match:
113
+ job_ID = match.group()
114
+ else:
115
+ raise RuntimeError(f"Could not parse Job ID from scheduler output {stdout!r}")
114
116
  return job_ID
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hpcflow-new2
3
- Version: 0.2.0a51
3
+ Version: 0.2.0a53
4
4
  Summary: Computational workflow management
5
5
  License: MIT
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=r57ND9UuWoWKdcHjr1UFvNSLwFpZ4FIXAb5-q8NRGis,741
4
- hpcflow/_version.py,sha256=2Ed9NMzXgtIo61pFHl52SghhFHfSggG4BdP6-G4Q17M,25
4
+ hpcflow/_version.py,sha256=10KcHJvcd_afOBZcYZXPgktmFuo8t0ObTDdrg6nYqTc,25
5
5
  hpcflow/app.py,sha256=aqAu60N-8rpTDevhcgcDeyY4OTvMKX0u-AWrZTIYWvI,1324
6
6
  hpcflow/cli.py,sha256=G2J3D9v6MnMWOWMMWK6UEKLn_6wnV9lT_qygEBBxg-I,66
7
7
  hpcflow/examples.ipynb,sha256=cLKp4QsxwwMXRanDnfWY9kqsV23q6G4raOpu6IZXnMw,28553
@@ -69,10 +69,10 @@ hpcflow/sdk/persistence/zarr.py,sha256=9ewEwAbgAoRRLGRpMDIZmaTmsbLQ7o802N0HdYL1u
69
69
  hpcflow/sdk/runtime.py,sha256=cXBWN-hCWG9asREqq3bB5tqLa_tPom9kJWVb_ERief4,6826
70
70
  hpcflow/sdk/scripting/__init__.py,sha256=9RBz9rrf2QWU6Ayxx7LRtaDQEaqTbjRmXuHPhg4h020,110
71
71
  hpcflow/sdk/submission/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
- hpcflow/sdk/submission/jobscript.py,sha256=wC9jUlslxsF6ZAfWXoNvgT0vISiqO7oEQjlKqgir54o,31771
72
+ hpcflow/sdk/submission/jobscript.py,sha256=e2oiuD8hwpD3iSy0jiRJp9GV2iO9p_K-oSJe7j292ME,31772
73
73
  hpcflow/sdk/submission/schedulers/__init__.py,sha256=AUnwoi3zCbiolcEG9XHLHMA3oBn02JaHiyX8sPNoOh4,1668
74
74
  hpcflow/sdk/submission/schedulers/direct.py,sha256=wlQyxWFsT2KsM2vG5Tgl81x74TQ1RYIlrq-Ir4Xk6jQ,451
75
- hpcflow/sdk/submission/schedulers/sge.py,sha256=mac5_ynR-ufL1mBctbfu6207uUmcpYEtbzC__yKWi20,3451
75
+ hpcflow/sdk/submission/schedulers/sge.py,sha256=aBwrwud5je6wKZUyDLgb9PneGLnEQwGSnxT5FdVF26I,3601
76
76
  hpcflow/sdk/submission/schedulers/slurm.py,sha256=BgamKYB_822wmWHVPBzkSaUuE1ydWMdo9kXtpgmwB44,3926
77
77
  hpcflow/sdk/submission/shells/__init__.py,sha256=q5Tpm6gxAHhIw-WjBe8Ojqbc0A_UJMO-W68-2deHB0U,1008
78
78
  hpcflow/sdk/submission/shells/base.py,sha256=P2MjfHlOtTiV-ouM1UUhDCEcq412JBglDxKEOvuhC3A,1645
@@ -98,7 +98,7 @@ hpcflow/tests/unit/test_task_schema.py,sha256=7a7o42gQhrZPMXfH0a6sGzFCJnuFrbDEl9
98
98
  hpcflow/tests/unit/test_utils.py,sha256=C-0rd7-gEZY_TJItJcSdN1TVPuHsOUfVfl0NscFRg8I,11200
99
99
  hpcflow/tests/unit/test_workflow.py,sha256=L6CwJmUsslUr8IleLZfoWWpf5-UL-1Rg5Y-UB6qpa8Y,8020
100
100
  hpcflow/viz_demo.ipynb,sha256=1QdnVsk72vihv2L6hOGyk318uEa22ZSgGxQCa7hW2oo,6238
101
- hpcflow_new2-0.2.0a51.dist-info/METADATA,sha256=gDQTjb6EkjJG4ABVt6Tthj2GXLcOeYUDgjf27MTbE2M,1802
102
- hpcflow_new2-0.2.0a51.dist-info/WHEEL,sha256=kLuE8m1WYU0Ig0_YEGrXyTtiJvKPpLpDEiChiNyei5Y,88
103
- hpcflow_new2-0.2.0a51.dist-info/entry_points.txt,sha256=aoGtCnFdfPcXfBdu2zZyMOJoz6fPgdR0elqsgrE-USU,106
104
- hpcflow_new2-0.2.0a51.dist-info/RECORD,,
101
+ hpcflow_new2-0.2.0a53.dist-info/METADATA,sha256=yjaJ5Mrs3W2-Op9Jw6AZfePHfv5CA9ssWtXym9Ma1TA,1802
102
+ hpcflow_new2-0.2.0a53.dist-info/WHEEL,sha256=kLuE8m1WYU0Ig0_YEGrXyTtiJvKPpLpDEiChiNyei5Y,88
103
+ hpcflow_new2-0.2.0a53.dist-info/entry_points.txt,sha256=aoGtCnFdfPcXfBdu2zZyMOJoz6fPgdR0elqsgrE-USU,106
104
+ hpcflow_new2-0.2.0a53.dist-info/RECORD,,