""" Cosmo - Deep Space Explorer Backend API FastAPI application entry point """ import logging from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from app.config import settings from app.api.routes import router as celestial_router # Configure logging logging.basicConfig( level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", ) logger = logging.getLogger(__name__) # Create FastAPI app app = FastAPI( title=settings.app_name, description="Backend API for deep space probe visualization using NASA JPL Horizons data", version="1.0.0", ) # Configure CORS app.add_middleware( CORSMiddleware, allow_origins=settings.cors_origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Include routers app.include_router(celestial_router, prefix=settings.api_prefix) @app.get("/") async def root(): """Root endpoint""" return { "app": settings.app_name, "version": "1.0.0", "docs": "/docs", "api": settings.api_prefix, } @app.get("/health") async def health(): """Health check endpoint""" return {"status": "healthy"} if __name__ == "__main__": import uvicorn uvicorn.run( "app.main:app", host="0.0.0.0", port=8000, reload=True, log_level="info", )