import asyncio import uvicorn import gradio as gr from home import build_securely from routes import get_user, app as my_app import ui def get_user_from_request(request: gr.Request): print("request.username = ", request.username) return request.username or "Unknown" async def mount_apps(app): with gr.Blocks() as login_sheami_app: ui.render_logo() with gr.Row(): gr.Column() gr.Button("Login", link="/login", variant="huggingface", scale=0, size="lg") gr.Column() app = gr.mount_gradio_app(app, login_sheami_app, path="/login-sheami") block = await build_securely() app = gr.mount_gradio_app(app, block, path="/gradio", auth_dependency=get_user) return app def start_server(): app = asyncio.run(mount_apps(my_app)) uvicorn.run(app, host="0.0.0.0", port=7860)