LexoSynth / app.py
skygg's picture
Fixed issue on main app to create share link
b6d0d85
Raw
History Blame Contribute Delete
1.67 kB
# ============================================================
# LEXOSYNTH - HF SPACES ENTRY POINT
# File : app.py
# ============================================================
import threading
import time
import sys
import os
import requests
def start_flask():
"""Start Flask backend on port 5000 (internal only)."""
from backend import app
app.run(
host = "0.0.0.0",
port = 5000,
debug = False,
use_reloader= False
)
def wait_for_flask(max_wait=60):
"""Poll Flask /health until ready."""
print("[Startup] Waiting for Flask backend...", flush=True)
for _ in range(max_wait):
try:
r = requests.get("http://localhost:5000/health", timeout=1)
if r.status_code == 200:
print("[Startup] Flask is ready!", flush=True)
return True
except Exception:
pass
time.sleep(1)
return False
if __name__ == "__main__":
# Start Flask in background thread
flask_thread = threading.Thread(target=start_flask, daemon=True)
flask_thread.start()
# Wait for Flask to be ready
if not wait_for_flask(max_wait=60):
print("[ERROR] Flask did not start. Exiting.")
sys.exit(1)
# Launch Gradio on port 7860 (HF Spaces public port)
from frontend import demo
print("[Startup] Launching Gradio interface...", flush=True)
demo.launch(
server_name = "0.0.0.0",
server_port = 7860,
share=False, # HF Spaces handles public access — no share needed
show_api=False,
debug=False,
show_error=True
)