hpcflow.sdk.app.BaseApp#
- class hpcflow.sdk.app.BaseApp(*args, **kwargs)#
Bases:
object
Class to generate the hpcflow application.
- Parameters:
module – The module name in which the app object is defined.
docs_import_conv – The convention for the app alias used in import statements in the documentation. E.g. for the hpcflow base app, this is hf. This is combined with module to form the complete import statement. E.g. for the hpcflow base app, the complete import statement is: import hpcflow.app as hf, where hpcflow.app is the module argument and hf is the docs_import_conv argument.
Methods
Clear the known-submissions file of all submissions.
Delete the contents of the user runtime directory.
Copy a builtin demo workflow to the specified location.
Retrieve a list of schedulers that are supported in principle by this operating system.
Return the full path to the config file, without loading the config.
Context manager to get a (temporary) file path to an included demo workflow template.
Get a dict mapping parameter types to task schemas that input/output each parameter.
Get an arbitrary scheduler object.
Return a list of demo workflow templates included in the app.
Load a WorkflowTemplate object from a builtin demo template file.
Return a decorator for retrying functions on permission and OS errors that might be associated with cloud-storage desktop sync.
Retrieve existing workflows that might be running.
Reset the config file to defaults, and reload the config.
Set workflows in the known-submissions file to the non-running state.
Print the contents of a builtin demo workflow template file.
Attributes
We segregate by hostname to account for the case where multiple machines might use the same shared file system
Retrieve a temporary directory.
- clear_known_submissions_file()#
Clear the known-submissions file of all submissions. This shouldn’t be needed normally.
- clear_user_runtime_dir()#
Delete the contents of the user runtime directory.
- property command_files: CommandFilesList#
- copy_demo_workflow(name, dst=None, doc=True)#
Copy a builtin demo workflow to the specified location.
- Parameters:
name (str) – The name of the demo workflow to copy
dst (PathLike | None) – Directory or full file path to copy the demo workflow to. If not specified, the current working directory will be used.
doc (bool) – If False, the copied workflow template file will not include the doc attribute (if originally present).
- Return type:
- property envs: EnvironmentsList#
- get_OS_supported_schedulers()#
Retrieve a list of schedulers that are supported in principle by this operating system.
This does not necessarily mean all the returned schedulers are available on this system.
- get_config_path(config_dir=None)#
Return the full path to the config file, without loading the config.
- get_demo_workflow_template_file(name, doc=True, delete=True)#
Context manager to get a (temporary) file path to an included demo workflow template.
- get_parameter_task_schema_map()#
Get a dict mapping parameter types to task schemas that input/output each parameter.
- get_scheduler(scheduler_name, os_name, scheduler_args=None)#
Get an arbitrary scheduler object.
- property known_subs_file_name#
- property known_subs_file_path#
- list_demo_workflows()#
Return a list of demo workflow templates included in the app.
- load_config(config_dir=None, config_key=None, **overrides)#
- Return type:
None
- load_demo_workflow(name)#
Load a WorkflowTemplate object from a builtin demo template file.
- Parameters:
name (str) –
- Return type:
- load_template_components(warn=True)#
- Return type:
None
- property parameters: ParametersList#
- perm_error_retry()#
Return a decorator for retrying functions on permission and OS errors that might be associated with cloud-storage desktop sync. engine operations.
- read_known_submissions_file()#
Retrieve existing workflows that might be running.
- reload_config(config_dir=None, config_key=None, **overrides)#
- Return type:
None
- reload_template_components(warn=True)#
- Return type:
None
- reset_config(config_dir=None, config_key=None, **overrides)#
Reset the config file to defaults, and reload the config.
- Return type:
None
- property run_time_info: RunTimeInfo#
- property scheduler_lookup#
- property scripts#
- set_inactive_in_known_subs_file(inactive_IDs)#
Set workflows in the known-submissions file to the non-running state.
Note we aim for atomicity to help with the scenario where a new workflow submission is adding itself to the file at the same time as we have decided an existing workflow should no longer be part of this file. Ideally, such a scenario should not arise because both operations should only ever be interactively initiated by the single user (Workflow.submit and App.get_known_submissions). If this operation is atomic, then at least the known-submissions file should be left in a usable (but inaccurate) state.
- show_demo_workflow(name, syntax=True, doc=False)#
Print the contents of a builtin demo workflow template file.
- property task_schemas: TaskSchemasList#
- property template_components: Dict[str, ObjectList]#
- template_components_from_json_like(json_like)#
- Return type:
None
- unload_config()#