hpcflow-new2 0.2.0a227__tar.gz → 0.2.0a228__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 (225) hide show
  1. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/PKG-INFO +1 -1
  2. hpcflow_new2-0.2.0a228/hpcflow/_version.py +1 -0
  3. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/actions.py +1 -0
  4. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/commands.py +2 -0
  5. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/workflow.py +19 -10
  6. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/pyproject.toml +2 -2
  7. hpcflow_new2-0.2.0a227/hpcflow/_version.py +0 -1
  8. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/LICENSE +0 -0
  9. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/README.md +0 -0
  10. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/__init__.py +0 -0
  11. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/__pyinstaller/__init__.py +0 -0
  12. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/__pyinstaller/hook-hpcflow.py +0 -0
  13. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/app.py +0 -0
  14. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/cli.py +0 -0
  15. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/demo_data_manifest/__init__.py +0 -0
  16. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/demo_data_manifest/demo_data_manifest.json +0 -0
  17. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/__init__.py +0 -0
  18. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/bad_script.py +0 -0
  19. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/demo_task_1_generate_t1_infile_1.py +0 -0
  20. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/demo_task_1_generate_t1_infile_2.py +0 -0
  21. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/demo_task_1_parse_p3.py +0 -0
  22. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/do_nothing.py +0 -0
  23. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/env_specifier_test/input_file_generator_pass_env_spec.py +0 -0
  24. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/env_specifier_test/main_script_test_pass_env_spec.py +0 -0
  25. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/env_specifier_test/output_file_parser_pass_env_spec.py +0 -0
  26. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/env_specifier_test/v1/input_file_generator_basic.py +0 -0
  27. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/env_specifier_test/v1/main_script_test_direct_in_direct_out.py +0 -0
  28. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/env_specifier_test/v1/output_file_parser_basic.py +0 -0
  29. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/env_specifier_test/v2/main_script_test_direct_in_direct_out.py +0 -0
  30. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/generate_t1_file_01.py +0 -0
  31. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/import_future_script.py +0 -0
  32. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/input_file_generator_basic.py +0 -0
  33. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/input_file_generator_basic_FAIL.py +0 -0
  34. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/input_file_generator_test_stdout_stderr.py +0 -0
  35. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_direct_in.py +0 -0
  36. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_direct_in_direct_out.py +0 -0
  37. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_direct_in_direct_out_2.py +0 -0
  38. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_direct_in_direct_out_2_fail_allowed.py +0 -0
  39. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_direct_in_direct_out_2_fail_allowed_group.py +0 -0
  40. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_direct_in_direct_out_3.py +0 -0
  41. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_direct_in_direct_out_all_iters_test.py +0 -0
  42. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_direct_in_direct_out_env_spec.py +0 -0
  43. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_direct_in_direct_out_labels.py +0 -0
  44. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_direct_in_group_direct_out_3.py +0 -0
  45. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_direct_in_group_one_fail_direct_out_3.py +0 -0
  46. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_direct_sub_param_in_direct_out.py +0 -0
  47. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_hdf5_in_obj.py +0 -0
  48. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_hdf5_in_obj_2.py +0 -0
  49. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_hdf5_in_obj_group.py +0 -0
  50. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_hdf5_out_obj.py +0 -0
  51. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_json_and_direct_in_json_out.py +0 -0
  52. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_json_in_json_and_direct_out.py +0 -0
  53. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_json_in_json_out.py +0 -0
  54. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_json_in_json_out_labels.py +0 -0
  55. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_json_in_obj.py +0 -0
  56. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_json_out_FAIL.py +0 -0
  57. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_json_out_obj.py +0 -0
  58. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_json_sub_param_in_json_out_labels.py +0 -0
  59. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_shell_env_vars.py +0 -0
  60. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/main_script_test_std_out_std_err.py +0 -0
  61. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/output_file_parser_basic.py +0 -0
  62. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/output_file_parser_basic_FAIL.py +0 -0
  63. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/output_file_parser_test_stdout_stderr.py +0 -0
  64. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/parse_t1_file_01.py +0 -0
  65. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/scripts/script_exit_test.py +0 -0
  66. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/template_components/__init__.py +0 -0
  67. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/template_components/command_files.yaml +0 -0
  68. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/template_components/environments.yaml +0 -0
  69. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/template_components/parameters.yaml +0 -0
  70. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/template_components/task_schemas.yaml +0 -0
  71. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/workflows/__init__.py +0 -0
  72. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/data/workflows/workflow_1.yaml +0 -0
  73. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/examples.ipynb +0 -0
  74. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/__init__.py +0 -0
  75. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/app.py +0 -0
  76. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/cli.py +0 -0
  77. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/cli_common.py +0 -0
  78. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/config/__init__.py +0 -0
  79. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/config/callbacks.py +0 -0
  80. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/config/cli.py +0 -0
  81. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/config/config.py +0 -0
  82. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/config/config_file.py +0 -0
  83. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/config/errors.py +0 -0
  84. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/config/types.py +0 -0
  85. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/__init__.py +0 -0
  86. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/app_aware.py +0 -0
  87. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/cache.py +0 -0
  88. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/command_files.py +0 -0
  89. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/element.py +0 -0
  90. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/enums.py +0 -0
  91. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/environment.py +0 -0
  92. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/errors.py +0 -0
  93. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/execute.py +0 -0
  94. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/json_like.py +0 -0
  95. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/loop.py +0 -0
  96. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/loop_cache.py +0 -0
  97. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/object_list.py +0 -0
  98. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/parameters.py +0 -0
  99. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/rule.py +0 -0
  100. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/run_dir_files.py +0 -0
  101. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/skip_reason.py +0 -0
  102. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/task.py +0 -0
  103. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/task_schema.py +0 -0
  104. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/test_utils.py +0 -0
  105. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/types.py +0 -0
  106. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/utils.py +0 -0
  107. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/validation.py +0 -0
  108. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/core/zarr_io.py +0 -0
  109. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/data/__init__.py +0 -0
  110. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/data/config_file_schema.yaml +0 -0
  111. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/data/config_schema.yaml +0 -0
  112. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/data/environments_spec_schema.yaml +0 -0
  113. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/data/files_spec_schema.yaml +0 -0
  114. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/data/parameters_spec_schema.yaml +0 -0
  115. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/data/task_schema_spec_schema.yaml +0 -0
  116. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/data/workflow_spec_schema.yaml +0 -0
  117. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/demo/__init__.py +0 -0
  118. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/demo/cli.py +0 -0
  119. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/helper/__init__.py +0 -0
  120. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/helper/cli.py +0 -0
  121. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/helper/helper.py +0 -0
  122. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/helper/watcher.py +0 -0
  123. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/log.py +0 -0
  124. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/persistence/__init__.py +0 -0
  125. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/persistence/base.py +0 -0
  126. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/persistence/defaults.py +0 -0
  127. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/persistence/discovery.py +0 -0
  128. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/persistence/json.py +0 -0
  129. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/persistence/pending.py +0 -0
  130. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/persistence/store_resource.py +0 -0
  131. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/persistence/types.py +0 -0
  132. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/persistence/utils.py +0 -0
  133. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/persistence/zarr.py +0 -0
  134. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/runtime.py +0 -0
  135. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/__init__.py +0 -0
  136. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/enums.py +0 -0
  137. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/jobscript.py +0 -0
  138. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/schedulers/__init__.py +0 -0
  139. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/schedulers/direct.py +0 -0
  140. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/schedulers/sge.py +0 -0
  141. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/schedulers/slurm.py +0 -0
  142. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/schedulers/utils.py +0 -0
  143. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/shells/__init__.py +0 -0
  144. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/shells/base.py +0 -0
  145. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/shells/bash.py +0 -0
  146. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/shells/os_version.py +0 -0
  147. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/shells/powershell.py +0 -0
  148. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/submission.py +0 -0
  149. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/submission/types.py +0 -0
  150. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/typing.py +0 -0
  151. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/utils/arrays.py +0 -0
  152. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/utils/deferred_file.py +0 -0
  153. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/utils/hashing.py +0 -0
  154. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/utils/patches.py +0 -0
  155. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/sdk/utils/strings.py +0 -0
  156. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/api/test_api.py +0 -0
  157. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/conftest.py +0 -0
  158. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/data/__init__.py +0 -0
  159. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/data/benchmark_N_elements.yaml +0 -0
  160. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/data/benchmark_script_runner.yaml +0 -0
  161. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/data/multi_path_sequences.yaml +0 -0
  162. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/data/workflow_1.json +0 -0
  163. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/data/workflow_1.yaml +0 -0
  164. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/data/workflow_1_slurm.yaml +0 -0
  165. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/data/workflow_1_wsl.yaml +0 -0
  166. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/data/workflow_test_run_abort.yaml +0 -0
  167. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/schedulers/direct_linux/test_direct_linux_submission.py +0 -0
  168. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/schedulers/sge/test_sge_submission.py +0 -0
  169. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/schedulers/slurm/test_slurm_submission.py +0 -0
  170. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/scripts/test_input_file_generators.py +0 -0
  171. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/scripts/test_main_scripts.py +0 -0
  172. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/scripts/test_non_snippet_script.py +0 -0
  173. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/scripts/test_ouput_file_parsers.py +0 -0
  174. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/shells/wsl/test_wsl_submission.py +0 -0
  175. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_action.py +0 -0
  176. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_action_rule.py +0 -0
  177. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_app.py +0 -0
  178. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_cache.py +0 -0
  179. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_cli.py +0 -0
  180. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_command.py +0 -0
  181. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_config.py +0 -0
  182. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_config_file.py +0 -0
  183. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_element.py +0 -0
  184. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_element_iteration.py +0 -0
  185. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_element_set.py +0 -0
  186. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_group.py +0 -0
  187. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_input_source.py +0 -0
  188. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_input_value.py +0 -0
  189. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_jobscript_unit.py +0 -0
  190. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_json_like.py +0 -0
  191. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_loop.py +0 -0
  192. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_meta_task.py +0 -0
  193. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_multi_path_sequences.py +0 -0
  194. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_object_list.py +0 -0
  195. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_parameter.py +0 -0
  196. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_persistence.py +0 -0
  197. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_resources.py +0 -0
  198. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_run.py +0 -0
  199. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_run_directories.py +0 -0
  200. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_runtime.py +0 -0
  201. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_schema_input.py +0 -0
  202. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_shell.py +0 -0
  203. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_slurm.py +0 -0
  204. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_submission.py +0 -0
  205. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_task.py +0 -0
  206. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_task_schema.py +0 -0
  207. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_utils.py +0 -0
  208. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_value_sequence.py +0 -0
  209. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_workflow.py +0 -0
  210. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/test_workflow_template.py +0 -0
  211. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/utils/test_arrays.py +0 -0
  212. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/utils/test_deferred_file_writer.py +0 -0
  213. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/utils/test_hashing.py +0 -0
  214. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/utils/test_patches.py +0 -0
  215. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/utils/test_redirect_std.py +0 -0
  216. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/unit/utils/test_strings.py +0 -0
  217. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/workflows/__init__.py +0 -0
  218. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/workflows/test_directory_structure.py +0 -0
  219. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/workflows/test_jobscript.py +0 -0
  220. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/workflows/test_run_status.py +0 -0
  221. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/workflows/test_skip_downstream.py +0 -0
  222. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/workflows/test_submission.py +0 -0
  223. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/workflows/test_workflows.py +0 -0
  224. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/hpcflow/tests/workflows/test_zip.py +0 -0
  225. {hpcflow_new2-0.2.0a227 → hpcflow_new2-0.2.0a228}/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.0a227
3
+ Version: 0.2.0a228
4
4
  Summary: Computational workflow management
5
5
  License: MPL-2.0
6
6
  Author: aplowman
@@ -0,0 +1 @@
1
+ __version__ = "0.2.0a228"
@@ -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:
@@ -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:
@@ -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
- cache = ObjectCache.build(self, elements=True, iterations=True, runs=True)
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
 
2
2
  [tool.poetry]
3
3
  name = "hpcflow-new2"
4
- version = "0.2.0a227"
4
+ version = "0.2.0a228"
5
5
 
6
6
  description = "Computational workflow management"
7
7
  authors = ["aplowman <adam.plowman@manchester.ac.uk>"]
@@ -100,7 +100,7 @@ hook-dirs = "hpcflow.__pyinstaller:get_hook_dirs"
100
100
 
101
101
  [tool.commitizen]
102
102
  name = "cz_conventional_commits"
103
- version = "0.2.0a227"
103
+ version = "0.2.0a228"
104
104
  tag_format = "v$version"
105
105
  version_files = [
106
106
  "pyproject.toml:version",
@@ -1 +0,0 @@
1
- __version__ = "0.2.0a227"