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