from flask import Flask from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from .models import Base, Author, Book from crudkit import make_blueprint engine = create_engine("sqlite:///example.db", echo=True, future=True) SessionLocal = sessionmaker(bind=engine, expire_on_commit=False) def session_factory(): return SessionLocal() registry = {"author": Author, "book": Book} def create_app(): app = Flask(__name__) Base.metadata.create_all(engine) app.register_blueprint(make_blueprint(session_factory, registry), url_prefix="/api") return app if __name__ == "__main__": create_app().run(debug=True)