Spaces:
Running
Running
| """Main application entry point for PromptAR Backend API.""" | |
| import logging | |
| from utils.logging_config import setup_colored_logging | |
| from app.app import create_app, set_hf_service | |
| from config import HOST, PORT, HF_TOKEN | |
| # Setup colored logging before creating app | |
| setup_colored_logging() | |
| logger = logging.getLogger(__name__) | |
| # Create FastAPI application | |
| app = create_app() | |
| async def startup_event(): | |
| """Handle application startup events.""" | |
| # Initialize HuggingFaceService (works with or without HF_TOKEN) | |
| try: | |
| from services.huggingface_service import HuggingFaceService | |
| logger.info("Initializing HuggingFaceService") | |
| hf_service = HuggingFaceService() | |
| set_hf_service(hf_service) | |
| logger.info("✓ HuggingFaceService initialized successfully") | |
| except Exception as e: | |
| logger.error(f"❌ Failed to initialize HuggingFaceService: {e}") | |
| set_hf_service(None) | |
| if not HF_TOKEN: | |
| logger.warning( | |
| "⚠️ HF_TOKEN not configured - Some Spaces may require authentication" | |
| ) | |
| logger.info( | |
| "API server started. Visit http://localhost:8000/docs for API documentation" | |
| ) | |
| # Register startup event | |
| app.on_event("startup")(startup_event) | |
| if __name__ == "__main__": | |
| import uvicorn | |
| uvicorn.run(app, host=HOST, port=PORT) | |