"""
Configuration for Hugging Face Spaces deployment
"""
import os
from dotenv import load_dotenv
# Load environment variables
load_dotenv()
class HFSpacesConfig:
"""Configuration class for Hugging Face Spaces deployment"""
# API Configuration
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
# Database Configuration
DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///./data/mcp_server.db")
# Server Configuration
HOST = os.getenv("HOST", "0.0.0.0")
PORT = int(os.getenv("PORT", "7860")) # Hugging Face Spaces default port
# CORS Configuration
ALLOWED_ORIGINS = os.getenv("ALLOWED_ORIGINS", "*").split(",")
# Rate Limiting
RATE_LIMIT_REQUESTS = int(os.getenv("RATE_LIMIT_REQUESTS", "100"))
RATE_LIMIT_PERIOD = int(os.getenv("RATE_LIMIT_PERIOD", "3600"))
# Logging
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
@classmethod
def validate(cls):
"""Validate required configuration"""
if not cls.GEMINI_API_KEY:
raise ValueError("GEMINI_API_KEY environment variable is required")
return True
# Global config instance
config = HFSpacesConfig()