Source code for sniputils.database.dataset

import dataset


def connection_url(config):
    drive = config.get('drive', 'mysql+pymysql')
    connect = config['connection']
    url = f'{drive}://{connect["user"]}:{connect["passwd"]}@' \
          f'{connect["host"]}:{connect["port"]}/{connect["database"]}?charset=utf8'
    return url


[docs]def create_session(config): """ create dataset session to sql database :param config: connection config dict :type config: dict .. code:: python { 'drive': 'mysql+pymysql', 'connection': { 'host': 'xxx', 'port': 3306, 'database': 'database name', 'user': 'username', 'passwd': 'password' } } :return: database session """ session = dataset.connect(connection_url(config), engine_kwargs={'pool_recycle': 7200}) return session