Spaces:
Running
Running
| import os | |
| import threading | |
| import time | |
| import uvicorn | |
| from optipfair_backend import app as fastapi_app | |
| from optipfair_frontend import create_interface | |
| def run_fastapi(): | |
| """Run FastAPI backend in a separate thread""" | |
| uvicorn.run( | |
| fastapi_app, | |
| host="0.0.0.0", | |
| port=8000, | |
| log_level="info" | |
| ) | |
| def main(): | |
| """Main function to start both FastAPI and Gradio""" | |
| # Start FastAPI in background thread | |
| fastapi_thread = threading.Thread(target=run_fastapi, daemon=True) | |
| fastapi_thread.start() | |
| # Wait a moment for FastAPI to start | |
| print("π Starting FastAPI backend...") | |
| time.sleep(3) | |
| # Create and launch Gradio interface | |
| print("π¨ Starting Gradio frontend...") | |
| interface = create_interface() | |
| # Launch configuration for HF Spaces | |
| interface.launch( | |
| server_name="0.0.0.0", | |
| server_port=7860, | |
| share=False, | |
| show_error=True | |
| ) | |
| if __name__ == "__main__": | |
| main() |