hpcflow.app.TaskSchema#
- class hpcflow.app.TaskSchema(objective, actions=None, method=None, implementation=None, inputs=None, outputs=None, version=None, parameter_class_modules=None, web_doc=True, environment_presets=None, _hash_value=None)#
Bases:
TaskSchema
Class to represent the inputs, outputs and implementation mechanism of a given task.
- Parameters:
objective (TaskObjective | str) – This is a string representing the objective of the task schema.
actions (List[Action]) – A list of Action objects whose commands are to be executed by the task.
method (str | None) – An optional string to label the task schema by its method.
implementation (str | None) – An optional string to label the task schema by its implementation.
inputs (List[Parameter | SchemaInput] | None) – A list of SchemaInput objects that define the inputs to the task.
outputs (List[Parameter | SchemaOutput] | None) – A list of SchemaOutput objects that define the outputs of the task.
version (str | None) – The version of this task schema.
parameter_class_modules (List[str] | None) – Where to find implementations of parameter value handlers.
web_doc (bool | None) – True if this object should be included in the Sphinx documentation (normally only relevant for built-in task schemas). True by default.
environment_presets (Dict[str, Dict[str, Dict[str, Any]]] | None) – Information about default execution environments. Can be overridden in specific cases in the concrete tasks.
_hash_value (str | None) –
Methods
Make an instance of this class from JSON (or YAML) data.
Get a config-loaded task schema from a key.
Describe the task schema as an HTML document.
Get the hashable value that represents this schema.
Find if/where a given parameter is used by the schema's actions.
A context manager within which invalid actions will be ignored.
Convert this task schema to persistent form within the context of the given workflow.
Serialize this object as a dictionary.
Serialize this object as an object structure that can be trivially converted to JSON.
Attributes
Show inputs and outputs, formatted in a table.
Show inputs, outputs, and actions, formatted in a table.
The input types to the schema.
Get a list of input types that have multiple labels.
The name of this schema.
The output types from the schema.
The parameters that this schema provides.
The template that this schema is contained in.
This is a string representing the objective of the task schema.
A list of Action objects whose commands are to be executed by the task.
An optional string to label the task schema by its method.
An optional string to label the task schema by its implementation.
A list of SchemaInput objects that define the inputs to the task.
A list of SchemaOutput objects that define the outputs of the task.
Where to find implementations of parameter value handlers.
Whether this object should be included in the Sphinx documentation (normally only relevant for built-in task schemas).
Information about default execution environments.
The version of this task schema.
- actions#
A list of Action objects whose commands are to be executed by the task.
- app = BaseApp(name='hpcFlow', version='0.2.0a180')#
- property basic_info#
Show inputs and outputs, formatted in a table.
- environment_presets#
Information about default execution environments.
- classmethod from_json_like(json_like, shared_data=None)#
Make an instance of this class from JSON (or YAML) data.
- Parameters:
json_like (Union[Dict, List]) – The data to deserialise.
shared_data (Optional[Dict[str, ObjectList]]) – Shared context data.
- Return type:
The deserialised object.
- classmethod get_by_key(key)#
Get a config-loaded task schema from a key.
- get_key()#
Get the hashable value that represents this schema.
- get_parameter_dependence(parameter)#
Find if/where a given parameter is used by the schema’s actions.
- Parameters:
parameter (SchemaParameter) –
- classmethod ignore_invalid_actions()#
A context manager within which invalid actions will be ignored.
- implementation#
An optional string to label the task schema by its implementation.
- property info#
Show inputs, outputs, and actions, formatted in a table.
- property input_types#
The input types to the schema.
- inputs#
A list of SchemaInput objects that define the inputs to the task.
- make_persistent(workflow, source)#
Convert this task schema to persistent form within the context of the given workflow.
- method#
An optional string to label the task schema by its method.
- property name#
The name of this schema.
- objective#
This is a string representing the objective of the task schema.
- property output_types#
The output types from the schema.
- outputs#
A list of SchemaOutput objects that define the outputs of the task.
- parameter_class_modules#
Where to find implementations of parameter value handlers.
- property task_template#
The template that this schema is contained in.
- to_dict()#
Serialize this object as a dictionary.
- to_json_like(dct=None, shared_data=None, exclude=None, path=None)#
Serialize this object as an object structure that can be trivially converted to JSON. Note that YAML can also be produced from the result of this method; it just requires a different final serialization step.
- version#
The version of this task schema.
- web_doc#
Whether this object should be included in the Sphinx documentation (normally only relevant for built-in task schemas).