ReMind / app.py
GhostDragon01's picture
refactor: Simplify application launch configuration and update Gradio version constraint
b918af1
raw
history blame
2.41 kB
"""
ReMind - A Comprehensive Digital Assistant
A multi-agent system for Gmail management, bookmarks, and web search.
Built for the Agents-MCP-Hackathon 2025.
"""
import os
import sys
from dotenv import load_dotenv
# Load environment variables
load_dotenv()
# Add debug information for deployment
print(f"Python version: {sys.version}")
def main():
"""Main application entry point for Hugging Face Spaces"""
print("🚀 Starting ReMind Digital Assistant...")
# Check for required environment variables
hf_token = os.getenv("HF_TOKEN")
if not hf_token:
print("⚠️ Warning: HF_TOKEN not found. Some features may be limited.")
# Check for Gmail OAuth credentials
google_client_id = os.getenv("GOOGLE_CLIENT_ID")
google_client_secret = os.getenv("GOOGLE_CLIENT_SECRET")
google_refresh_token = os.getenv("GOOGLE_REFRESH_TOKEN")
if not google_client_id or not google_client_secret:
print("⚠️ Gmail integration requires OAuth credentials in Spaces secrets.")
elif not google_refresh_token:
print("⚠️ Gmail integration may require re-authentication.")
else:
print("✅ Gmail OAuth credentials configured.")
try:
# Import the Gradio interface
from src.interfaces.gradio_interface import demo
print("✅ ReMind Digital Assistant ready!")
print("🤔 Real-time AI thinking display enabled")
print("📧 Email • 🌐 Web Search • 🔖 Bookmarks")
# Return the demo for Hugging Face Spaces
return demo
except ImportError as e:
print(f"❌ Import error: {e}")
print("Please ensure all dependencies are installed.")
# Print more detailed error info for debugging
import traceback
traceback.print_exc()
raise
except Exception as e:
print(f"❌ Error starting ReMind: {e}")
# Print more detailed error info for debugging
import traceback
traceback.print_exc()
raise
# For Hugging Face Spaces
if __name__ == "__main__":
try:
demo = main()
# Simple launch configuration for maximum compatibility
demo.launch()
except Exception as e:
print(f"❌ Critical error during launch: {e}")
import traceback
traceback.print_exc()
sys.exit(1)
else:
# When imported, return the demo
demo = main()