ewokscore.task.Task#

class ewokscore.task.Task(inputs=None, varinfo=None, node_id=None, node_attrs=None, execinfo=None)[source]#

Bases: Registered, UniversalHashable

Node in a task Graph with named inputs and outputs.

The universal hash of the task is equal to the universal hash of the output. The universal hash of the output is equal to the hash of the inputs and the task nonce.

A task is done when its output exists.

This is an abstract class. Instantiating a Task should be done with ewokscore.inittask.instantiate_task.

Parameters:
  • inputs (Optional[Mapping]) –

  • varinfo (Optional[dict]) –

  • node_id (Union[str, int, tuple, None]) –

  • node_attrs (Optional[dict]) –

  • execinfo (Optional[dict]) –

MISSING_DATA = <MISSING_DATA>#
assert_ready_to_execute()[source]#
classmethod class_nonce()#
classmethod class_nonce_data()[source]#
classmethod class_registry_name()#
Return type:

Optional[str]

cleanup_references()[source]#

Removes all references to the inputs. Side effect: fixes the uhash of the task and outputs

property done#

Completed (with or without exception)

property exception#
execute(force_rerun=False, raise_on_error=True, cleanup_references=False)[source]#
Parameters:
  • force_rerun (Optional[bool]) –

  • raise_on_error (Optional[bool]) –

  • cleanup_references (Optional[bool]) –

property failed#

Completed with exception

fix_uhash()#

Fix the uhash when it is derived from the uhash data.

get_input_uhashes()[source]#
get_input_value(key, default=<MISSING_DATA>)[source]#
get_input_values()[source]#
get_named_input_values()[source]#
get_output_transfer_data()[source]#

The values are either DataUri or Variable

get_output_uhashes()[source]#
get_output_value(key, default=<MISSING_DATA>)[source]#
get_output_values()[source]#
get_positional_input_values()[source]#
classmethod get_subclass(registry_name, _second_attempt=False)#

Retrieving a derived class

classmethod get_subclass_names()#
Return type:

List[str]

classmethod get_subclasses()#
get_uhash_init(serialize=False)#
classmethod input_names()[source]#
property input_uhashes#
property input_values#

DEPRECATED

property input_variables#
property inputs#
instance_nonce()#
classmethod instantiate(registry_name, **kw)[source]#

Factory method for instantiating a derived class.

Parameters:
  • registry_name (str) – for example “tasklib.tasks.MyTask” or “MyTask”

  • **kwTask constructor arguments

  • registry_name

Returns Task:

property is_ready_to_execute#
property job_id: str | None#
property label#
property missing_inputs#
property missing_outputs#
property named_input_values#

DEPRECATED

property node_id#
property npositional_inputs#
classmethod optional_input_names()[source]#
property output_metadata: dict | None#
classmethod output_names()[source]#
property output_transfer_data#

DEPRECATED

property output_uhashes#

DEPRECATED

property output_values#

DEPRECATED

property output_variables#
property outputs#
property positional_input_values#

DEPRECATED

classmethod required_input_names()[source]#
run()[source]#

To be implemented by the derived classes

set_uhash_init(pre_uhash=None, instance_nonce=None)#
Parameters:
property succeeded#

Completed without exception and with output values

property uhash: UniversalHash | None#
uhash_randomize()#
undo_fix_uhash()#
undo_randomize()#
property workflow_id: str | None#