aiida.orm.nodes.process package#
Module with Node sub classes for processes.
Subpackages#
- aiida.orm.nodes.process.calculation package
- Submodules
CalcFunctionNodeCalcFunctionNodeLinksCalcJobNodeCalcJobNode.CALC_JOB_STATE_KEYCalcJobNode.IMMIGRATED_KEYCalcJobNode.ModelCalcJobNode.REMOTE_WORKDIR_KEYCalcJobNode.RETRIEVE_LIST_KEYCalcJobNode.RETRIEVE_TEMPORARY_LIST_KEYCalcJobNode.SCHEDULER_DETAILED_JOB_INFO_KEYCalcJobNode.SCHEDULER_JOB_ID_KEYCalcJobNode.SCHEDULER_LAST_CHECK_TIME_KEYCalcJobNode.SCHEDULER_LAST_JOB_INFO_KEYCalcJobNode.SCHEDULER_STATE_KEYCalcJobNode._CLS_NODE_CACHINGCalcJobNode.__abstractmethods__CalcJobNode.__module__CalcJobNode.__parameters__CalcJobNode.__plugin_type_stringCalcJobNode.__query_type_stringCalcJobNode._abc_implCalcJobNode._hash_ignored_attributesCalcJobNode._loggerCalcJobNode._toolsCalcJobNode._updatable_attributesCalcJobNode._validate_retrieval_directive()CalcJobNode.delete_state()CalcJobNode.fieldsCalcJobNode.get_authinfo()CalcJobNode.get_description()CalcJobNode.get_detailed_job_info()CalcJobNode.get_job_id()CalcJobNode.get_last_job_info()CalcJobNode.get_option()CalcJobNode.get_options()CalcJobNode.get_parser_class()CalcJobNode.get_remote_workdir()CalcJobNode.get_retrieve_list()CalcJobNode.get_retrieve_temporary_list()CalcJobNode.get_retrieved_node()CalcJobNode.get_scheduler_lastchecktime()CalcJobNode.get_scheduler_state()CalcJobNode.get_scheduler_stderr()CalcJobNode.get_scheduler_stdout()CalcJobNode.get_state()CalcJobNode.get_transport()CalcJobNode.is_importedCalcJobNode.link_label_retrievedCalcJobNode.resCalcJobNode.set_detailed_job_info()CalcJobNode.set_job_id()CalcJobNode.set_last_job_info()CalcJobNode.set_option()CalcJobNode.set_options()CalcJobNode.set_remote_workdir()CalcJobNode.set_retrieve_list()CalcJobNode.set_retrieve_temporary_list()CalcJobNode.set_scheduler_state()CalcJobNode.set_state()CalcJobNode.tools
CalcJobNodeCachingCalculationNodeCalculationNode.__abstractmethods__CalculationNode.__module__CalculationNode.__parameters__CalculationNode.__plugin_type_stringCalculationNode.__query_type_stringCalculationNode._abc_implCalculationNode._cachableCalculationNode._loggerCalculationNode._storableCalculationNode._unstorable_messageCalculationNode.fieldsCalculationNode.inputsCalculationNode.outputs
- Submodules
- aiida.orm.nodes.process.workflow package
- Submodules
WorkChainNodeWorkChainNode.STEPPER_STATE_INFO_KEYWorkChainNode.__abstractmethods__WorkChainNode.__module__WorkChainNode.__parameters__WorkChainNode.__plugin_type_stringWorkChainNode.__query_type_stringWorkChainNode._abc_implWorkChainNode._loggerWorkChainNode._updatable_attributesWorkChainNode.fieldsWorkChainNode.set_stepper_state_info()WorkChainNode.stepper_state_info
WorkflowNodeWorkflowNode._CLS_NODE_LINKSWorkflowNode.__abstractmethods__WorkflowNode.__module__WorkflowNode.__parameters__WorkflowNode.__plugin_type_stringWorkflowNode.__query_type_stringWorkflowNode._abc_implWorkflowNode._loggerWorkflowNode._storableWorkflowNode._unstorable_messageWorkflowNode.fieldsWorkflowNode.inputsWorkflowNode.outputs
WorkflowNodeLinksWorkFunctionNodeWorkFunctionNodeLinks
- Submodules
Submodules#
Module with Node sub class for processes.
- class aiida.orm.nodes.process.process.ProcessNode(backend: 'StorageBackend' | None = None, user: User | None = None, computer: Computer | None = None, extras: Dict[str, Any] | None = None, **kwargs: Any)[source]#
-
Base class for all nodes representing the execution of a process
This class and its subclasses serve as proxies in the database, for actual Process instances being run. The Process instance in memory will leverage an instance of this class (the exact sub class depends on the sub class of Process) to persist important information of its state to the database. This serves as a way for the user to inspect the state of the Process during its execution as well as a permanent record of its execution in the provenance graph, after the execution has terminated.
- CHECKPOINT_KEY = 'checkpoints'#
- EXCEPTION_KEY = 'exception'#
- EXIT_MESSAGE_KEY = 'exit_message'#
- EXIT_STATUS_KEY = 'exit_status'#
- class Model(*, pk: int | None = None, uuid: str | None = None, node_type: str | None = None, process_type: str | None = None, repository_metadata: Dict[str, Any] | None = None, ctime: datetime | None = None, mtime: datetime | None = None, label: str | None = None, description: str | None = None, attributes: Dict[str, Any] | None = None, extras: Dict[str, Any] | None = None, computer: int | None = None, user: int | None = None, repository_content: dict[str, bytes] | None = None)[source]#
-
- __abstractmethods__ = frozenset({})#
- __annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[Dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_computed_fields__': 'ClassVar[Dict[str, ComputedFieldInfo]]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields__': 'ClassVar[Dict[str, FieldInfo]]', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[Dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_setattr_handlers__': 'ClassVar[Dict[str, Callable[[BaseModel, str, Any], None]]]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'attributes': 'Optional[Dict[str, Any]]', 'computer': 'Optional[int]', 'ctime': 'Optional[datetime.datetime]', 'description': 'Optional[str]', 'exception': typing.Optional[str], 'exit_message': typing.Optional[str], 'exit_status': typing.Optional[int], 'extras': 'Optional[Dict[str, Any]]', 'label': 'Optional[str]', 'model_config': 'ClassVar[ConfigDict]', 'mtime': 'Optional[datetime.datetime]', 'node_type': 'Optional[str]', 'paused': <class 'bool'>, 'pk': 'Optional[int]', 'process_label': typing.Optional[str], 'process_state': typing.Optional[str], 'process_status': typing.Optional[str], 'process_type': 'Optional[str]', 'repository_content': 'Optional[dict[str, bytes]]', 'repository_metadata': 'Optional[Dict[str, Any]]', 'sealed': 'bool', 'user': 'Optional[int]', 'uuid': 'Optional[str]'}#
- __dict__#
- __module__ = 'aiida.orm.nodes.process.process'#
- __private_attributes__: ClassVar[Dict[str, ModelPrivateAttr]] = {}#
Metadata about the private attributes of the model.
- __pydantic_complete__: ClassVar[bool] = True#
Whether model building is completed, or if there are still undefined fields.
- __pydantic_computed_fields__: ClassVar[Dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.
- __pydantic_core_schema__: ClassVar[CoreSchema] = {'cls': <class 'aiida.orm.nodes.process.process.ProcessNode.Model'>, 'config': {'title': 'Model'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'aiida.orm.nodes.process.process.ProcessNode.Model'>>]}, 'ref': 'aiida.orm.nodes.process.process.ProcessNode.Model:107403286966256', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'attributes': {'metadata': {'pydantic_js_updates': {'description': 'The node attributes'}}, 'schema': {'default': None, 'schema': {'schema': {'keys_schema': {'type': 'str'}, 'type': 'dict', 'values_schema': {'type': 'any'}}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'computer': {'metadata': {'pydantic_js_updates': {'description': 'The PK of the computer'}}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'ctime': {'metadata': {'pydantic_js_updates': {'description': 'The creation time of the node'}}, 'schema': {'default': None, 'schema': {'schema': {'microseconds_precision': 'truncate', 'type': 'datetime'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'description': {'metadata': {'pydantic_js_updates': {'description': 'The node description'}}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'exception': {'metadata': {'pydantic_js_updates': {'description': 'The process exception message'}}, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'model-field'}, 'exit_message': {'metadata': {'pydantic_js_updates': {'description': 'The process exit message'}}, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'model-field'}, 'exit_status': {'metadata': {'pydantic_js_updates': {'description': 'The process exit status'}}, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'model-field'}, 'extras': {'metadata': {'pydantic_js_updates': {'description': 'The node extras'}}, 'schema': {'default': None, 'schema': {'schema': {'keys_schema': {'type': 'str'}, 'type': 'dict', 'values_schema': {'type': 'any'}}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'label': {'metadata': {'pydantic_js_updates': {'description': 'The node label'}}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'mtime': {'metadata': {'pydantic_js_updates': {'description': 'The modification time of the node'}}, 'schema': {'default': None, 'schema': {'schema': {'microseconds_precision': 'truncate', 'type': 'datetime'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'node_type': {'metadata': {'pydantic_js_updates': {'description': 'The type of the node'}}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'paused': {'metadata': {'pydantic_js_updates': {'description': 'Whether the process is paused'}}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'pk': {'metadata': {'pydantic_js_updates': {'description': 'The primary key of the entity. Can be `None` if the entity is not yet stored.'}}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'process_label': {'metadata': {'pydantic_js_updates': {'description': 'The process label'}}, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'model-field'}, 'process_state': {'metadata': {'pydantic_js_updates': {'description': 'The process state enum'}}, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'model-field'}, 'process_status': {'metadata': {'pydantic_js_updates': {'description': 'The process status is a generic status message'}}, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'model-field'}, 'process_type': {'metadata': {'pydantic_js_updates': {'description': 'The process type of the node'}}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'repository_content': {'metadata': {'pydantic_js_updates': {'description': 'Dictionary of file repository content. Keys are relative filepaths and values are binary file contents encoded as base64.'}}, 'schema': {'default': None, 'schema': {'schema': {'keys_schema': {'type': 'str'}, 'type': 'dict', 'values_schema': {'type': 'bytes'}}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'repository_metadata': {'metadata': {'pydantic_js_updates': {'description': 'Virtual hierarchy of the file repository.'}}, 'schema': {'default': None, 'schema': {'schema': {'keys_schema': {'type': 'str'}, 'type': 'dict', 'values_schema': {'type': 'any'}}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'sealed': {'metadata': {'pydantic_js_updates': {'description': 'Whether the node is sealed'}}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'user': {'metadata': {'pydantic_js_updates': {'description': 'The PK of the user who owns the node'}}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'uuid': {'metadata': {'pydantic_js_updates': {'description': 'The UUID of the node'}}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Model', 'type': 'model-fields'}, 'type': 'model'}#
The core schema of the model.
- __pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})#
Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.
- __pydantic_extra__: dict[str, Any] | None#
A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.
- __pydantic_fields__: ClassVar[Dict[str, FieldInfo]] = {'attributes': FieldInfo(annotation=Union[Dict[str, Any], NoneType], required=False, default=None, description='The node attributes', metadata=[{'priority': 0}, {'orm_to_model': <function Node.Model.<lambda>>}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': True}]), 'computer': FieldInfo(annotation=Union[int, NoneType], required=False, default=None, description='The PK of the computer', metadata=[{'priority': 0}, {'orm_class': <class 'aiida.orm.computers.Computer'>}, {'orm_to_model': <function Node.Model.<lambda>>}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}]), 'ctime': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None, description='The creation time of the node', metadata=[{'priority': 0}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}]), 'description': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The node description', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}]), 'exception': FieldInfo(annotation=Union[str, NoneType], required=True, description='The process exception message', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}]), 'exit_message': FieldInfo(annotation=Union[str, NoneType], required=True, description='The process exit message', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}]), 'exit_status': FieldInfo(annotation=Union[int, NoneType], required=True, description='The process exit status', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}]), 'extras': FieldInfo(annotation=Union[Dict[str, Any], NoneType], required=False, default=None, description='The node extras', metadata=[{'priority': 0}, {'orm_to_model': <function Node.Model.<lambda>>}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': True}]), 'label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The node label', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}]), 'mtime': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None, description='The modification time of the node', metadata=[{'priority': 0}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}]), 'node_type': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The type of the node', metadata=[{'priority': 0}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}]), 'paused': FieldInfo(annotation=bool, required=True, description='Whether the process is paused', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}]), 'pk': FieldInfo(annotation=Union[int, NoneType], required=False, default=None, description='The primary key of the entity. Can be `None` if the entity is not yet stored.', metadata=[{'priority': 0}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}]), 'process_label': FieldInfo(annotation=Union[str, NoneType], required=True, description='The process label', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}]), 'process_state': FieldInfo(annotation=Union[str, NoneType], required=True, description='The process state enum', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}]), 'process_status': FieldInfo(annotation=Union[str, NoneType], required=True, description='The process status is a generic status message', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}]), 'process_type': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The process type of the node', metadata=[{'priority': 0}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}]), 'repository_content': FieldInfo(annotation=Union[dict[str, bytes], NoneType], required=False, default=None, description='Dictionary of file repository content. Keys are relative filepaths and values are binary file contents encoded as base64.', metadata=[{'priority': 0}, {'orm_to_model': <function Node.Model.<lambda>>}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}]), 'repository_metadata': FieldInfo(annotation=Union[Dict[str, Any], NoneType], required=False, default=None, description='Virtual hierarchy of the file repository.', metadata=[{'priority': 0}, {'orm_to_model': <function Node.Model.<lambda>>}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}]), 'sealed': FieldInfo(annotation=bool, required=True, description='Whether the node is sealed', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}]), 'user': FieldInfo(annotation=Union[int, NoneType], required=False, default=None, description='The PK of the user who owns the node', metadata=[{'priority': 0}, {'orm_class': <class 'aiida.orm.users.User'>}, {'orm_to_model': <function Node.Model.<lambda>>}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}]), 'uuid': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The UUID of the node', metadata=[{'priority': 0}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}])}#
A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects. This replaces Model.__fields__ from Pydantic V1.
- __pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}#
Metadata for generic models; contains data used for a similar purpose to __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
- __pydantic_parent_namespace__: ClassVar[Dict[str, Any] | None] = {'CHECKPOINT_KEY': 'checkpoints', 'EXCEPTION_KEY': 'exception', 'EXIT_MESSAGE_KEY': 'exit_message', 'EXIT_STATUS_KEY': 'exit_status', 'METADATA_INPUTS_KEY': 'metadata_inputs', 'PROCESS_LABEL_KEY': 'process_label', 'PROCESS_PAUSED_KEY': 'paused', 'PROCESS_STATE_KEY': 'process_state', 'PROCESS_STATUS_KEY': 'process_status', '_CLS_NODE_CACHING': <pydantic._internal._model_construction._PydanticWeakRef object>, '_CLS_NODE_LINKS': <pydantic._internal._model_construction._PydanticWeakRef object>, '__annotations__': {'METADATA_INPUTS_KEY': <class 'str'>}, '__doc__': 'Base class for all nodes representing the execution of a process\n\n This class and its subclasses serve as proxies in the database, for actual `Process` instances being run. The\n `Process` instance in memory will leverage an instance of this class (the exact sub class depends on the sub class\n of `Process`) to persist important information of its state to the database. This serves as a way for the user to\n inspect the state of the `Process` during its execution as well as a permanent record of its execution in the\n provenance graph, after the execution has terminated.\n ', '__module__': 'aiida.orm.nodes.process.process', '__qualname__': 'ProcessNode', '__str__': <pydantic._internal._model_construction._PydanticWeakRef object>, '_hash_ignored_attributes': <pydantic._internal._model_construction._PydanticWeakRef object>, '_unstorable_message': 'only Data, WorkflowNode, CalculationNode or their subclasses can be stored', '_updatable_attributes': <pydantic._internal._model_construction._PydanticWeakRef object>}#
Parent namespace of the model, used for automatic rebuilding of models.
- __pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None#
The name of the post-init method for the model, if defined.
- __pydantic_private__: dict[str, Any] | None#
Values of private attributes set on the model instance.
- __pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model( ModelSerializer { class: Py( 0x000061aec6c46ff0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "pk": SerField { key_py: Py( 0x000078d96d544cf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "uuid": SerField { key_py: Py( 0x000078d96d566bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "extras": SerField { key_py: Py( 0x000078d96dc59eb0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Dict( DictSerializer { key_serializer: Str( StrSerializer, ), value_serializer: Any( AnySerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "dict[str, any]", }, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "mtime": SerField { key_py: Py( 0x000078d96e836600, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Datetime( DatetimeSerializer, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "exit_message": SerField { key_py: Py( 0x000078d96bcf53b0, ), alias: None, alias_py: None, serializer: Some( Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), ), required: true, serialize_by_alias: None, }, "exception": SerField { key_py: Py( 0x000078d96df054f0, ), alias: None, alias_py: None, serializer: Some( Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), ), required: true, serialize_by_alias: None, }, "computer": SerField { key_py: Py( 0x000078d96bccb670, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "paused": SerField { key_py: Py( 0x000078d96c04e8b0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, serialize_by_alias: None, }, "process_state": SerField { key_py: Py( 0x000078d96bdb23f0, ), alias: None, alias_py: None, serializer: Some( Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), ), required: true, serialize_by_alias: None, }, "sealed": SerField { key_py: Py( 0x000078d96c5a97b0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, serialize_by_alias: None, }, "user": SerField { key_py: Py( 0x000078d96df46e30, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "ctime": SerField { key_py: Py( 0x000078d96df55a70, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Datetime( DatetimeSerializer, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "repository_metadata": SerField { key_py: Py( 0x000078d96ad552f0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Dict( DictSerializer { key_serializer: Str( StrSerializer, ), value_serializer: Any( AnySerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "dict[str, any]", }, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "description": SerField { key_py: Py( 0x000078d96dc44a30, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "process_label": SerField { key_py: Py( 0x000078d96bdb1ab0, ), alias: None, alias_py: None, serializer: Some( Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), ), required: true, serialize_by_alias: None, }, "process_status": SerField { key_py: Py( 0x000078d963855270, ), alias: None, alias_py: None, serializer: Some( Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), ), required: true, serialize_by_alias: None, }, "attributes": SerField { key_py: Py( 0x000078d96da2f4b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Dict( DictSerializer { key_serializer: Str( StrSerializer, ), value_serializer: Any( AnySerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "dict[str, any]", }, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "label": SerField { key_py: Py( 0x000078d96dd070b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "repository_content": SerField { key_py: Py( 0x000078d964c03e10, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Dict( DictSerializer { key_serializer: Str( StrSerializer, ), value_serializer: Bytes( BytesSerializer { bytes_mode: Utf8, }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "dict[str, bytes]", }, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "exit_status": SerField { key_py: Py( 0x000078d96bf32230, ), alias: None, alias_py: None, serializer: Some( Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), ), required: true, serialize_by_alias: None, }, "node_type": SerField { key_py: Py( 0x000078d96be53730, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "process_type": SerField { key_py: Py( 0x000078d96bdb2130, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 22, }, ), has_extra: false, root_model: false, name: "Model", }, ), definitions=[])#
The pydantic-core SchemaSerializer used to dump instances of the model.
- __pydantic_setattr_handlers__: ClassVar[Dict[str, Callable[[BaseModel, str, Any], None]]] = {}#
__setattr__ handlers. Memoizing the handlers leads to a dramatic performance improvement in __setattr__
- __pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="Model", validator=Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "sealed", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "sealed", py_key: Py( 0x000078d9351e97f0, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96c5a97b0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "pk", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "pk", py_key: Py( 0x000078d9351eab30, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96d544cf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "uuid", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "uuid", py_key: Py( 0x000078d9351ea3b0, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96d566bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "node_type", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "node_type", py_key: Py( 0x000078d9351ea430, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96be53730, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "process_type", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "process_type", py_key: Py( 0x000078d9351e8b30, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96bdb2130, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "repository_metadata", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "repository_metadata", py_key: Py( 0x000078d935879700, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96ad552f0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Dict( DictValidator { strict: false, key_validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), value_validator: Any( AnyValidator, ), min_length: None, max_length: None, name: "dict[str,any]", }, ), name: "nullable[dict[str,any]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[dict[str,any]]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "ctime", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "ctime", py_key: Py( 0x000078d9351ea230, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96df55a70, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Datetime( DateTimeValidator { strict: false, constraints: None, microseconds_precision: Truncate, }, ), name: "nullable[datetime]", }, ), validate_default: false, copy_default: false, name: "default[nullable[datetime]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "mtime", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "mtime", py_key: Py( 0x000078d9351e88f0, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96e836600, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Datetime( DateTimeValidator { strict: false, constraints: None, microseconds_precision: Truncate, }, ), name: "nullable[datetime]", }, ), validate_default: false, copy_default: false, name: "default[nullable[datetime]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "label", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "label", py_key: Py( 0x000078d934e7c5f0, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96dd070b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "description", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "description", py_key: Py( 0x000078d934e7c3f0, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96dc44a30, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "attributes", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "attributes", py_key: Py( 0x000078d934e7e1b0, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96da2f4b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Dict( DictValidator { strict: false, key_validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), value_validator: Any( AnyValidator, ), min_length: None, max_length: None, name: "dict[str,any]", }, ), name: "nullable[dict[str,any]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[dict[str,any]]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "extras", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "extras", py_key: Py( 0x000078d934e7ff70, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96dc59eb0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Dict( DictValidator { strict: false, key_validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), value_validator: Any( AnyValidator, ), min_length: None, max_length: None, name: "dict[str,any]", }, ), name: "nullable[dict[str,any]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[dict[str,any]]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "computer", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "computer", py_key: Py( 0x000078d934e7f970, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96bccb670, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "user", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "user", py_key: Py( 0x000078d934e7e970, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96df46e30, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "repository_content", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "repository_content", py_key: Py( 0x000078d934e47140, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d964c03e10, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Dict( DictValidator { strict: false, key_validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), value_validator: Bytes( BytesValidator { strict: false, bytes_mode: ValBytesMode { ser: Utf8, }, }, ), min_length: None, max_length: None, name: "dict[str,bytes]", }, ), name: "nullable[dict[str,bytes]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[dict[str,bytes]]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "process_label", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "process_label", py_key: Py( 0x000078d934e7e270, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96bdb1ab0, ), validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), frozen: false, }, Field { name: "process_state", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "process_state", py_key: Py( 0x000078d934e7db70, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96bdb23f0, ), validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), frozen: false, }, Field { name: "process_status", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "process_status", py_key: Py( 0x000078d934e7dcf0, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d963855270, ), validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), frozen: false, }, Field { name: "exit_status", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "exit_status", py_key: Py( 0x000078d934e7d970, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96bf32230, ), validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), frozen: false, }, Field { name: "exit_message", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "exit_message", py_key: Py( 0x000078d934e7d5b0, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96bcf53b0, ), validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), frozen: false, }, Field { name: "exception", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "exception", py_key: Py( 0x000078d934e7f370, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96df054f0, ), validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), frozen: false, }, Field { name: "paused", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "paused", py_key: Py( 0x000078d934e7c330, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96c04e8b0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, ], model_name: "Model", extra_behavior: Ignore, extras_validator: None, extras_keys_validator: None, strict: false, from_attributes: false, loc_by_alias: true, validate_by_alias: None, validate_by_name: None, }, ), class: Py( 0x000061aec6c46ff0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x000078d96c0eca00, ), name: "Model", }, ), definitions=[], cache_strings=True)#
The pydantic-core SchemaValidator used to validate instances of the model.
- __signature__: ClassVar[Signature] = <Signature (*, sealed: typing.Annotated[bool, {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}], pk: Annotated[Optional[int], {'priority': 0}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}] = None, uuid: Annotated[Optional[str], {'priority': 0}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}] = None, node_type: Annotated[Optional[str], {'priority': 0}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}] = None, process_type: Annotated[Optional[str], {'priority': 0}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}] = None, repository_metadata: Annotated[Optional[Dict[str, Any]], {'priority': 0}, {'orm_to_model': <function Node.Model.<lambda>>}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}] = None, ctime: Annotated[Optional[datetime.datetime], {'priority': 0}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}] = None, mtime: Annotated[Optional[datetime.datetime], {'priority': 0}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}] = None, label: Annotated[Optional[str], {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}] = None, description: Annotated[Optional[str], {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}] = None, attributes: Annotated[Optional[Dict[str, Any]], {'priority': 0}, {'orm_to_model': <function Node.Model.<lambda>>}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': True}] = None, extras: Annotated[Optional[Dict[str, Any]], {'priority': 0}, {'orm_to_model': <function Node.Model.<lambda>>}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': True}] = None, computer: Annotated[Optional[int], {'priority': 0}, {'orm_class': <class 'aiida.orm.computers.Computer'>}, {'orm_to_model': <function Node.Model.<lambda>>}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}] = None, user: Annotated[Optional[int], {'priority': 0}, {'orm_class': <class 'aiida.orm.users.User'>}, {'orm_to_model': <function Node.Model.<lambda>>}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}] = None, repository_content: Annotated[Optional[dict[str, bytes]], {'priority': 0}, {'orm_to_model': <function Node.Model.<lambda>>}, {'exclude_to_orm': True}, {'exclude_from_cli': True}, {'is_attribute': False}, {'is_subscriptable': False}] = None, process_label: Annotated[Optional[str], {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}], process_state: Annotated[Optional[str], {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}], process_status: Annotated[Optional[str], {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}], exit_status: Annotated[Optional[int], {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}], exit_message: Annotated[Optional[str], {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}], exception: Annotated[Optional[str], {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}], paused: typing.Annotated[bool, {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}]) -> None>#
The synthesized __init__ [Signature][inspect.Signature] of the model.
- _abc_impl = <_abc._abc_data object>#
- model_config: ClassVar[ConfigDict] = {'defer_build': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- PROCESS_LABEL_KEY = 'process_label'#
- PROCESS_PAUSED_KEY = 'paused'#
- PROCESS_STATE_KEY = 'process_state'#
- PROCESS_STATUS_KEY = 'process_status'#
- _CLS_NODE_CACHING#
alias of
ProcessNodeCaching
- _CLS_NODE_LINKS#
alias of
ProcessNodeLinks
- __abstractmethods__ = frozenset({})#
- __annotations__ = {'METADATA_INPUTS_KEY': <class 'str'>, '_CLS_COLLECTION': 'Type[CollectionType]', '__plugin_type_string': 'ClassVar[str]', '__query_type_string': 'ClassVar[str]', '_hash_ignored_attributes': 'Tuple[str, ...]', '_logger': 'AiidaLoggerType', '_updatable_attributes': 'Tuple[str, ...]'}#
- __module__ = 'aiida.orm.nodes.process.process'#
- __parameters__ = ()#
- _abc_impl = <_abc._abc_data object>#
- _logger: AiidaLoggerType = <Logger aiida.orm.nodes.process.process.ProcessNode (WARNING)>#
- _unstorable_message = 'only Data, WorkflowNode, CalculationNode or their subclasses can be stored'#
- _updatable_attributes: Tuple[str, ...] = ('sealed', 'paused', 'checkpoints', 'exception', 'exit_message', 'exit_status', 'process_label', 'process_state', 'process_status')#
- property called: List[ProcessNode]#
Return a list of nodes that the process called
- Returns:
list of process nodes called by this process
- property called_descendants: List[ProcessNode]#
Return a list of all nodes that have been called downstream of this process
This will recursively find all the called processes for this process and its children.
- property caller: ProcessNode | None#
Return the process node that called this process node, or None if it does not have a caller
- Returns:
process node that called this process node instance or None
- property checkpoint: str | None#
Return the checkpoint bundle set for the process
- Returns:
checkpoint bundle if it exists, None otherwise
- dump(output_path: str | Path | None = None, dry_run: bool = False, overwrite: bool = False, include_inputs: bool = True, include_outputs: bool = False, include_attributes: bool = True, include_extras: bool = False, flat: bool = False, dump_unsealed: bool = False) Path[source]#
Dump the process node and its data to disk.
- Parameters:
output_path – Target directory for the dump, defaults to None
dry_run – Show what would be dumped without actually dumping, defaults to False
overwrite – Overwrite existing dump directories, defaults to False
include_inputs – Include input files in the dump, defaults to True
include_outputs – Include output files in the dump, defaults to False
include_attributes – Include node attributes in metadata, defaults to True
include_extras – Include node extras in metadata, defaults to False
flat – Use flat directory structure, defaults to False
dump_unsealed – Allow dumping of unsealed nodes, defaults to False
- Returns:
Path where the process was dumped
- property exception: str | None#
Return the exception of the process or None if the process is not excepted.
If the process is marked as excepted yet there is no exception attribute, an empty string will be returned.
- Returns:
the exception message or None
- property exit_code: ExitCode | None#
Return the exit code of the process.
It is reconstituted from the
exit_statusandexit_messageattributes if both of those are defined.- Returns:
The exit code if defined, or
None.
- property exit_status: int | None#
Return the exit status of the process
- Returns:
the exit status, an integer exit code or None
- fields = {'attributes': 'QbDictField(attributes.*) -> typing.Optional[typing.Dict[str, ' 'typing.Any]]', 'computer': 'QbNumericField(computer) -> typing.Optional[int]', 'ctime': 'QbNumericField(ctime) -> typing.Optional[datetime.datetime]', 'description': 'QbStrField(description) -> typing.Optional[str]', 'exception': 'QbStrField(attributes.exception) -> typing.Optional[str]', 'exit_message': 'QbStrField(attributes.exit_message) -> typing.Optional[str]', 'exit_status': 'QbNumericField(attributes.exit_status) -> ' 'typing.Optional[int]', 'extras': 'QbDictField(extras.*) -> typing.Optional[typing.Dict[str, ' 'typing.Any]]', 'label': 'QbStrField(label) -> typing.Optional[str]', 'mtime': 'QbNumericField(mtime) -> typing.Optional[datetime.datetime]', 'node_type': 'QbStrField(node_type) -> typing.Optional[str]', 'paused': "QbField(attributes.paused) -> <class 'bool'>", 'pk': 'QbNumericField(pk) -> typing.Optional[int]', 'process_label': 'QbStrField(attributes.process_label) -> ' 'typing.Optional[str]', 'process_state': 'QbStrField(attributes.process_state) -> ' 'typing.Optional[str]', 'process_status': 'QbStrField(attributes.process_status) -> ' 'typing.Optional[str]', 'process_type': 'QbStrField(process_type) -> typing.Optional[str]', 'repository_content': 'QbDictField(repository_content) -> ' 'typing.Optional[dict[str, bytes]]', 'repository_metadata': 'QbDictField(repository_metadata) -> ' 'typing.Optional[typing.Dict[str, typing.Any]]', 'sealed': "QbField(attributes.sealed) -> <class 'bool'>", 'user': 'QbNumericField(user) -> typing.Optional[int]', 'uuid': 'QbStrField(uuid) -> typing.Optional[str]'}#
- get_builder_restart() ProcessBuilder[source]#
Return a ProcessBuilder that is ready to relaunch the process that created this node.
The process class will be set based on the process_type of this node and the inputs of the builder will be prepopulated with the inputs registered for this node. This functionality is very useful if a process has completed and you want to relaunch it with slightly different inputs.
- Returns:
~aiida.engine.processes.builder.ProcessBuilder instance
- get_metadata_inputs() Dict[str, Any] | None[source]#
Return the mapping of inputs corresponding to
metadataports that were passed to the process.
- property is_excepted: bool#
Return whether the process has excepted
Excepted means that during execution of the process, an exception was raised that was not caught.
- Returns:
True if during execution of the process an exception occurred, False otherwise
- Return type:
- property is_failed: bool#
Return whether the process has failed
Failed means that the process terminated nominally but it had a non-zero exit status.
- Returns:
True if the process has failed, False otherwise
- Return type:
- property is_finished: bool#
Return whether the process has finished
Finished means that the process reached a terminal state nominally. Note that this does not necessarily mean successfully, but there were no exceptions and it was not killed.
- Returns:
True if the process has finished, False otherwise
- Return type:
- property is_finished_ok: bool#
Return whether the process has finished successfully
Finished successfully means that it terminated nominally and had a zero exit status.
- Returns:
True if the process has finished successfully, False otherwise
- Return type:
- property is_killed: bool#
Return whether the process was killed
Killed means the process was killed directly by the user or by the calling process being killed.
- Returns:
True if the process was killed, False otherwise
- Return type:
- property is_terminated: bool#
Return whether the process has terminated
Terminated means that the process has reached any terminal state.
- Returns:
True if the process has terminated, False otherwise
- Return type:
- property logger#
Get the logger of the Calculation object, so that it also logs to the DB.
- Returns:
LoggerAdapter object, that works like a logger, but also has the ‘extra’ embedded
- pause() None[source]#
Mark the process as paused by setting the corresponding attribute.
This serves only to reflect that the corresponding Process is paused and so this method should not be called by anyone but the Process instance itself.
- property paused: bool#
Return whether the process is paused
- Returns:
True if the Calculation is marked as paused, False otherwise
- property process_class: Type[Process]#
Return the process class that was used to create this node.
- Returns:
Process class
- Raises:
ValueError – if no process type is defined, it is an invalid process type string or cannot be resolved to load the corresponding class
- property process_state: ProcessState | None#
Return the process state
- Returns:
the process state instance of ProcessState enum
- property process_status: str | None#
Return the process status
The process status is a generic status message e.g. the reason it might be paused or when it is being killed
- Returns:
the process status
- classmethod recursive_merge(left: dict[Any, Any], right: dict[Any, Any]) None[source]#
Recursively merge the
rightdictionary into theleftdictionary.- Parameters:
left – Base dictionary.
right – Dictionary to recurisvely merge on top of
leftdictionary.
- set_checkpoint(checkpoint: str) None[source]#
Set the checkpoint bundle set for the process
- Parameters:
state – string representation of the stepper state info
- set_exception(exception: str) None[source]#
Set the exception of the process
- Parameters:
exception – the exception message
- set_exit_message(message: str | None) None[source]#
Set the exit message of the process, if None nothing will be done
- Parameters:
message – a string message
- set_exit_status(status: None | Enum | int) None[source]#
Set the exit status of the process
- Parameters:
state – an integer exit code or None, which will be interpreted as zero
- set_metadata_inputs(value: Dict[str, Any]) None[source]#
Set the mapping of inputs corresponding to
metadataports that were passed to the process.
- set_process_label(label: str) None[source]#
Set the process label
- Parameters:
label – process label string
- set_process_state(state: str | ProcessState | None)[source]#
Set the process state
- Parameters:
state – value or instance of ProcessState enum
- set_process_status(status: str | None) None[source]#
Set the process status
The process status is a generic status message e.g. the reason it might be paused or when it is being killed. If status is None, the corresponding attribute will be deleted.
- Parameters:
status – string process status
- class aiida.orm.nodes.process.process.ProcessNodeCaching(node: Node)[source]#
Bases:
NodeCachingInterface to control caching of a node instance.
- __annotations__ = {}#
- __module__ = 'aiida.orm.nodes.process.process'#
- _hash_ignored_inputs = ['CALL_CALC', 'CALL_WORK']#
- get_objects_to_hash() List[Any][source]#
Return a list of objects which should be included in the hash.
- class aiida.orm.nodes.process.process.ProcessNodeLinks(node: Node)[source]#
Bases:
NodeLinksInterface for links of a node instance.
- __annotations__ = {}#
- __module__ = 'aiida.orm.nodes.process.process'#
- validate_incoming(source: Node, link_type: LinkType, link_label: str) None[source]#
Validate adding a link of the given type from a given node to ourself.
Adding an input link to a ProcessNode once it is stored is illegal because this should be taken care of by the engine in one go. If a link is being added after the node is stored, it is most likely not by the engine and it should not be allowed.
- Parameters:
source – the node from which the link is coming
link_type – the link type
link_label – the link label
- Raises:
TypeError – if source is not a Node instance or link_type is not a LinkType enum
ValueError – if the proposed link is invalid
- validate_outgoing(target, link_type, link_label)[source]#
Validate adding a link of the given type from ourself to a given node.
Adding an outgoing link from a sealed node is forbidden.
- Parameters:
target – the node to which the link is going
link_type – the link type
link_label – the link label
- Raises:
aiida.common.ModificationNotAllowed – if the source node (self) is sealed