simpleml.persistables.base_sqlalchemy module

Base class for sqlalchemy

class simpleml.persistables.base_sqlalchemy.BaseSQLAlchemy(**kwargs)[source]

Bases: sqlalchemy.orm.decl_api.Base, sqlalchemy_mixins.AllFeaturesMixin

Base class for all SimpleML database objects. Defaults to PostgreSQL but can be swapped out for any supported SQLAlchemy backend.

Takes advantage of sqlalchemy-mixins to enable active record operations (TableModel.save(), create(), where(), destroy())

Added some inheritable convenience methods

created_timestamp: Server time on insert modified_timestamp: Server time on update

created_timestamp = Column(None, DateTime(timezone=True), table=None, nullable=False, server_default=DefaultClause(<sqlalchemy.sql.functions.now at 0x7f18c5c88090; now>, for_update=False))
classmethod filter(*filters)[source]
modified_timestamp = Column(None, DateTime(timezone=True), table=None)
classmethod query_by(*queries)[source]
class simpleml.persistables.base_sqlalchemy.BinaryStorageSqlalchemy(**kwargs)[source]

Bases: simpleml.persistables.base_sqlalchemy.BaseSQLAlchemy

Shared metadata for all tables that live in the binary storage schema

SCHEMA = 'BINARY'
metadata = MetaData()
class simpleml.persistables.base_sqlalchemy.DatasetStorageSqlalchemy(**kwargs)[source]

Bases: simpleml.persistables.base_sqlalchemy.BaseSQLAlchemy

Shared metadata for all tables that live in the dataset storage schema

SCHEMA = 'DATASETS'
metadata = MetaData()
class simpleml.persistables.base_sqlalchemy.SimplemlCoreSqlalchemy(**kwargs)[source]

Bases: simpleml.persistables.base_sqlalchemy.BaseSQLAlchemy

Shared metadata for all tables that live in the main schema

metadata = MetaData()