hpcflow-new2 0.2.0a189__tar.gz → 0.2.0a199__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.
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/PKG-INFO +8 -4
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/__pyinstaller/hook-hpcflow.py +9 -6
- hpcflow_new2-0.2.0a199/hpcflow/_version.py +1 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/app.py +1 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/bad_script.py +2 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/do_nothing.py +2 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/env_specifier_test/input_file_generator_pass_env_spec.py +4 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/env_specifier_test/main_script_test_pass_env_spec.py +8 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/env_specifier_test/output_file_parser_pass_env_spec.py +4 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/env_specifier_test/v1/input_file_generator_basic.py +4 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/env_specifier_test/v1/main_script_test_direct_in_direct_out.py +7 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/env_specifier_test/v1/output_file_parser_basic.py +4 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/env_specifier_test/v2/main_script_test_direct_in_direct_out.py +7 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/input_file_generator_basic.py +3 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/input_file_generator_basic_FAIL.py +3 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/input_file_generator_test_stdout_stderr.py +8 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/main_script_test_direct_in.py +3 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/main_script_test_direct_in_direct_out_2.py +6 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/main_script_test_direct_in_direct_out_2_fail_allowed.py +6 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/main_script_test_direct_in_direct_out_2_fail_allowed_group.py +7 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/main_script_test_direct_in_direct_out_3.py +6 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/main_script_test_direct_in_group_direct_out_3.py +6 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/main_script_test_direct_in_group_one_fail_direct_out_3.py +6 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_hdf5_in_obj.py +1 -1
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/main_script_test_hdf5_in_obj_2.py +12 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_hdf5_out_obj.py +1 -1
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/main_script_test_json_out_FAIL.py +3 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/main_script_test_shell_env_vars.py +12 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/main_script_test_std_out_std_err.py +6 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/output_file_parser_basic.py +3 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/output_file_parser_basic_FAIL.py +7 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/output_file_parser_test_stdout_stderr.py +8 -0
- hpcflow_new2-0.2.0a199/hpcflow/data/scripts/script_exit_test.py +5 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/template_components/environments.yaml +1 -1
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/__init__.py +26 -15
- hpcflow_new2-0.2.0a199/hpcflow/sdk/app.py +4085 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/cli.py +506 -296
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/cli_common.py +105 -7
- hpcflow_new2-0.2.0a199/hpcflow/sdk/config/__init__.py +5 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/config/callbacks.py +251 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/config/cli.py +126 -103
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/config/config.py +674 -318
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/config/config_file.py +131 -95
- hpcflow_new2-0.2.0a199/hpcflow/sdk/config/errors.py +266 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/config/types.py +148 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/__init__.py +38 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/actions.py +3326 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/app_aware.py +24 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/cache.py +224 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/core/command_files.py +263 -287
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/core/commands.py +145 -112
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/core/element.py +828 -535
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/enums.py +192 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/core/environment.py +74 -93
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/errors.py +1020 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/execute.py +207 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/json_like.py +821 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/loop.py +1268 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/loop_cache.py +282 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/core/object_list.py +370 -207
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/core/parameters.py +1100 -627
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/core/rule.py +59 -41
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/run_dir_files.py +57 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/skip_reason.py +7 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/core/task.py +1649 -1339
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/core/task_schema.py +308 -196
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/test_utils.py +443 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/types.py +440 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/core/utils.py +485 -309
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/validation.py +98 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/workflow.py +4578 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/core/zarr_io.py +206 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/data/workflow_spec_schema.yaml +2 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/demo/cli.py +53 -33
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/helper/cli.py +18 -15
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/helper/helper.py +75 -63
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/helper/watcher.py +61 -28
- hpcflow_new2-0.2.0a199/hpcflow/sdk/log.py +264 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/persistence/__init__.py +18 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/persistence/base.py +2842 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/persistence/defaults.py +6 -0
- hpcflow_new2-0.2.0a189/hpcflow/sdk/persistence/__init__.py → hpcflow_new2-0.2.0a199/hpcflow/sdk/persistence/discovery.py +14 -17
- hpcflow_new2-0.2.0a199/hpcflow/sdk/persistence/json.py +951 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/persistence/pending.py +382 -179
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/persistence/store_resource.py +39 -23
- hpcflow_new2-0.2.0a199/hpcflow/sdk/persistence/types.py +318 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/persistence/utils.py +14 -11
- hpcflow_new2-0.2.0a199/hpcflow/sdk/persistence/zarr.py +2352 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/runtime.py +44 -41
- hpcflow_new2-0.2.0a189/hpcflow/sdk/submission/jobscript_info.py → hpcflow_new2-0.2.0a199/hpcflow/sdk/submission/enums.py +39 -12
- hpcflow_new2-0.2.0a199/hpcflow/sdk/submission/jobscript.py +2366 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/submission/schedulers/__init__.py +276 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/submission/schedulers/direct.py +263 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/submission/schedulers/sge.py +379 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/submission/schedulers/slurm.py +603 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/submission/schedulers/utils.py +25 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/submission/shells/__init__.py +14 -15
- hpcflow_new2-0.2.0a199/hpcflow/sdk/submission/shells/base.py +220 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/submission/shells/bash.py +493 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/submission/shells/os_version.py +31 -30
- hpcflow_new2-0.2.0a199/hpcflow/sdk/submission/shells/powershell.py +348 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/submission/submission.py +1349 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/submission/types.py +140 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/typing.py +188 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/utils/arrays.py +71 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/utils/deferred_file.py +55 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/utils/hashing.py +16 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/utils/patches.py +12 -0
- hpcflow_new2-0.2.0a199/hpcflow/sdk/utils/strings.py +33 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/api/test_api.py +32 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/conftest.py +27 -6
- hpcflow_new2-0.2.0a199/hpcflow/tests/data/multi_path_sequences.yaml +29 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/data/workflow_test_run_abort.yaml +42 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/schedulers/sge/test_sge_submission.py +36 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/schedulers/slurm/test_slurm_submission.py +5 -2
- hpcflow_new2-0.2.0a199/hpcflow/tests/scripts/test_input_file_generators.py +282 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/scripts/test_main_scripts.py +1290 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/scripts/test_non_snippet_script.py +46 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/scripts/test_ouput_file_parsers.py +353 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/shells/wsl/test_wsl_submission.py +22 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_action.py +262 -75
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_action_rule.py +9 -4
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_app.py +33 -6
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/test_cache.py +46 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/test_cli.py +145 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_command.py +71 -54
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/test_config.py +195 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_config_file.py +21 -18
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_element.py +58 -62
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/test_element_iteration.py +88 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_element_set.py +29 -19
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_group.py +4 -2
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_input_source.py +116 -93
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_input_value.py +29 -24
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/test_jobscript_unit.py +757 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_json_like.py +44 -35
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/test_loop.py +2600 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/test_meta_task.py +325 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/test_multi_path_sequences.py +229 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_object_list.py +17 -12
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_parameter.py +29 -7
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_persistence.py +237 -42
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_resources.py +20 -18
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/test_run.py +186 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/test_run_directories.py +29 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_runtime.py +2 -1
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_schema_input.py +23 -15
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_shell.py +23 -2
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_slurm.py +8 -7
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_submission.py +38 -89
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_task.py +352 -247
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_task_schema.py +33 -20
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_utils.py +9 -11
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_value_sequence.py +15 -12
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_workflow.py +114 -83
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/unit/test_workflow_template.py +0 -1
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/utils/test_arrays.py +40 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/utils/test_deferred_file_writer.py +34 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/utils/test_hashing.py +65 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/utils/test_patches.py +5 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/unit/utils/test_redirect_std.py +50 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/workflows/__init__.py +0 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/workflows/test_directory_structure.py +31 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/workflows/test_jobscript.py +355 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/workflows/test_run_status.py +198 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/workflows/test_skip_downstream.py +696 -0
- hpcflow_new2-0.2.0a199/hpcflow/tests/workflows/test_submission.py +140 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/workflows/test_workflows.py +160 -15
- hpcflow_new2-0.2.0a199/hpcflow/tests/workflows/test_zip.py +18 -0
- hpcflow_new2-0.2.0a199/hpcflow/viz_demo.ipynb +6794 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/pyproject.toml +28 -6
- hpcflow_new2-0.2.0a189/hpcflow/_version.py +0 -1
- hpcflow_new2-0.2.0a189/hpcflow/sdk/app.py +0 -2661
- hpcflow_new2-0.2.0a189/hpcflow/sdk/config/__init__.py +0 -5
- hpcflow_new2-0.2.0a189/hpcflow/sdk/config/callbacks.py +0 -179
- hpcflow_new2-0.2.0a189/hpcflow/sdk/config/errors.py +0 -225
- hpcflow_new2-0.2.0a189/hpcflow/sdk/core/__init__.py +0 -14
- hpcflow_new2-0.2.0a189/hpcflow/sdk/core/actions.py +0 -2614
- hpcflow_new2-0.2.0a189/hpcflow/sdk/core/cache.py +0 -164
- hpcflow_new2-0.2.0a189/hpcflow/sdk/core/errors.py +0 -617
- hpcflow_new2-0.2.0a189/hpcflow/sdk/core/json_like.py +0 -553
- hpcflow_new2-0.2.0a189/hpcflow/sdk/core/loop.py +0 -864
- hpcflow_new2-0.2.0a189/hpcflow/sdk/core/loop_cache.py +0 -165
- hpcflow_new2-0.2.0a189/hpcflow/sdk/core/parallel.py +0 -21
- hpcflow_new2-0.2.0a189/hpcflow/sdk/core/run_dir_files.py +0 -73
- hpcflow_new2-0.2.0a189/hpcflow/sdk/core/test_utils.py +0 -366
- hpcflow_new2-0.2.0a189/hpcflow/sdk/core/validation.py +0 -25
- hpcflow_new2-0.2.0a189/hpcflow/sdk/core/workflow.py +0 -3212
- hpcflow_new2-0.2.0a189/hpcflow/sdk/core/zarr_io.py +0 -245
- hpcflow_new2-0.2.0a189/hpcflow/sdk/log.py +0 -213
- hpcflow_new2-0.2.0a189/hpcflow/sdk/persistence/base.py +0 -2088
- hpcflow_new2-0.2.0a189/hpcflow/sdk/persistence/json.py +0 -571
- hpcflow_new2-0.2.0a189/hpcflow/sdk/persistence/zarr.py +0 -1448
- hpcflow_new2-0.2.0a189/hpcflow/sdk/submission/jobscript.py +0 -1407
- hpcflow_new2-0.2.0a189/hpcflow/sdk/submission/schedulers/__init__.py +0 -148
- hpcflow_new2-0.2.0a189/hpcflow/sdk/submission/schedulers/direct.py +0 -223
- hpcflow_new2-0.2.0a189/hpcflow/sdk/submission/schedulers/sge.py +0 -338
- hpcflow_new2-0.2.0a189/hpcflow/sdk/submission/schedulers/slurm.py +0 -580
- hpcflow_new2-0.2.0a189/hpcflow/sdk/submission/schedulers/utils.py +0 -15
- hpcflow_new2-0.2.0a189/hpcflow/sdk/submission/shells/base.py +0 -99
- hpcflow_new2-0.2.0a189/hpcflow/sdk/submission/shells/bash.py +0 -383
- hpcflow_new2-0.2.0a189/hpcflow/sdk/submission/shells/powershell.py +0 -290
- hpcflow_new2-0.2.0a189/hpcflow/sdk/submission/submission.py +0 -670
- hpcflow_new2-0.2.0a189/hpcflow/sdk/typing.py +0 -18
- hpcflow_new2-0.2.0a189/hpcflow/tests/data/workflow_test_run_abort.yaml +0 -43
- hpcflow_new2-0.2.0a189/hpcflow/tests/scripts/test_main_scripts.py +0 -509
- hpcflow_new2-0.2.0a189/hpcflow/tests/shells/wsl/test_wsl_submission.py +0 -14
- hpcflow_new2-0.2.0a189/hpcflow/tests/unit/test_cli.py +0 -12
- hpcflow_new2-0.2.0a189/hpcflow/tests/unit/test_config.py +0 -69
- hpcflow_new2-0.2.0a189/hpcflow/tests/unit/test_element_iteration.py +0 -39
- hpcflow_new2-0.2.0a189/hpcflow/tests/unit/test_loop.py +0 -1288
- hpcflow_new2-0.2.0a189/hpcflow/tests/unit/test_run.py +0 -75
- hpcflow_new2-0.2.0a189/hpcflow/tests/workflows/test_jobscript.py +0 -22
- hpcflow_new2-0.2.0a189/hpcflow/viz_demo.ipynb +0 -210
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/LICENSE +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/README.md +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/__init__.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/__pyinstaller/__init__.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/cli.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/demo_data_manifest/__init__.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/demo_data_manifest/demo_data_manifest.json +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/__init__.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/demo_task_1_generate_t1_infile_1.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/demo_task_1_generate_t1_infile_2.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/demo_task_1_parse_p3.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/generate_t1_file_01.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_direct_in_direct_out.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_direct_in_direct_out_all_iters_test.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_direct_in_direct_out_env_spec.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_direct_in_direct_out_labels.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_direct_sub_param_in_direct_out.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_json_and_direct_in_json_out.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_json_in_json_and_direct_out.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_json_in_json_out.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_json_in_json_out_labels.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_json_in_obj.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_json_out_obj.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/main_script_test_json_sub_param_in_json_out_labels.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/scripts/parse_t1_file_01.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/template_components/__init__.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/template_components/command_files.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/template_components/parameters.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/template_components/task_schemas.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/workflows/__init__.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/data/workflows/workflow_1.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/examples.ipynb +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/data/__init__.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/data/config_file_schema.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/data/config_schema.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/data/environments_spec_schema.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/data/files_spec_schema.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/data/parameters_spec_schema.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/data/task_schema_spec_schema.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/demo/__init__.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/helper/__init__.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/sdk/submission/__init__.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/data/__init__.py +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/data/benchmark_N_elements.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/data/workflow_1.json +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/data/workflow_1.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/data/workflow_1_slurm.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/data/workflow_1_wsl.yaml +0 -0
- {hpcflow_new2-0.2.0a189 → hpcflow_new2-0.2.0a199}/hpcflow/tests/schedulers/direct_linux/test_direct_linux_submission.py +0 -0
@@ -1,12 +1,12 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: hpcflow-new2
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.0a199
|
4
4
|
Summary: Computational workflow management
|
5
|
-
License:
|
5
|
+
License: MPL-2.0
|
6
6
|
Author: aplowman
|
7
7
|
Author-email: adam.plowman@manchester.ac.uk
|
8
8
|
Requires-Python: >=3.9,<3.13
|
9
|
-
Classifier: License :: OSI Approved
|
9
|
+
Classifier: License :: OSI Approved
|
10
10
|
Classifier: Programming Language :: Python :: 3
|
11
11
|
Classifier: Programming Language :: Python :: 3.9
|
12
12
|
Classifier: Programming Language :: Python :: 3.10
|
@@ -23,14 +23,18 @@ Requires-Dist: paramiko (>=3.2.0,<4.0.0)
|
|
23
23
|
Requires-Dist: platformdirs (>=4.2.1,<5.0.0)
|
24
24
|
Requires-Dist: psutil (>=5.9.4,<6.0.0)
|
25
25
|
Requires-Dist: pytest (>=7.2.0,<8.0.0) ; extra == "test"
|
26
|
+
Requires-Dist: pyzmq (>=26.0.3,<27.0.0)
|
26
27
|
Requires-Dist: requests (>=2.31.0,<3.0.0)
|
27
28
|
Requires-Dist: reretry (>=0.11.8,<0.12.0)
|
28
29
|
Requires-Dist: rich (>=13.4.2,<14.0.0)
|
29
30
|
Requires-Dist: ruamel-yaml (>=0.18.6,<0.19.0)
|
31
|
+
Requires-Dist: scipy (>=1.13.1,<2.0.0) ; python_version < "3.10"
|
32
|
+
Requires-Dist: scipy (>=1.15.2,<2.0.0) ; python_version >= "3.10"
|
30
33
|
Requires-Dist: termcolor (>=1.1.0,<2.0.0)
|
34
|
+
Requires-Dist: typing-extensions (>=4.12.2,<5.0.0)
|
31
35
|
Requires-Dist: valida (>=0.7.5,<0.8.0)
|
32
36
|
Requires-Dist: watchdog (>=2.1.9,<3.0.0)
|
33
|
-
Requires-Dist: zarr (
|
37
|
+
Requires-Dist: zarr (==2.17.2)
|
34
38
|
Description-Content-Type: text/markdown
|
35
39
|
|
36
40
|
<div align="center">
|
@@ -4,9 +4,8 @@ from hpcflow.sdk import sdk_classes
|
|
4
4
|
|
5
5
|
|
6
6
|
# most of the modules in `sdk_classes` are imported on-demand via the app object:
|
7
|
-
hiddenimports =
|
8
|
-
|
9
|
-
hiddenimports += [
|
7
|
+
hiddenimports = [
|
8
|
+
*sdk_classes.values(),
|
10
9
|
"hpcflow.sdk.data",
|
11
10
|
"hpcflow.data.demo_data_manifest",
|
12
11
|
"hpcflow.data.scripts",
|
@@ -14,18 +13,22 @@ hiddenimports += [
|
|
14
13
|
"hpcflow.data.workflows",
|
15
14
|
"hpcflow.tests.data",
|
16
15
|
"hpcflow.sdk.core.test_utils",
|
16
|
+
"hpcflow.sdk.utils.patches",
|
17
17
|
"click.testing",
|
18
18
|
"requests", # for GitHub fsspec file system
|
19
19
|
"fsspec.implementations.github", # for GitHub fsspec file system
|
20
20
|
]
|
21
21
|
|
22
|
-
py_include_kwargs = dict(include_py_files=True, excludes=("**/__pycache__",))
|
23
22
|
datas = (
|
24
23
|
collect_data_files("hpcflow.sdk.data")
|
25
24
|
+ collect_data_files("hpcflow.data.demo_data_manifest")
|
26
|
-
+ collect_data_files(
|
25
|
+
+ collect_data_files(
|
26
|
+
"hpcflow.data.scripts", include_py_files=True, excludes=("**/__pycache__",)
|
27
|
+
)
|
27
28
|
+ collect_data_files("hpcflow.data.template_components")
|
28
29
|
+ collect_data_files("hpcflow.data.workflows")
|
29
|
-
+ collect_data_files(
|
30
|
+
+ collect_data_files(
|
31
|
+
"hpcflow.tests", include_py_files=True, excludes=("**/__pycache__",)
|
32
|
+
)
|
30
33
|
+ collect_data_files("hpcflow.tests.data")
|
31
34
|
)
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.2.0a199"
|
@@ -0,0 +1,7 @@
|
|
1
|
+
def output_file_parser_basic_FAIL(my_output_file):
|
2
|
+
# parse the output file, but then delete it, so it cannot be saved (when run with
|
3
|
+
# `OFP.save_files=True`):
|
4
|
+
with my_output_file.open("r") as fp:
|
5
|
+
out = int(fp.read().strip())
|
6
|
+
my_output_file.unlink()
|
7
|
+
return out
|
@@ -1,15 +1,19 @@
|
|
1
1
|
"""Sub-package to define an extensible hpcflow application."""
|
2
2
|
|
3
|
+
from __future__ import annotations
|
4
|
+
from collections.abc import Mapping
|
3
5
|
import logging
|
4
6
|
import os
|
5
7
|
import sys
|
8
|
+
from typing import Final
|
6
9
|
|
7
10
|
#: Classes used in the construction of a workflow.
|
8
11
|
#: :meta hide-value:
|
9
|
-
sdk_classes = {
|
12
|
+
sdk_classes: Final[Mapping[str, str]] = {
|
10
13
|
"Workflow": "hpcflow.sdk.core.workflow",
|
11
14
|
"Task": "hpcflow.sdk.core.task",
|
12
|
-
"
|
15
|
+
"MetaTask": "hpcflow.sdk.core.task",
|
16
|
+
"ActionScopeType": "hpcflow.sdk.core.enums",
|
13
17
|
"ActionScope": "hpcflow.sdk.core.actions",
|
14
18
|
"ActionRule": "hpcflow.sdk.core.actions",
|
15
19
|
"Rule": "hpcflow.sdk.core.rule",
|
@@ -43,6 +47,7 @@ sdk_classes = {
|
|
43
47
|
"NumCores": "hpcflow.sdk.core.environment",
|
44
48
|
"ExecutableInstance": "hpcflow.sdk.core.environment",
|
45
49
|
"Executable": "hpcflow.sdk.core.environment",
|
50
|
+
"Executor": "hpcflow.sdk.core.execute",
|
46
51
|
"Environment": "hpcflow.sdk.core.environment",
|
47
52
|
"Loop": "hpcflow.sdk.core.loop",
|
48
53
|
"WorkflowLoop": "hpcflow.sdk.core.loop",
|
@@ -65,15 +70,17 @@ sdk_classes = {
|
|
65
70
|
"SchemaInput": "hpcflow.sdk.core.parameters",
|
66
71
|
"SchemaOutput": "hpcflow.sdk.core.parameters",
|
67
72
|
"ValueSequence": "hpcflow.sdk.core.parameters",
|
73
|
+
"MultiPathSequence": "hpcflow.sdk.core.parameters",
|
68
74
|
"ValuePerturbation": "hpcflow.sdk.core.parameters",
|
69
75
|
"InputValue": "hpcflow.sdk.core.parameters",
|
70
76
|
"ResourceSpec": "hpcflow.sdk.core.parameters",
|
71
|
-
"TaskSourceType": "hpcflow.sdk.core.
|
72
|
-
"InputSourceType": "hpcflow.sdk.core.
|
73
|
-
"ParameterPropagationMode": "hpcflow.sdk.core.
|
77
|
+
"TaskSourceType": "hpcflow.sdk.core.enums",
|
78
|
+
"InputSourceType": "hpcflow.sdk.core.enums",
|
79
|
+
"ParameterPropagationMode": "hpcflow.sdk.core.enums",
|
74
80
|
"InputSource": "hpcflow.sdk.core.parameters",
|
75
81
|
"TaskObjective": "hpcflow.sdk.core.task_schema",
|
76
82
|
"TaskSchema": "hpcflow.sdk.core.task_schema",
|
83
|
+
"MetaTaskSchema": "hpcflow.sdk.core.task_schema",
|
77
84
|
"ElementSet": "hpcflow.sdk.core.task",
|
78
85
|
"Task": "hpcflow.sdk.core.task",
|
79
86
|
"WorkflowTask": "hpcflow.sdk.core.task",
|
@@ -86,7 +93,9 @@ sdk_classes = {
|
|
86
93
|
"Workflow": "hpcflow.sdk.core.workflow",
|
87
94
|
"WorkflowBlueprint": "hpcflow.sdk.core.workflow",
|
88
95
|
"Jobscript": "hpcflow.sdk.submission.jobscript",
|
96
|
+
"JobscriptBlock": "hpcflow.sdk.submission.jobscript",
|
89
97
|
"Submission": "hpcflow.sdk.submission.submission",
|
98
|
+
"QueuedScheduler": "hpcflow.sdk.submission.schedulers",
|
90
99
|
"DirectWindows": "hpcflow.sdk.submission.schedulers.direct",
|
91
100
|
"DirectPosix": "hpcflow.sdk.submission.schedulers.direct",
|
92
101
|
"SlurmPosix": "hpcflow.sdk.submission.schedulers.slurm",
|
@@ -98,7 +107,7 @@ sdk_classes = {
|
|
98
107
|
# these are defined as `BaseApp` methods with an underscore prefix:
|
99
108
|
#: Functions exported by the application.
|
100
109
|
#: :meta hide-value:
|
101
|
-
sdk_funcs = (
|
110
|
+
sdk_funcs: Final[tuple[str, ...]] = (
|
102
111
|
"make_workflow",
|
103
112
|
"make_demo_workflow",
|
104
113
|
"make_and_submit_workflow",
|
@@ -114,24 +123,26 @@ sdk_funcs = (
|
|
114
123
|
"cancel",
|
115
124
|
)
|
116
125
|
|
117
|
-
_SDK_CONSOLE_LOG_LEVEL = os.environ.get("HPCFLOW_SDK_CONSOLE_LOG_LEVEL", "ERROR")
|
118
126
|
|
119
|
-
|
120
|
-
def get_SDK_logger(name=None):
|
127
|
+
def get_SDK_logger(name: str | None = None) -> logging.Logger:
|
121
128
|
"""Get a logger with prefix of "hpcflow_sdk" instead of "hpcflow.sdk" to ensure the
|
122
129
|
handlers of the SDK logger and app logger are distinct."""
|
123
130
|
name = ".".join(["hpcflow_sdk"] + (name or __name__).split(".")[2:])
|
124
131
|
return logging.getLogger(name)
|
125
132
|
|
126
133
|
|
127
|
-
|
128
|
-
|
134
|
+
def _init_logger() -> None:
|
135
|
+
level = os.environ.get("HPCFLOW_SDK_CONSOLE_LOG_LEVEL", "ERROR")
|
136
|
+
SDK_logger = get_SDK_logger()
|
137
|
+
SDK_logger.setLevel("DEBUG")
|
138
|
+
|
139
|
+
sh = logging.StreamHandler()
|
140
|
+
sh.setFormatter(logging.Formatter("%(levelname)s %(name)s: %(message)s"))
|
141
|
+
sh.setLevel(level)
|
142
|
+
SDK_logger.addHandler(sh)
|
129
143
|
|
130
|
-
_sh = logging.StreamHandler()
|
131
|
-
_sh.setFormatter(logging.Formatter("%(levelname)s %(name)s: %(message)s"))
|
132
|
-
_sh.setLevel(_SDK_CONSOLE_LOG_LEVEL)
|
133
|
-
_SDK_logger.addHandler(_sh)
|
134
144
|
|
145
|
+
_init_logger()
|
135
146
|
if getattr(sys, "frozen", False) and hasattr(sys, "_MEIPASS"):
|
136
147
|
import multiprocessing
|
137
148
|
|