aiida.backends.sqlalchemy.models package¶
Module to define the database models for the SqlAlchemy backend.
Submodules¶
-
class
aiida.backends.sqlalchemy.models.authinfo.
DbAuthInfo
(*args, **kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
-
__init__
(*args, **kwargs)¶
-
__mapper__
= <Mapper at 0x7fa1ddd41390; DbAuthInfo>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.authinfo'¶
-
__table__
= Table('db_dbauthinfo', MetaData(bind=None), Column('id', Integer(), table=<db_dbauthinfo>, primary_key=True, nullable=False), Column('aiidauser_id', Integer(), ForeignKey('db_dbuser.id'), table=<db_dbauthinfo>), Column('dbcomputer_id', Integer(), ForeignKey('db_dbcomputer.id'), table=<db_dbauthinfo>), Column('metadata', JSONB(astext_type=Text()), table=<db_dbauthinfo>), Column('auth_params', JSONB(astext_type=Text()), table=<db_dbauthinfo>), Column('enabled', Boolean(), table=<db_dbauthinfo>, default=ColumnDefault(True)), schema=None)¶
-
__table_args__
= (UniqueConstraint(Column('aiidauser_id', Integer(), ForeignKey('db_dbuser.id'), table=<db_dbauthinfo>), Column('dbcomputer_id', Integer(), ForeignKey('db_dbcomputer.id'), table=<db_dbauthinfo>)),)¶
-
__tablename__
= 'db_dbauthinfo'¶
-
_metadata
¶
-
_sa_class_manager
= {'_metadata': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'aiidauser': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'aiidauser_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'auth_params': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbcomputer': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbcomputer_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'enabled': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
aiidauser
¶
-
aiidauser_id
¶
-
auth_params
¶
-
dbcomputer
¶
-
dbcomputer_id
¶
-
enabled
¶
-
id
¶
-
-
class
aiida.backends.sqlalchemy.models.base.
Model
[source]¶ Bases:
object
-
__dict__
= mappingproxy({'__module__': 'aiida.backends.sqlalchemy.models.base', 'query': <aiida.backends.sqlalchemy.models.base._QueryProperty object>, 'session': <aiida.backends.sqlalchemy.models.base._SessionProperty object>, 'save': <function Model.save>, 'delete': <function Model.delete>, '__dict__': <attribute '__dict__' of 'Model' objects>, '__weakref__': <attribute '__weakref__' of 'Model' objects>, '__doc__': None})¶
-
__module__
= 'aiida.backends.sqlalchemy.models.base'¶
-
__weakref__
¶ list of weak references to the object (if defined)
-
delete
(commit=True)[source]¶ Emulate the behavior of Django’s delete() method
- Parameters
commit – whether to do a commit or just remover from the session
-
query
= None¶
-
save
(commit=True)[source]¶ Emulate the behavior of Django’s save() method
- Parameters
commit – whether to do a commit or just add to the session
- Returns
the SQLAlchemy instance
-
session
= <sqlalchemy.orm.session.Session object>¶
-
-
class
aiida.backends.sqlalchemy.models.base.
_AiidaQuery
(*args, **kwargs)[source]¶ Bases:
sqlalchemy.orm.query.Query
-
__module__
= 'aiida.backends.sqlalchemy.models.base'¶
-
-
class
aiida.backends.sqlalchemy.models.base.
_QueryProperty
(query_class=<class 'sqlalchemy.orm.query.Query'>)[source]¶ Bases:
object
-
__dict__
= mappingproxy({'__module__': 'aiida.backends.sqlalchemy.models.base', '__init__': <function _QueryProperty.__init__>, '__get__': <function _QueryProperty.__get__>, '__dict__': <attribute '__dict__' of '_QueryProperty' objects>, '__weakref__': <attribute '__weakref__' of '_QueryProperty' objects>, '__doc__': None})¶
-
__init__
(query_class=<class 'sqlalchemy.orm.query.Query'>)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
__module__
= 'aiida.backends.sqlalchemy.models.base'¶
-
__weakref__
¶ list of weak references to the object (if defined)
-
-
class
aiida.backends.sqlalchemy.models.base.
_SessionProperty
[source]¶ Bases:
object
-
__dict__
= mappingproxy({'__module__': 'aiida.backends.sqlalchemy.models.base', '__get__': <function _SessionProperty.__get__>, '__dict__': <attribute '__dict__' of '_SessionProperty' objects>, '__weakref__': <attribute '__weakref__' of '_SessionProperty' objects>, '__doc__': None})¶
-
__module__
= 'aiida.backends.sqlalchemy.models.base'¶
-
__weakref__
¶ list of weak references to the object (if defined)
-
-
class
aiida.backends.sqlalchemy.models.comment.
DbComment
(*args, **kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
-
__init__
(*args, **kwargs)¶
-
__mapper__
= <Mapper at 0x7fa1ddd7e940; DbComment>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.comment'¶
-
__table__
= Table('db_dbcomment', MetaData(bind=None), Column('id', Integer(), table=<db_dbcomment>, primary_key=True, nullable=False), Column('uuid', UUID(as_uuid=True), table=<db_dbcomment>, default=ColumnDefault(<function get_new_uuid>)), Column('dbnode_id', Integer(), ForeignKey('db_dbnode.id'), table=<db_dbcomment>), Column('ctime', DateTime(timezone=True), table=<db_dbcomment>, default=ColumnDefault(<function now>)), Column('mtime', DateTime(timezone=True), table=<db_dbcomment>, onupdate=ColumnDefault(<function now>), default=ColumnDefault(<function now>)), Column('user_id', Integer(), ForeignKey('db_dbuser.id'), table=<db_dbcomment>), Column('content', Text(), table=<db_dbcomment>), schema=None)¶
-
__tablename__
= 'db_dbcomment'¶
-
_sa_class_manager
= {'content': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'ctime': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbnode': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbnode_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'mtime': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'user': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'user_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'uuid': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
content
¶
-
ctime
¶
-
dbnode
¶
-
dbnode_id
¶
-
id
¶
-
mtime
¶
-
user
¶
-
user_id
¶
-
uuid
¶
-
-
class
aiida.backends.sqlalchemy.models.computer.
DbComputer
(*args, **kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
-
__init__
(*args, **kwargs)¶
-
__mapper__
= <Mapper at 0x7fa1dde2dcc0; DbComputer>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.computer'¶
-
__table__
= Table('db_dbcomputer', MetaData(bind=None), Column('id', Integer(), table=<db_dbcomputer>, primary_key=True, nullable=False), Column('uuid', UUID(as_uuid=True), table=<db_dbcomputer>, default=ColumnDefault(<function get_new_uuid>)), Column('name', String(length=255), table=<db_dbcomputer>, nullable=False), Column('hostname', String(length=255), table=<db_dbcomputer>), Column('description', Text(), table=<db_dbcomputer>), Column('scheduler_type', String(length=255), table=<db_dbcomputer>), Column('transport_type', String(length=255), table=<db_dbcomputer>), Column('metadata', JSONB(astext_type=Text()), table=<db_dbcomputer>), schema=None)¶
-
__tablename__
= 'db_dbcomputer'¶
-
_metadata
¶
-
_sa_class_manager
= {'_metadata': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'authinfos': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbnodes': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'description': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'hostname': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'name': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'scheduler_type': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'transport_type': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'uuid': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
authinfos
¶
-
dbnodes
¶
-
description
¶
-
hostname
¶
-
id
¶
-
name
¶
-
property
pk
¶
-
scheduler_type
¶
-
transport_type
¶
-
uuid
¶
-
-
class
aiida.backends.sqlalchemy.models.group.
DbGroup
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
-
__init__
(**kwargs)¶ A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
-
__mapper__
= <Mapper at 0x7fa1ddd24e48; DbGroup>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.group'¶
-
__table__
= Table('db_dbgroup', MetaData(bind=None), Column('id', Integer(), table=<db_dbgroup>, primary_key=True, nullable=False), Column('uuid', UUID(as_uuid=True), table=<db_dbgroup>, default=ColumnDefault(<function get_new_uuid>)), Column('label', String(length=255), table=<db_dbgroup>), Column('type_string', String(length=255), table=<db_dbgroup>, default=ColumnDefault('')), Column('time', DateTime(timezone=True), table=<db_dbgroup>, default=ColumnDefault(<function now>)), Column('description', Text(), table=<db_dbgroup>), Column('user_id', Integer(), ForeignKey('db_dbuser.id'), table=<db_dbgroup>), schema=None)¶
-
__table_args__
= (UniqueConstraint(Column('label', String(length=255), table=<db_dbgroup>), Column('type_string', String(length=255), table=<db_dbgroup>, default=ColumnDefault(''))),)¶
-
__tablename__
= 'db_dbgroup'¶
-
_sa_class_manager
= {'dbnodes': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'description': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'label': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'time': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'type_string': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'user': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'user_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'uuid': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
dbnodes
¶
-
description
¶
-
id
¶
-
label
¶
-
property
pk
¶
-
time
¶
-
type_string
¶
-
user
¶
-
user_id
¶
-
uuid
¶
-
-
class
aiida.backends.sqlalchemy.models.log.
DbLog
(time, loggername, levelname, dbnode_id, uuid=None, message=None, metadata=None)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
-
__init__
(time, loggername, levelname, dbnode_id, uuid=None, message=None, metadata=None)¶
-
__mapper__
= <Mapper at 0x7fa1ddccb780; DbLog>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.log'¶
-
__table__
= Table('db_dblog', MetaData(bind=None), Column('id', Integer(), table=<db_dblog>, primary_key=True, nullable=False), Column('uuid', UUID(as_uuid=True), table=<db_dblog>, default=ColumnDefault(<function get_new_uuid>)), Column('time', DateTime(timezone=True), table=<db_dblog>, default=ColumnDefault(<function now>)), Column('loggername', String(length=255), table=<db_dblog>), Column('levelname', String(length=255), table=<db_dblog>), Column('dbnode_id', Integer(), ForeignKey('db_dbnode.id'), table=<db_dblog>, nullable=False), Column('message', Text(), table=<db_dblog>), Column('metadata', JSONB(astext_type=Text()), table=<db_dblog>), schema=None)¶
-
__tablename__
= 'db_dblog'¶
-
_metadata
¶
-
_sa_class_manager
= {'_metadata': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbnode': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbnode_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'levelname': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'loggername': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'message': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'time': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'uuid': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
dbnode
¶
-
dbnode_id
¶
-
id
¶
-
levelname
¶
-
loggername
¶
-
message
¶
-
time
¶
-
uuid
¶
-
-
class
aiida.backends.sqlalchemy.models.node.
DbLink
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
-
__init__
(**kwargs)¶ A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
-
__mapper__
= <Mapper at 0x7fa1ddce3dd8; DbLink>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.node'¶
-
__table__
= Table('db_dblink', MetaData(bind=None), Column('id', Integer(), table=<db_dblink>, primary_key=True, nullable=False), Column('input_id', Integer(), ForeignKey('db_dbnode.id'), table=<db_dblink>), Column('output_id', Integer(), ForeignKey('db_dbnode.id'), table=<db_dblink>), Column('label', String(length=255), table=<db_dblink>, nullable=False), Column('type', String(length=255), table=<db_dblink>), schema=None)¶
-
__table_args__
= ()¶
-
__tablename__
= 'db_dblink'¶
-
_sa_class_manager
= {'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'input': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'input_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'label': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'output': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'output_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'type': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
id
¶
-
input
¶
-
input_id
¶
-
label
¶
-
output
¶
-
output_id
¶
-
type
¶
-
-
class
aiida.backends.sqlalchemy.models.node.
DbNode
(*args, **kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
-
__init__
(*args, **kwargs)¶
-
__mapper__
= <Mapper at 0x7fa1ddce3588; DbNode>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.node'¶
-
__table__
= Table('db_dbnode', MetaData(bind=None), Column('id', Integer(), table=<db_dbnode>, primary_key=True, nullable=False), Column('uuid', UUID(as_uuid=True), table=<db_dbnode>, default=ColumnDefault(<function get_new_uuid>)), Column('node_type', String(length=255), table=<db_dbnode>), Column('process_type', String(length=255), table=<db_dbnode>), Column('label', String(length=255), table=<db_dbnode>, default=ColumnDefault('')), Column('description', Text(), table=<db_dbnode>, default=ColumnDefault('')), Column('ctime', DateTime(timezone=True), table=<db_dbnode>, default=ColumnDefault(<function now>)), Column('mtime', DateTime(timezone=True), table=<db_dbnode>, onupdate=ColumnDefault(<function now>), default=ColumnDefault(<function now>)), Column('attributes', JSONB(astext_type=Text()), table=<db_dbnode>), Column('extras', JSONB(astext_type=Text()), table=<db_dbnode>), Column('dbcomputer_id', Integer(), ForeignKey('db_dbcomputer.id'), table=<db_dbnode>), Column('user_id', Integer(), ForeignKey('db_dbuser.id'), table=<db_dbnode>, nullable=False), schema=None)¶
-
__tablename__
= 'db_dbnode'¶
-
_sa_class_manager
= {'attributes': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'ctime': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbcomments': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbcomputer': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbcomputer_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbgroups': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dblogs': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'description': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'extras': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'inputs_q': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'label': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'mtime': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'node_type': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'outputs_q': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'process_type': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'user': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'user_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'uuid': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
attributes
¶
-
ctime
¶
-
dbcomments
¶
-
dbcomputer
¶
-
dbcomputer_id
¶
-
dbgroups
¶
-
dblogs
¶
-
description
¶
-
extras
¶
-
get_simple_name
(invalid_result=None)[source]¶ Return a string with the last part of the type name.
If the type is empty, use ‘Node’. If the type is invalid, return the content of the input variable
invalid_result
.- Parameters
invalid_result – The value to be returned if the node type is not recognized.
-
id
¶
-
property
inputs
¶
-
inputs_q
¶
-
label
¶
-
mtime
¶
-
node_type
¶
-
property
outputs
¶
-
outputs_q
¶
-
property
pk
¶
-
process_type
¶
-
user
¶
-
user_id
¶
-
uuid
¶
-
-
class
aiida.backends.sqlalchemy.models.settings.
DbSetting
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
-
__init__
(**kwargs)¶ A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
-
__mapper__
= <Mapper at 0x7fa1ddcf3780; DbSetting>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.settings'¶
-
__table__
= Table('db_dbsetting', MetaData(bind=None), Column('id', Integer(), table=<db_dbsetting>, primary_key=True, nullable=False), Column('key', String(length=255), table=<db_dbsetting>, nullable=False), Column('val', JSONB(astext_type=Text()), table=<db_dbsetting>, default=ColumnDefault({})), Column('description', String(length=255), table=<db_dbsetting>, nullable=False, default=ColumnDefault('')), Column('time', DateTime(timezone=True), table=<db_dbsetting>, onupdate=ColumnDefault(<function now>), default=ColumnDefault(<UTC>)), schema=None)¶
-
__table_args__
= (UniqueConstraint(Column('key', String(length=255), table=<db_dbsetting>, nullable=False)),)¶
-
__tablename__
= 'db_dbsetting'¶
-
_sa_class_manager
= {'description': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'key': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'time': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'val': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
description
¶
-
get_description
()[source]¶ This can be called on a given row and will get the corresponding description.
-
id
¶
-
key
¶
-
classmethod
set_value
(key, value, with_transaction=True, subspecifier_value=None, other_attribs={}, stop_if_existing=False)[source]¶
-
time
¶
-
val
¶
-
-
class
aiida.backends.sqlalchemy.models.user.
DbUser
(email, first_name='', last_name='', institution='', **kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
-
__init__
(email, first_name='', last_name='', institution='', **kwargs)¶
-
__mapper__
= <Mapper at 0x7fa1ddcf3cc0; DbUser>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.user'¶
-
__table__
= Table('db_dbuser', MetaData(bind=None), Column('id', Integer(), table=<db_dbuser>, primary_key=True, nullable=False), Column('email', String(length=254), table=<db_dbuser>), Column('first_name', String(length=254), table=<db_dbuser>), Column('last_name', String(length=254), table=<db_dbuser>), Column('institution', String(length=254), table=<db_dbuser>), schema=None)¶
-
__tablename__
= 'db_dbuser'¶
-
_sa_class_manager
= {'authinfos': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbgroups': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbnodes': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'email': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'first_name': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'institution': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'last_name': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
authinfos
¶
-
dbgroups
¶
-
dbnodes
¶
-
email
¶
-
first_name
¶
-
id
¶
-
institution
¶
-
last_name
¶
-