portfolio / app_minimal.py
jetpackjules's picture
TEST: Use minimal Gradio app to verify basic functionality works
893fc6c
#!/usr/bin/env python3
"""
Minimal working Gradio app to test deployment
"""
import gradio as gr
import logging
# Configure logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def greet(name):
"""Simple greeting function"""
logger.info(f"Greeting user: {name}")
return f"Hello {name}! πŸš€ Trading Dashboard works!"
def refresh_data():
"""Simple refresh function"""
logger.info("Refreshing data...")
return "Data refreshed! βœ…"
def create_minimal_dashboard():
"""Create minimal dashboard to test Gradio"""
logger.info("πŸš€ Creating minimal dashboard...")
with gr.Blocks(title="Test Dashboard") as demo:
logger.info("🎨 Inside Blocks context...")
gr.Markdown("# πŸ§ͺ Test Trading Dashboard")
with gr.Row():
name_input = gr.Textbox(label="Your Name", placeholder="Enter your name")
greeting_output = gr.Textbox(label="Greeting", interactive=False)
with gr.Row():
greet_btn = gr.Button("πŸ‘‹ Greet", variant="primary")
refresh_btn = gr.Button("πŸ”„ Refresh", variant="secondary")
status_output = gr.Textbox(label="Status", interactive=False)
# Event handlers - INSIDE the Blocks context
logger.info("πŸ”— Setting up event handlers...")
greet_btn.click(
fn=greet,
inputs=[name_input],
outputs=[greeting_output]
)
refresh_btn.click(
fn=refresh_data,
outputs=[status_output]
)
# Initial load
demo.load(
fn=lambda: "Ready to test! 🎯",
outputs=[status_output]
)
demo.queue()
logger.info("βœ… Event handlers configured successfully")
logger.info("βœ… Dashboard created successfully")
return demo
if __name__ == "__main__":
logger.info("πŸš€ Starting minimal test dashboard...")
try:
demo = create_minimal_dashboard()
logger.info("βœ… Dashboard created successfully!")
logger.info("πŸš€ Launching dashboard server...")
demo.launch()
logger.info("βœ… Dashboard launched successfully!")
except Exception as e:
logger.error(f"❌ Dashboard failed: {e}")
raise