alchemyhandler

class pdm_utils.classes.alchemyhandler.AlchemyHandler(database=None, username=None, password=None, dialect='mysql', driver=None)

Bases: object

property URI

Returns a SQLAlchemy URI string from stored credentials.

ask_credentials()

Ask for username and password input to store in AlchemyHandler.

ask_database()

Ask for database input to store in AlchemyHandler.

build_all()

Create and store all relevant SQLAlchemy objects.

build_engine()

Create and store SQLAlchemy Engine object.

build_graph()

Create and store SQLAlchemy MetaData related NetworkX Graph object.

build_mapper()

Create and store SQLAlchemy automapper Base object.

build_metadata()

Create and store SQLAlchemy MetaData object.

build_session()

Create and store SQLAlchemy Session object.

clear()

Clear properties tied to MySQL credentials/database.

connect(ask_database=False, login_attempts=5, pipeline=False)

Ask for input to connect to MySQL and MySQL databases.

Parameters
  • ask_database (Boolean) – Toggle whether to connect to a database.

  • login_attempts (int) – Set number of total login attempts.

construct_engine_string(dialect='mysql', driver='pymysql', username='', password='', database='')

Construct a SQLAlchemy engine URL.

Parameters
  • dialect (str) – Type of SQL database.

  • driver (str) – Name of the Python DBAPI used to connect.

  • username (str) – Username to login to SQL database.

  • password (str) – Password to login to SQL database.

  • database (str) – Name of the database to connect to.

Returns

URI string to create SQLAlchemy engine.

Return type

str

property database

Returns the AlchemyHandler’s set database.

Returns

Returns a copy of the database attribute.

Return type

str

property databases

Returns a copy of the databases available to the current credentials

Returns

Returns the AlchemyHandler’s available databases.

Return type

list[str]

property engine

Returns the AlchemyHandler’s stored engine object.

Returns

Returns the AlchemyHandler’s stored engine object.

Return type

Engine

extract_engine_credentials(engine)

Extract username, password, and/or database from a SQLAlchemy engine.

get_map(table)

Get SQLAlchemy ORM map object.

get_mysql_dbs()

Retrieve database names from MySQL.

Returns

List of database names.

Return type

list

property graph

Returns the AlchemyHandler’s stored graph object.

Returns

Returns the AlchemyHandler’s stored metadata graph object.

Return type

Graph

property login_attempts

Returns the AlchemyHandler’s number of login attempts for login.

Returns

Returns the number of login attempts for login.

Return type

str

property mapper

Returns the AlchemyHandler’s stored automapper object.

Returns

Returns the AlchemyHandler’s stored mapper object.

property metadata

Returns the AlchemyHandler’s stored metadata object.

Returns

Returns the AlchemyHandler’s stored engine object.

Return type

MetaData

property password

Returns the AlchemyHandler’s set password.

Returns

Returns a copy of the password attribute.

Return type

str

property session

Returns the AlchemyHandler’s stored session object.

property username

Returns the AlchemynHandler’s set username.

Returns

Returns a copy of the username attribute.

Return type

str

validate_database()

Validate access to database using stored SQL credentials.

exception pdm_utils.classes.alchemyhandler.MySQLDatabaseError

Bases: Exception

exception pdm_utils.classes.alchemyhandler.SQLCredentialsError

Bases: Exception

exception pdm_utils.classes.alchemyhandler.SQLiteDatabaseError

Bases: Exception