faceforge / main.py
Transcendental-Programmer
fix: upgraded gradio version
a8da4e0
raw
history blame
1.81 kB
#!/usr/bin/env python3
"""
Main entry point for FaceForge application
"""
import os
import logging
import sys
import traceback
# Configure logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[logging.StreamHandler(sys.stdout)]
)
logger = logging.getLogger("faceforge")
def main():
"""Main function to start the FaceForge application."""
try:
# Apply the patch for Gradio
logger.info("Applying Gradio patch...")
try:
from patch_gradio_utils import apply_patch
if apply_patch():
logger.info("Gradio patch applied successfully.")
else:
logger.warning("Failed to apply Gradio patch. The app may encounter errors.")
except Exception as e:
logger.warning(f"Error applying Gradio patch: {e}")
logger.debug(traceback.format_exc())
# Import and run the appropriate app
if os.environ.get("FACEFORGE_MODE", "ui").lower() == "api":
logger.info("Starting in API mode")
from faceforge_api.main import app
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
else:
logger.info("Starting in UI mode")
from faceforge_ui.app import create_demo
demo = create_demo()
demo.launch(server_name="0.0.0.0", share=False)
except ImportError as e:
logger.critical(f"Import error: {e}. Please check your dependencies.")
logger.debug(traceback.format_exc())
sys.exit(1)
except Exception as e:
logger.critical(f"Unexpected error: {e}")
logger.debug(traceback.format_exc())
sys.exit(1)
if __name__ == "__main__":
main()