aiida.orm.nodes.data.remote.stash package#
Module with data plugins that represent files of completed calculations jobs that have been stashed.
Submodules#
Data plugin that models an archived folder on a remote computer.
- class aiida.orm.nodes.data.remote.stash.base.RemoteStashData(stash_mode: StashMode, **kwargs)[source]#
Bases:
DataData plugin that models an archived folder on a remote computer.
A stashed folder is essentially an instance of
RemoteDatathat has been archived. Archiving in this context can simply mean copying the content of the folder to another location on the same or another filesystem as long as it is on the same machine. In addition, the folder may have been compressed into a single file for efficiency or even written to tape. Thestash_modeattribute will distinguish how the folder was stashed which will allow the implementation to also unstash it and transform it back into aRemoteDatasuch that it can be used as an input for newCalcJobs.This class is a non-storable base class that merely registers the
stash_modeattribute. Only its subclasses, that actually implement a certain stash mode, can be instantiated and therefore stored. The reason for this design is that because the behavior of the class can change significantly based on the mode employed to stash the files and implementing all these variants in the same class will lead to an unintuitive interface where certain properties or methods of the class will only be available or function properly based on thestash_mode.- 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: dict | None = None)[source]#
Bases:
Model- __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]', 'extras': 'Optional[Dict[str, Any]]', 'label': 'Optional[str]', 'model_config': 'ClassVar[ConfigDict]', 'mtime': 'Optional[datetime.datetime]', 'node_type': 'Optional[str]', 'pk': 'Optional[int]', 'process_type': 'Optional[str]', 'repository_content': 'Optional[dict[str, bytes]]', 'repository_metadata': 'Optional[Dict[str, Any]]', 'source': 'Optional[dict]', 'stash_mode': <enum 'StashMode'>, 'user': 'Optional[int]', 'uuid': 'Optional[str]'}#
- __dict__#
- __module__ = 'aiida.orm.nodes.data.remote.stash.base'#
- __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.data.remote.stash.base.RemoteStashData.Model'>, 'config': {'title': 'Model'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'aiida.orm.nodes.data.remote.stash.base.RemoteStashData.Model'>>]}, 'ref': 'aiida.orm.nodes.data.remote.stash.base.RemoteStashData.Model:107403291270096', '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'}, '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'}, '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_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'}, 'source': {'metadata': {'pydantic_js_updates': {'description': 'Source of the data.'}}, 'schema': {'default': None, 'schema': {'schema': {'keys_schema': {'type': 'any'}, 'type': 'dict', 'values_schema': {'type': 'any'}}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'stash_mode': {'metadata': {'pydantic_js_updates': {'description': 'The mode with which the data was stashed'}}, 'schema': {'cls': <enum 'StashMode'>, 'members': [StashMode.COPY, StashMode.COMPRESS_TAR, StashMode.COMPRESS_TARBZ2, StashMode.COMPRESS_TARGZ, StashMode.COMPRESS_TARXZ], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'aiida.common.datastructures.StashMode:107403269755424', 'type': 'enum'}, '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}]), '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}]), '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_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}]), 'source': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None, description='Source of the data.', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': True}, {'is_subscriptable': True}]), 'stash_mode': FieldInfo(annotation=StashMode, required=True, description='The mode with which the data was stashed', 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] = {'__doc__': 'Data plugin that models an archived folder on a remote computer.\n\n A stashed folder is essentially an instance of ``RemoteData`` that has been archived. Archiving in this context can\n simply mean copying the content of the folder to another location on the same or another filesystem as long as it is\n on the same machine. In addition, the folder may have been compressed into a single file for efficiency or even\n written to tape. The ``stash_mode`` attribute will distinguish how the folder was stashed which will allow the\n implementation to also `unstash` it and transform it back into a ``RemoteData`` such that it can be used as an input\n for new ``CalcJobs``.\n\n This class is a non-storable base class that merely registers the ``stash_mode`` attribute. Only its subclasses,\n that actually implement a certain stash mode, can be instantiated and therefore stored. The reason for this design\n is that because the behavior of the class can change significantly based on the mode employed to stash the files and\n implementing all these variants in the same class will lead to an unintuitive interface where certain properties or\n methods of the class will only be available or function properly based on the ``stash_mode``.\n ', '__module__': 'aiida.orm.nodes.data.remote.stash.base', '__qualname__': 'RemoteStashData', '_storable': False}#
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( 0x000061aec7061bd0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "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, }, "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, }, "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, }, "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, }, "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, }, "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, }, "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, }, "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, }, "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, }, "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, }, "stash_mode": SerField { key_py: Py( 0x000078d9638a7e70, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000061aec5bdd220, ), serializer: None, }, ), ), 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_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, }, "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, }, "source": SerField { key_py: Py( 0x000078d96e81efa0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Dict( DictSerializer { key_serializer: Any( AnySerializer, ), value_serializer: Any( AnySerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "dict[any, 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, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 16, }, ), 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: "pk", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "pk", py_key: Py( 0x000078d9382f3b70, ), }, 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( 0x000078d93a6cd970, ), }, 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( 0x000078d93543ed30, ), }, 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( 0x000078d9354321b0, ), }, 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( 0x000078d935703b40, ), }, 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( 0x000078d935431a30, ), }, 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( 0x000078d9354322b0, ), }, 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( 0x000078d9354323b0, ), }, 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( 0x000078d935432570, ), }, 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( 0x000078d9354334b0, ), }, 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( 0x000078d9354a12f0, ), }, 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( 0x000078d9354a20b0, ), }, 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( 0x000078d9354a1a30, ), }, 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( 0x000078d935794120, ), }, 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: "source", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "source", py_key: Py( 0x000078d9354a2030, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96e81efa0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Dict( DictValidator { strict: false, key_validator: Any( AnyValidator, ), value_validator: Any( AnyValidator, ), min_length: None, max_length: None, name: "dict[any,any]", }, ), name: "nullable[dict[any,any]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[dict[any,any]]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "stash_mode", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "stash_mode", py_key: Py( 0x000078d9354a2930, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d9638a7e70, ), validator: PlainEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::PlainEnumValidator>, class: Py( 0x000061aec5bdd220, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "tar.gz": 3, "tar": 1, "tar.xz": 4, "copy": 0, "tar.bz2": 2, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x000078d935431fc0, ), ), values: [ Py( 0x000078d96bd5f050, ), Py( 0x000078d96bd5ef90, ), Py( 0x000078d96bd5ee10, ), Py( 0x000078d96bd5f290, ), Py( 0x000078d96bd5f2d0, ), ], }, missing: None, expected_repr: "'copy', 'tar', 'tar.bz2', 'tar.gz' or 'tar.xz'", strict: false, class_repr: "StashMode", name: "enum[StashMode]", }, ), 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( 0x000061aec7061bd0, ), 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 (*, 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, source: Annotated[Optional[dict], {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': True}, {'is_subscriptable': True}] = None, stash_mode: typing.Annotated[aiida.common.datastructures.StashMode, {'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].
- __abstractmethods__ = frozenset({})#
- __init__(stash_mode: StashMode, **kwargs)[source]#
Construct a new instance
- Parameters:
stash_mode – the stashing mode with which the data was stashed on the remote.
- __module__ = 'aiida.orm.nodes.data.remote.stash.base'#
- __parameters__ = ()#
- _abc_impl = <_abc._abc_data object>#
- _logger: AiidaLoggerType = <Logger aiida.orm.nodes.data.remote.stash.base.RemoteStashData (WARNING)>#
- _storable = False#
- 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]', '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]', 'pk': 'QbNumericField(pk) -> typing.Optional[int]', '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]]', 'source': 'QbDictField(attributes.source.*) -> typing.Optional[dict]', 'stash_mode': "QbField(attributes.stash_mode) -> <enum 'StashMode'>", 'user': 'QbNumericField(user) -> typing.Optional[int]', 'uuid': 'QbStrField(uuid) -> typing.Optional[str]'}#
Data plugin that models a stashed folder on a remote computer.
- class aiida.orm.nodes.data.remote.stash.compress.RemoteStashCompressedData(stash_mode: StashMode, target_basepath: str, source_list: List, dereference: bool, **kwargs)[source]#
Bases:
RemoteStashDataData plugin that models a compressed stashed file on a remote computer.
- 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: dict | None = None, stash_mode: StashMode)[source]#
Bases:
Model- __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]', 'dereference': <class 'bool'>, 'description': 'Optional[str]', 'extras': 'Optional[Dict[str, Any]]', 'label': 'Optional[str]', 'model_config': 'ClassVar[ConfigDict]', 'mtime': 'Optional[datetime.datetime]', 'node_type': 'Optional[str]', 'pk': 'Optional[int]', 'process_type': 'Optional[str]', 'repository_content': 'Optional[dict[str, bytes]]', 'repository_metadata': 'Optional[Dict[str, Any]]', 'source': 'Optional[dict]', 'source_list': typing.List[str], 'stash_mode': 'StashMode', 'target_basepath': <class 'str'>, 'user': 'Optional[int]', 'uuid': 'Optional[str]'}#
- __dict__#
- __module__ = 'aiida.orm.nodes.data.remote.stash.compress'#
- __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.data.remote.stash.compress.RemoteStashCompressedData.Model'>, 'config': {'title': 'Model'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'aiida.orm.nodes.data.remote.stash.compress.RemoteStashCompressedData.Model'>>]}, 'ref': 'aiida.orm.nodes.data.remote.stash.compress.RemoteStashCompressedData.Model:107403282096848', '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'}, 'dereference': {'metadata': {'pydantic_js_updates': {'description': 'The format of the compression used when stashed'}}, 'schema': {'type': 'bool'}, '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'}, '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'}, '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_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'}, 'source': {'metadata': {'pydantic_js_updates': {'description': 'Source of the data.'}}, 'schema': {'default': None, 'schema': {'schema': {'keys_schema': {'type': 'any'}, 'type': 'dict', 'values_schema': {'type': 'any'}}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'source_list': {'metadata': {'pydantic_js_updates': {'description': 'The list of source files that were stashed'}}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'stash_mode': {'metadata': {'pydantic_js_updates': {'description': 'The mode with which the data was stashed'}}, 'schema': {'cls': <enum 'StashMode'>, 'members': [StashMode.COPY, StashMode.COMPRESS_TAR, StashMode.COMPRESS_TARBZ2, StashMode.COMPRESS_TARGZ, StashMode.COMPRESS_TARXZ], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'aiida.common.datastructures.StashMode:107403269755424', 'type': 'enum'}, 'type': 'model-field'}, 'target_basepath': {'metadata': {'pydantic_js_updates': {'description': 'The the target basepath'}}, 'schema': {'type': 'str'}, '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}]), 'dereference': FieldInfo(annotation=bool, required=True, description='The format of the compression used when stashed', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'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}]), '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}]), '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_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}]), 'source': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None, description='Source of the data.', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': True}, {'is_subscriptable': True}]), 'source_list': FieldInfo(annotation=List[str], required=True, description='The list of source files that were stashed', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}]), 'stash_mode': FieldInfo(annotation=StashMode, required=True, description='The mode with which the data was stashed', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}]), 'target_basepath': FieldInfo(annotation=str, required=True, description='The the target basepath', 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] = {'__doc__': 'Data plugin that models a compressed stashed file on a remote computer.', '__module__': 'aiida.orm.nodes.data.remote.stash.compress', '__qualname__': 'RemoteStashCompressedData', '_storable': True}#
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( 0x000061aec67a22d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "source_list": SerField { key_py: Py( 0x000078d963a6b070, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), 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, }, "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, }, "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, }, "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, }, "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, }, "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, }, "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, }, "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, }, "target_basepath": SerField { key_py: Py( 0x000078d963a6aef0, ), alias: None, alias_py: None, serializer: Some( 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, }, "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, }, "stash_mode": SerField { key_py: Py( 0x000078d9638a7e70, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000061aec5bdd220, ), serializer: None, }, ), ), required: true, serialize_by_alias: None, }, "source": SerField { key_py: Py( 0x000078d96e81efa0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Dict( DictSerializer { key_serializer: Any( AnySerializer, ), value_serializer: Any( AnySerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "dict[any, any]", }, ), }, ), }, ), ), 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, }, "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, }, "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, }, "dereference": SerField { key_py: Py( 0x000078d96b11def0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), 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, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 19, }, ), 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: "pk", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "pk", py_key: Py( 0x000078d935abc530, ), }, 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( 0x000078d9352243b0, ), }, 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( 0x000078d935224370, ), }, 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( 0x000078d9352244b0, ), }, 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( 0x000078d937bbf780, ), }, 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( 0x000078d9352244f0, ), }, 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( 0x000078d9352243f0, ), }, 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( 0x000078d935224470, ), }, 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( 0x000078d9352245f0, ), }, 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( 0x000078d9353b3a30, ), }, 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( 0x000078d9353b0930, ), }, 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( 0x000078d9353b30b0, ), }, 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( 0x000078d9353b0970, ), }, 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( 0x000078d935794850, ), }, 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: "source", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "source", py_key: Py( 0x000078d9353b3530, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96e81efa0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Dict( DictValidator { strict: false, key_validator: Any( AnyValidator, ), value_validator: Any( AnyValidator, ), min_length: None, max_length: None, name: "dict[any,any]", }, ), name: "nullable[dict[any,any]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[dict[any,any]]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "stash_mode", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "stash_mode", py_key: Py( 0x000078d9353bd5b0, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d9638a7e70, ), validator: PlainEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::PlainEnumValidator>, class: Py( 0x000061aec5bdd220, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "tar.bz2": 2, "copy": 0, "tar": 1, "tar.gz": 3, "tar.xz": 4, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x000078d935224440, ), ), values: [ Py( 0x000078d96bd5f050, ), Py( 0x000078d96bd5ef90, ), Py( 0x000078d96bd5ee10, ), Py( 0x000078d96bd5f290, ), Py( 0x000078d96bd5f2d0, ), ], }, missing: None, expected_repr: "'copy', 'tar', 'tar.bz2', 'tar.gz' or 'tar.xz'", strict: false, class_repr: "StashMode", name: "enum[StashMode]", }, ), frozen: false, }, Field { name: "target_basepath", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "target_basepath", py_key: Py( 0x000078d9353bc970, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d963a6aef0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "source_list", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "source_list", py_key: Py( 0x000078d9353bc2b0, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d963a6b070, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "dereference", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "dereference", py_key: Py( 0x000078d9353bc470, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96b11def0, ), 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( 0x000061aec67a22d0, ), 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 (*, 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, source: Annotated[Optional[dict], {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': True}, {'is_subscriptable': True}] = None, stash_mode: typing.Annotated[aiida.common.datastructures.StashMode, {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}], target_basepath: typing.Annotated[str, {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}], source_list: Annotated[List[str], {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}], dereference: 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].
- __abstractmethods__ = frozenset({})#
- __init__(stash_mode: StashMode, target_basepath: str, source_list: List, dereference: bool, **kwargs)[source]#
Construct a new instance
- Parameters:
stash_mode – the stashing mode with which the data was stashed on the remote.
target_basepath – absolute path to place the compressed file (path+filename).
source_list – the list of source files.
- __module__ = 'aiida.orm.nodes.data.remote.stash.compress'#
- __parameters__ = ()#
- _abc_impl = <_abc._abc_data object>#
- _logger: AiidaLoggerType = <Logger aiida.orm.nodes.data.remote.stash.compress.RemoteStashCompressedData (WARNING)>#
- _storable = True#
- fields = {'attributes': 'QbDictField(attributes.*) -> typing.Optional[typing.Dict[str, ' 'typing.Any]]', 'computer': 'QbNumericField(computer) -> typing.Optional[int]', 'ctime': 'QbNumericField(ctime) -> typing.Optional[datetime.datetime]', 'dereference': "QbField(attributes.dereference) -> <class 'bool'>", 'description': 'QbStrField(description) -> typing.Optional[str]', '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]', 'pk': 'QbNumericField(pk) -> typing.Optional[int]', '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]]', 'source': 'QbDictField(attributes.source.*) -> typing.Optional[dict]', 'source_list': 'QbArrayField(attributes.source_list) -> typing.List[str]', 'stash_mode': "QbField(attributes.stash_mode) -> <enum 'StashMode'>", 'target_basepath': "QbStrField(attributes.target_basepath) -> <class 'str'>", 'user': 'QbNumericField(user) -> typing.Optional[int]', 'uuid': 'QbStrField(uuid) -> typing.Optional[str]'}#
Data plugin that models a stashed folder on a remote computer.
- class aiida.orm.nodes.data.remote.stash.folder.RemoteStashFolderData(stash_mode: StashMode, target_basepath: str, source_list: List, **kwargs)[source]#
Bases:
RemoteStashDataData plugin that models a folder with files of a completed calculation job that has been stashed through a copy.
This data plugin can and should be used to stash files if and only if the stash mode is StashMode.COPY.
- 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: dict | None = None, stash_mode: StashMode)[source]#
Bases:
Model- __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]', 'extras': 'Optional[Dict[str, Any]]', 'label': 'Optional[str]', 'model_config': 'ClassVar[ConfigDict]', 'mtime': 'Optional[datetime.datetime]', 'node_type': 'Optional[str]', 'pk': 'Optional[int]', 'process_type': 'Optional[str]', 'repository_content': 'Optional[dict[str, bytes]]', 'repository_metadata': 'Optional[Dict[str, Any]]', 'source': 'Optional[dict]', 'source_list': typing.List[str], 'stash_mode': 'StashMode', 'target_basepath': <class 'str'>, 'user': 'Optional[int]', 'uuid': 'Optional[str]'}#
- __dict__#
- __module__ = 'aiida.orm.nodes.data.remote.stash.folder'#
- __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.data.remote.stash.folder.RemoteStashFolderData.Model'>, 'config': {'title': 'Model'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'aiida.orm.nodes.data.remote.stash.folder.RemoteStashFolderData.Model'>>]}, 'ref': 'aiida.orm.nodes.data.remote.stash.folder.RemoteStashFolderData.Model:107403281238864', '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'}, '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'}, '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_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'}, 'source': {'metadata': {'pydantic_js_updates': {'description': 'Source of the data.'}}, 'schema': {'default': None, 'schema': {'schema': {'keys_schema': {'type': 'any'}, 'type': 'dict', 'values_schema': {'type': 'any'}}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'source_list': {'metadata': {'pydantic_js_updates': {'description': 'The list of source files that were stashed'}}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'stash_mode': {'metadata': {'pydantic_js_updates': {'description': 'The mode with which the data was stashed'}}, 'schema': {'cls': <enum 'StashMode'>, 'members': [StashMode.COPY, StashMode.COMPRESS_TAR, StashMode.COMPRESS_TARBZ2, StashMode.COMPRESS_TARGZ, StashMode.COMPRESS_TARXZ], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'aiida.common.datastructures.StashMode:107403269755424', 'type': 'enum'}, 'type': 'model-field'}, 'target_basepath': {'metadata': {'pydantic_js_updates': {'description': 'The the target basepath'}}, 'schema': {'type': 'str'}, '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}]), '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}]), '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_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}]), 'source': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None, description='Source of the data.', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': True}, {'is_subscriptable': True}]), 'source_list': FieldInfo(annotation=List[str], required=True, description='The list of source files that were stashed', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}]), 'stash_mode': FieldInfo(annotation=StashMode, required=True, description='The mode with which the data was stashed', metadata=[{'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}]), 'target_basepath': FieldInfo(annotation=str, required=True, description='The the target basepath', 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] = {'__doc__': 'Data plugin that models a folder with files of a completed calculation job that has been stashed through a copy.\n\n This data plugin can and should be used to stash files if and only if the stash mode is `StashMode.COPY`.\n ', '__module__': 'aiida.orm.nodes.data.remote.stash.folder', '__qualname__': 'RemoteStashFolderData', '_storable': True}#
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( 0x000061aec66d0b50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "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, }, "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, }, "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, }, "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, }, "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, }, "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, }, "source": SerField { key_py: Py( 0x000078d96e81efa0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000078d96e76ac20, ), ), serializer: Nullable( NullableSerializer { serializer: Dict( DictSerializer { key_serializer: Any( AnySerializer, ), value_serializer: Any( AnySerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "dict[any, any]", }, ), }, ), }, ), ), required: true, serialize_by_alias: None, }, "target_basepath": SerField { key_py: Py( 0x000078d963a6aef0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), 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, }, "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, }, "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, }, "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, }, "stash_mode": SerField { key_py: Py( 0x000078d9638a7e70, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000061aec5bdd220, ), serializer: None, }, ), ), required: true, serialize_by_alias: None, }, "source_list": SerField { key_py: Py( 0x000078d963a6b070, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), 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, }, "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, }, "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, }, "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, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 18, }, ), 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: "pk", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "pk", py_key: Py( 0x000078d935178530, ), }, 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( 0x000078d935178b30, ), }, 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( 0x000078d935178a70, ), }, 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( 0x000078d93517b0b0, ), }, 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( 0x000078d935794210, ), }, 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( 0x000078d935178a30, ), }, 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( 0x000078d935014770, ), }, 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( 0x000078d9350144f0, ), }, 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( 0x000078d935015870, ), }, 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( 0x000078d935015770, ), }, 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( 0x000078d9350147b0, ), }, 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( 0x000078d9350160f0, ), }, 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( 0x000078d935016030, ), }, 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( 0x000078d935020c10, ), }, 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: "source", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "source", py_key: Py( 0x000078d935015df0, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d96e81efa0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000078d96e76ac20, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Dict( DictValidator { strict: false, key_validator: Any( AnyValidator, ), value_validator: Any( AnyValidator, ), min_length: None, max_length: None, name: "dict[any,any]", }, ), name: "nullable[dict[any,any]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[dict[any,any]]]", undefined: Py( 0x000078d96c0eca00, ), }, ), frozen: false, }, Field { name: "stash_mode", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "stash_mode", py_key: Py( 0x000078d935015370, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d9638a7e70, ), validator: PlainEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::PlainEnumValidator>, class: Py( 0x000061aec5bdd220, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "tar.bz2": 2, "copy": 0, "tar": 1, "tar.gz": 3, "tar.xz": 4, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x000078d935178c40, ), ), values: [ Py( 0x000078d96bd5f050, ), Py( 0x000078d96bd5ef90, ), Py( 0x000078d96bd5ee10, ), Py( 0x000078d96bd5f290, ), Py( 0x000078d96bd5f2d0, ), ], }, missing: None, expected_repr: "'copy', 'tar', 'tar.bz2', 'tar.gz' or 'tar.xz'", strict: false, class_repr: "StashMode", name: "enum[StashMode]", }, ), frozen: false, }, Field { name: "target_basepath", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "target_basepath", py_key: Py( 0x000078d935015830, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d963a6aef0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "source_list", lookup_key_collection: LookupKeyCollection { by_name: Simple( LookupPath { first_item: PathItemString { key: "source_list", py_key: Py( 0x000078d935015af0, ), }, rest: [], }, ), by_alias: None, by_alias_then_name: None, }, name_py: Py( 0x000078d963a6b070, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: 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( 0x000061aec66d0b50, ), 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 (*, 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, source: Annotated[Optional[dict], {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': True}, {'is_attribute': True}, {'is_subscriptable': True}] = None, stash_mode: typing.Annotated[aiida.common.datastructures.StashMode, {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}], target_basepath: typing.Annotated[str, {'priority': 0}, {'exclude_to_orm': False}, {'exclude_from_cli': False}, {'is_attribute': True}, {'is_subscriptable': False}], source_list: Annotated[List[str], {'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].
- __abstractmethods__ = frozenset({})#
- __init__(stash_mode: StashMode, target_basepath: str, source_list: List, **kwargs)[source]#
Construct a new instance
- Parameters:
stash_mode – the stashing mode with which the data was stashed on the remote.
target_basepath – the target basepath.
source_list – the list of source files.
- __module__ = 'aiida.orm.nodes.data.remote.stash.folder'#
- __parameters__ = ()#
- _abc_impl = <_abc._abc_data object>#
- _logger: AiidaLoggerType = <Logger aiida.orm.nodes.data.remote.stash.folder.RemoteStashFolderData (WARNING)>#
- _storable = True#
- 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]', '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]', 'pk': 'QbNumericField(pk) -> typing.Optional[int]', '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]]', 'source': 'QbDictField(attributes.source.*) -> typing.Optional[dict]', 'source_list': 'QbArrayField(attributes.source_list) -> typing.List[str]', 'stash_mode': "QbField(attributes.stash_mode) -> <enum 'StashMode'>", 'target_basepath': "QbStrField(attributes.target_basepath) -> <class 'str'>", 'user': 'QbNumericField(user) -> typing.Optional[int]', 'uuid': 'QbStrField(uuid) -> typing.Optional[str]'}#