Spaces:
Sleeping
Sleeping
| """Entry point for the YouTube Trends Analysis Dashboard.""" | |
| from __future__ import annotations | |
| import logging | |
| import os | |
| try: | |
| from dotenv import load_dotenv # type: ignore[import-not-found] | |
| except ImportError: # pragma: no cover - optional dependency for convenience | |
| load_dotenv = None | |
| from youtube_trends_dashboard import ui | |
| LOGGER = logging.getLogger(__name__) | |
| def configure_logging() -> None: | |
| """Set up a basic logging configuration for the application.""" | |
| logging.basicConfig( | |
| level=os.getenv("YTD_LOG_LEVEL", "INFO"), | |
| format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", | |
| ) | |
| def main() -> None: | |
| """Load environment, configure logging, and launch the Gradio app.""" | |
| if load_dotenv: | |
| load_dotenv() | |
| LOGGER.debug("Loaded environment variables from .env") | |
| configure_logging() | |
| demo = ui.create_interface() | |
| server_name = os.getenv("HOST", "127.0.0.1") | |
| server_port = int(os.getenv("PORT", "7860")) | |
| demo.launch(server_name=server_name, server_port=server_port, share=os.getenv("SHARE", "false").lower() == "true") | |
| if __name__ == "__main__": | |
| main() | |