simpleml.utils.initialization module¶
Util module to initialize SimpleML and configure database management
-
class
simpleml.utils.initialization.
AlembicDatabase
(alembic_filepath, script_location='migrations', *args, **kwargs)[source]¶ Bases:
simpleml.utils.initialization.BaseDatabase
Base database class to manage dbs with schema tracking. Includes alembic config references
-
alembic_config
¶
-
create_tables
(base, drop_tables=False, ignore_errors=False)[source]¶ Creates database tables (and potentially drops existing ones). Assumes to be running under a sufficiently privileged user
Parameters: drop_tables – Whether or not to drop the existing tables first. Returns: None
-
initialize
(base_list, upgrade=False, **kwargs)[source]¶ Initialization method to set up database connection and inject session manager
Raises a SimpleML error if database schema is not up to date
Parameters: - drop_tables – Bool, whether to drop existing tables in database
- upgrade – Bool, whether to run an upgrade migration after establishing a connection
Returns: None
-
-
class
simpleml.utils.initialization.
BaseDatabase
(config=None, configuration_section=None, uri=None, use_ssh_tunnel=False, sshtunnel_params=None, **credentials)[source]¶ Bases:
sqlalchemy.engine.url.URL
Base Database class to configure db connection Does not assume schema tracking or any other validation
-
create_tables
(base, drop_tables=False, ignore_errors=False)[source]¶ Creates database tables (and potentially drops existing ones). Assumes to be running under a sufficiently privileged user
Parameters: drop_tables – Whether or not to drop the existing tables first. Returns: None
-
engine
¶
-
initialize
(base_list, **kwargs)[source]¶ Initialization method to set up database connection and inject session manager
Raises a SimpleML error if database schema is not up to date
Parameters: - drop_tables – Bool, whether to drop existing tables in database
- upgrade – Bool, whether to run an upgrade migration after establishing a connection
Returns: None
-
ssh_tunnel
¶
-
-
class
simpleml.utils.initialization.
BinaryStorageDatabase
(config=None, configuration_section=None, uri=None, use_ssh_tunnel=False, sshtunnel_params=None, **credentials)[source]¶ Bases:
simpleml.utils.initialization.BaseDatabase
Hardcoded database mapped to binary storage metadata
-
initialize
(base_list=None, **kwargs)[source]¶ Initialization method to set up database connection and inject session manager
Raises a SimpleML error if database schema is not up to date
Parameters: - drop_tables – Bool, whether to drop existing tables in database
- upgrade – Bool, whether to run an upgrade migration after establishing a connection
Returns: None
-
-
class
simpleml.utils.initialization.
Database
(configuration_section=None, uri=None, database=None, username=None, password=None, drivername=None, host=None, port=None, query=None, *args, **kwargs)[source]¶ Bases:
simpleml.utils.initialization.AlembicDatabase
SimpleML specific configuration to interact with the database Defaults to sqlite db in filestore directory
-
initialize
(base_list=None, **kwargs)[source]¶ Initialization method to set up database connection and inject session manager
Raises a SimpleML error if database schema is not up to date
Parameters: - drop_tables – Bool, whether to drop existing tables in database
- upgrade – Bool, whether to run an upgrade migration after establishing a connection
Returns: None
-
-
class
simpleml.utils.initialization.
DatasetDatabase
(config=None, configuration_section=None, uri=None, use_ssh_tunnel=False, sshtunnel_params=None, **credentials)[source]¶ Bases:
simpleml.utils.initialization.BaseDatabase
Hardcoded database mapped to dataset storage metadata
-
initialize
(base_list=None, **kwargs)[source]¶ Initialization method to set up database connection and inject session manager
Raises a SimpleML error if database schema is not up to date
Parameters: - drop_tables – Bool, whether to drop existing tables in database
- upgrade – Bool, whether to run an upgrade migration after establishing a connection
Returns: None
-