from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import Session from core import constants engine = create_engine(f'sqlite:///{constants.DB_PATH}', echo=constants.SQL_ALCHEMY_VERBOSE) Base = declarative_base() def session(): return Session(engine) def create(): if constants.DB_PATH.exists(): raise FileExistsError('A db file already exists') Base.metadata.create_all(engine)