"""SQLAlchemy engine and session factory setup.""" from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from models import Base DB_PATH = "sqlite:///wordsearch.db" def get_engine(db_url=None): """Create a SQLAlchemy engine. Args: db_url: Database URL. Defaults to ``sqlite:///wordsearch.db``. """ return create_engine(db_url or DB_PATH) def get_session_factory(engine): """Return a sessionmaker bound to the given engine.""" return sessionmaker(bind=engine) def init_db(engine): """Create all tables defined in the ORM models.""" Base.metadata.create_all(engine)