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, doc='', _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] | None) – 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 | SchemaParameter] | 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 (Mapping[str, Mapping[str, Mapping[str, Any]]] | None) – Information about default execution environments. Can be overridden in specific cases in the concrete tasks.
doc (str) –
_hash_value (str | None) –
Methods
Show inputs and outputs, formatted in a table.
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.
Show inputs, outputs, and actions, formatted in a table.
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
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.
Documentation information about the task schema.
The version of this task schema.
- actions#
A list of Action objects whose commands are to be executed by the task.
- basic_info()#
Show inputs and outputs, formatted in a table.
- Return type:
None
- doc#
Documentation information about the task schema.
- 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 (str | Mapping[str, JSONed] | Sequence[Mapping[str, JSONed]] | None) – The data to deserialise.
shared_data (Mapping[str, ObjectList[JSONable]] | None) – Shared context data.
- Return type:
The deserialised object.
- classmethod get_by_key(key)#
Get a config-loaded task schema from a key.
- Parameters:
key (str) –
- Return type:
- get_parameter_dependence(parameter)#
Find if/where a given parameter is used by the schema’s actions.
- Parameters:
parameter (SchemaParameter) –
- Return type:
- classmethod ignore_invalid_actions()#
A context manager within which invalid actions will be ignored.
- Return type:
Iterator[None]
- implementation#
An optional string to label the task schema by its implementation.
- info()#
Show inputs, outputs, and actions, formatted in a table.
- Return type:
None
- 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.
- objective#
This is a string representing the objective of the task 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.
- to_json_like(dct=None, shared_data=None, exclude=(), 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).