""" YG-Dataset Backend Application FastAPI-based API server for dataset generation platform """ from contextlib import asynccontextmanager from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from app.api.v1 import api_router from app.core.config import settings from app.core.database import init_db @asynccontextmanager async def lifespan(app: FastAPI): """Application lifespan events""" # Startup await init_db() yield # Shutdown pass app = FastAPI( title="YG-Dataset API", description="Dataset Generation Platform API", version="1.0.0", lifespan=lifespan, ) # CORS app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Include API routes app.include_router(api_router, prefix="/api/v1") @app.get("/health") async def health_check(): """Health check endpoint""" return {"status": "healthy", "version": "1.0.0"} if __name__ == "__main__": import uvicorn uvicorn.run( "app.main:app", host=settings.HOST, port=settings.PORT, reload=settings.DEBUG, )