Spaces:
Running
Running
""" | |
config.py | |
Global configuration and logger setup for the project. This file centralizes shared | |
constants and settings, such as the logging configuration and API constraints. | |
Key Features: | |
- Configures the logger for consistent logging across all modules. | |
- Dynamically sets the logging level based on the DEBUG environment variable. | |
- Provides constants for shared constraints like maximum prompt length. | |
Constants: | |
- DEBUG: Indicates whether debug mode is enabled. | |
""" | |
# Standard Library Imports | |
import logging | |
import os | |
# Third-Party Library Imports | |
from dotenv import load_dotenv | |
# Load environment variables | |
load_dotenv() | |
# Enable debugging mode based on an environment variable | |
debug_raw = os.getenv("DEBUG", "false").lower() | |
if debug_raw not in {"true", "false"}: | |
print(f"Warning: Invalid DEBUG value '{debug_raw}'. Defaulting to 'false'.") | |
DEBUG = debug_raw == "true" | |
# Configure the logger | |
logging.basicConfig( | |
level=logging.DEBUG if DEBUG else logging.INFO, | |
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", | |
) | |
logger: logging.Logger = logging.getLogger("tts_arena") | |
logger.info(f"Debug mode is {'enabled' if DEBUG else 'disabled'}.") | |
# Log environment variables | |
def log_env_variable(var_name: str, value: str) -> None: | |
""" | |
Logs the value of an environment variable for debugging purposes. | |
Args: | |
var_name (str): The name of the environment variable. | |
value (str): The value of the environment variable. | |
""" | |
logger.debug(f"Environment variable '{var_name}' validated with value: {value}") | |
log_env_variable("DEBUG", str(DEBUG)) |