YTDashboard / app.py
junaidbashir392's picture
v1
502c27a
"""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()