hpcflow-new2 0.2.0a51__tar.gz → 0.2.0a53__tar.gz

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.
Files changed (104) hide show
  1. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/PKG-INFO +1 -1
  2. hpcflow_new2-0.2.0a53/hpcflow/_version.py +1 -0
  3. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/submission/jobscript.py +1 -1
  4. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/submission/schedulers/sge.py +6 -4
  5. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/pyproject.toml +2 -2
  6. hpcflow_new2-0.2.0a51/hpcflow/_version.py +0 -1
  7. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/README.md +0 -0
  8. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/__init__.py +0 -0
  9. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/__pyinstaller/__init__.py +0 -0
  10. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/__pyinstaller/hook-hpcflow.py +0 -0
  11. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/app.py +0 -0
  12. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/cli.py +0 -0
  13. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/examples.ipynb +0 -0
  14. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/__init__.py +0 -0
  15. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/api.py +0 -0
  16. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/app.py +0 -0
  17. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/cli.py +0 -0
  18. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/config/__init__.py +0 -0
  19. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/config/callbacks.py +0 -0
  20. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/config/cli.py +0 -0
  21. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/config/config.py +0 -0
  22. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/config/config_file.py +0 -0
  23. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/config/errors.py +0 -0
  24. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/__init__.py +0 -0
  25. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/actions.py +0 -0
  26. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/command_files.py +0 -0
  27. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/commands.py +0 -0
  28. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/element.py +0 -0
  29. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/environment.py +0 -0
  30. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/errors.py +0 -0
  31. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/json_like.py +0 -0
  32. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/loop.py +0 -0
  33. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/object_list.py +0 -0
  34. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/parameters.py +0 -0
  35. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/task.py +0 -0
  36. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/task_schema.py +0 -0
  37. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/test_utils.py +0 -0
  38. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/utils.py +0 -0
  39. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/validation.py +0 -0
  40. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/workflow.py +0 -0
  41. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/core/zarr_io.py +0 -0
  42. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/data/__init__.py +0 -0
  43. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/data/config_file_schema.yaml +0 -0
  44. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/data/config_schema.yaml +0 -0
  45. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/data/environments_spec_schema.yaml +0 -0
  46. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/data/files_spec_schema.yaml +0 -0
  47. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/data/parameters_spec_schema.yaml +0 -0
  48. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/data/task_schema_spec_schema.yaml +0 -0
  49. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/data/template_components/__init__.py +0 -0
  50. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/data/template_components/command_files.yaml +0 -0
  51. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/data/template_components/environments.yaml +0 -0
  52. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/data/template_components/parameters.yaml +0 -0
  53. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/data/template_components/task_schemas.yaml +0 -0
  54. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/data/workflow_spec_schema.yaml +0 -0
  55. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/demo/__init__.py +0 -0
  56. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/demo/cli.py +0 -0
  57. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/demo/scripts/__init__.py +0 -0
  58. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/demo/scripts/demo_task_1_generate_t1_infile_1.py +0 -0
  59. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/demo/scripts/demo_task_1_generate_t1_infile_2.py +0 -0
  60. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/demo/scripts/demo_task_1_parse_p3.py +0 -0
  61. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/demo/scripts/generate_t1_file_01.py +0 -0
  62. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/demo/scripts/parse_t1_file_01.py +0 -0
  63. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/helper/__init__.py +0 -0
  64. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/helper/cli.py +0 -0
  65. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/helper/helper.py +0 -0
  66. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/helper/watcher.py +0 -0
  67. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/log.py +0 -0
  68. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/persistence/__init__.py +0 -0
  69. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/persistence/base.py +0 -0
  70. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/persistence/json.py +0 -0
  71. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/persistence/pending.py +0 -0
  72. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/persistence/store_resource.py +0 -0
  73. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/persistence/utils.py +0 -0
  74. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/persistence/zarr.py +0 -0
  75. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/runtime.py +0 -0
  76. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/scripting/__init__.py +0 -0
  77. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/submission/__init__.py +0 -0
  78. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/submission/schedulers/__init__.py +0 -0
  79. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/submission/schedulers/direct.py +0 -0
  80. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/submission/schedulers/slurm.py +0 -0
  81. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/submission/shells/__init__.py +0 -0
  82. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/submission/shells/base.py +0 -0
  83. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/submission/shells/bash.py +0 -0
  84. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/submission/shells/os_version.py +0 -0
  85. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/submission/shells/powershell.py +0 -0
  86. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/submission/submission.py +0 -0
  87. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/sdk/typing.py +0 -0
  88. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_action.py +0 -0
  89. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_app.py +0 -0
  90. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_cli.py +0 -0
  91. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_element.py +0 -0
  92. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_element_set.py +0 -0
  93. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_input_source.py +0 -0
  94. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_input_value.py +0 -0
  95. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_json_like.py +0 -0
  96. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_loop.py +0 -0
  97. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_object_list.py +0 -0
  98. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_persistence.py +0 -0
  99. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_submission.py +0 -0
  100. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_task.py +0 -0
  101. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_task_schema.py +0 -0
  102. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_utils.py +0 -0
  103. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/tests/unit/test_workflow.py +0 -0
  104. {hpcflow_new2-0.2.0a51 → hpcflow_new2-0.2.0a53}/hpcflow/viz_demo.ipynb +0 -0
@@ -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
@@ -0,0 +1 @@
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,7 +1,7 @@
1
1
 
2
2
  [tool.poetry]
3
3
  name = "hpcflow-new2"
4
- version = "0.2.0a51"
4
+ version = "0.2.0a53"
5
5
 
6
6
  description = "Computational workflow management"
7
7
  authors = ["aplowman <adam.plowman@manchester.ac.uk>"]
@@ -63,7 +63,7 @@ hook-dirs = "hpcflow.__pyinstaller:get_hook_dirs"
63
63
 
64
64
  [tool.commitizen]
65
65
  name = "cz_conventional_commits"
66
- version = "0.2.0a51"
66
+ version = "0.2.0a53"
67
67
  tag_format = "v$version"
68
68
  version_files = [
69
69
  "pyproject.toml:version",
@@ -1 +0,0 @@
1
- __version__ = "0.2.0a51"