aiida.orm.nodes.process.workflow package

Module with Node sub classes for workflow processes.

class aiida.orm.nodes.process.workflow.WorkflowNode(backend=None, user=None, computer=None, **kwargs)[source]

Bases: aiida.orm.nodes.process.process.ProcessNode

Base class for all nodes representing the execution of a workflow process.

__abstractmethods__ = frozenset([])
__module__ = 'aiida.orm.nodes.process.workflow.workflow'
_abc_cache = <_weakrefset.WeakSet object>
_abc_negative_cache = <_weakrefset.WeakSet object>
_abc_negative_cache_version = 40
_abc_registry = <_weakrefset.WeakSet object>
_logger = <logging.Logger object>
_plugin_type_string = 'process.workflow.workflow.WorkflowNode.'
_query_type_string = 'process.workflow.workflow.'
_storable = True
_unstorable_message = 'storing for this node has been disabled'
inputs

Return an instance of NodeLinksManager to manage incoming INPUT_WORK links

The returned Manager allows you to easily explore the nodes connected to this node via an incoming INPUT_WORK link. The incoming nodes are reachable by their link labels which are attributes of the manager.

Returns:NodeLinksManager
outputs

Return an instance of NodeLinksManager to manage outgoing RETURN links

The returned Manager allows you to easily explore the nodes connected to this node via an outgoing RETURN link. The outgoing nodes are reachable by their link labels which are attributes of the manager.

Returns:NodeLinksManager
class aiida.orm.nodes.process.workflow.WorkChainNode(backend=None, user=None, computer=None, **kwargs)[source]

Bases: aiida.orm.nodes.process.workflow.workflow.WorkflowNode

ORM class for all nodes representing the execution of a WorkChain.

STEPPER_STATE_INFO_KEY = 'stepper_state_info'
__abstractmethods__ = frozenset([])
__module__ = 'aiida.orm.nodes.process.workflow.workchain'
_abc_cache = <_weakrefset.WeakSet object>
_abc_negative_cache = <_weakrefset.WeakSet object>
_abc_negative_cache_version = 40
_abc_registry = <_weakrefset.WeakSet object>
_cachable = False
_logger = <logging.Logger object>
_plugin_type_string = 'process.workflow.workchain.WorkChainNode.'
_query_type_string = 'process.workflow.workchain.'
_updatable_attributes = ('sealed', 'paused', 'checkpoints', 'exception', 'exit_message', 'exit_status', 'process_label', 'process_state', 'process_status', 'stepper_state_info')
set_stepper_state_info(stepper_state_info)[source]

Set the stepper state info

Parameters:state – string representation of the stepper state info
stepper_state_info

Return the stepper state info

Returns:string representation of the stepper state info
class aiida.orm.nodes.process.workflow.WorkFunctionNode(backend=None, user=None, computer=None, **kwargs)[source]

Bases: aiida.orm.utils.mixins.FunctionCalculationMixin, aiida.orm.nodes.process.workflow.workflow.WorkflowNode

ORM class for all nodes representing the execution of a workfunction.

__abstractmethods__ = frozenset([])
__module__ = 'aiida.orm.nodes.process.workflow.workfunction'
_abc_cache = <_weakrefset.WeakSet object>
_abc_negative_cache = <_weakrefset.WeakSet object>
_abc_negative_cache_version = 40
_abc_registry = <_weakrefset.WeakSet object>
_logger = <logging.Logger object>
_plugin_type_string = 'process.workflow.workfunction.WorkFunctionNode.'
_query_type_string = 'process.workflow.workfunction.'
validate_outgoing(target, link_type, link_label)[source]

Validate adding a link of the given type from ourself to a given node.

A workfunction cannot create Data, so if we receive an outgoing RETURN link to an unstored Data node, that means the user created a Data node within our function body and is trying to return it. This use case should be reserved for @calcfunctions, as they can have CREATE links.

Parameters:
  • target – the node to which the link is going
  • link_type – the link type
  • link_label – the link label
Raises:
  • TypeError – if target is not a Node instance or link_type is not a LinkType enum
  • ValueError – if the proposed link is invalid

Submodules

Module with Node sub class for workchain processes.

class aiida.orm.nodes.process.workflow.workchain.WorkChainNode(backend=None, user=None, computer=None, **kwargs)[source]

Bases: aiida.orm.nodes.process.workflow.workflow.WorkflowNode

ORM class for all nodes representing the execution of a WorkChain.

STEPPER_STATE_INFO_KEY = 'stepper_state_info'
__abstractmethods__ = frozenset([])
__module__ = 'aiida.orm.nodes.process.workflow.workchain'
_abc_cache = <_weakrefset.WeakSet object>
_abc_negative_cache = <_weakrefset.WeakSet object>
_abc_negative_cache_version = 40
_abc_registry = <_weakrefset.WeakSet object>
_cachable = False
_logger = <logging.Logger object>
_plugin_type_string = 'process.workflow.workchain.WorkChainNode.'
_query_type_string = 'process.workflow.workchain.'
_updatable_attributes = ('sealed', 'paused', 'checkpoints', 'exception', 'exit_message', 'exit_status', 'process_label', 'process_state', 'process_status', 'stepper_state_info')
set_stepper_state_info(stepper_state_info)[source]

Set the stepper state info

Parameters:state – string representation of the stepper state info
stepper_state_info

Return the stepper state info

Returns:string representation of the stepper state info

Module with Node sub class for workflow processes.

class aiida.orm.nodes.process.workflow.workflow.WorkflowNode(backend=None, user=None, computer=None, **kwargs)[source]

Bases: aiida.orm.nodes.process.process.ProcessNode

Base class for all nodes representing the execution of a workflow process.

__abstractmethods__ = frozenset([])
__module__ = 'aiida.orm.nodes.process.workflow.workflow'
_abc_cache = <_weakrefset.WeakSet object>
_abc_negative_cache = <_weakrefset.WeakSet object>
_abc_negative_cache_version = 40
_abc_registry = <_weakrefset.WeakSet object>
_logger = <logging.Logger object>
_plugin_type_string = 'process.workflow.workflow.WorkflowNode.'
_query_type_string = 'process.workflow.workflow.'
_storable = True
_unstorable_message = 'storing for this node has been disabled'
inputs

Return an instance of NodeLinksManager to manage incoming INPUT_WORK links

The returned Manager allows you to easily explore the nodes connected to this node via an incoming INPUT_WORK link. The incoming nodes are reachable by their link labels which are attributes of the manager.

Returns:NodeLinksManager
outputs

Return an instance of NodeLinksManager to manage outgoing RETURN links

The returned Manager allows you to easily explore the nodes connected to this node via an outgoing RETURN link. The outgoing nodes are reachable by their link labels which are attributes of the manager.

Returns:NodeLinksManager

Module with Node sub class for workflow function processes.

class aiida.orm.nodes.process.workflow.workfunction.WorkFunctionNode(backend=None, user=None, computer=None, **kwargs)[source]

Bases: aiida.orm.utils.mixins.FunctionCalculationMixin, aiida.orm.nodes.process.workflow.workflow.WorkflowNode

ORM class for all nodes representing the execution of a workfunction.

__abstractmethods__ = frozenset([])
__module__ = 'aiida.orm.nodes.process.workflow.workfunction'
_abc_cache = <_weakrefset.WeakSet object>
_abc_negative_cache = <_weakrefset.WeakSet object>
_abc_negative_cache_version = 40
_abc_registry = <_weakrefset.WeakSet object>
_logger = <logging.Logger object>
_plugin_type_string = 'process.workflow.workfunction.WorkFunctionNode.'
_query_type_string = 'process.workflow.workfunction.'
validate_outgoing(target, link_type, link_label)[source]

Validate adding a link of the given type from ourself to a given node.

A workfunction cannot create Data, so if we receive an outgoing RETURN link to an unstored Data node, that means the user created a Data node within our function body and is trying to return it. This use case should be reserved for @calcfunctions, as they can have CREATE links.

Parameters:
  • target – the node to which the link is going
  • link_type – the link type
  • link_label – the link label
Raises:
  • TypeError – if target is not a Node instance or link_type is not a LinkType enum
  • ValueError – if the proposed link is invalid