from pydantic_settings import BaseSettings from functools import lru_cache class Settings(BaseSettings): supabase_url: str = "" supabase_anon_key: str = "" supabase_service_key: str = "" jwt_secret: str = "" admin_secret_url: str = "" frontend_url: str = "" environment: str = "development" gemini_api_key: str = "" groq_api_key: str = "" openrouter_api_key: str = "" openrouter_model: str = "openrouter/free" huggingface_api_token: str = "" huggingface_free_models: list[str] = [ "meta-llama/Llama-3.2-3B-Instruct", "Qwen/Qwen2.5-7B-Instruct", "mistralai/Mistral-7B-Instruct-v0.3", "google/gemma-2-9b-it" ] resend_api_key: str = "" piston_api_url: str = "https://emkc.org/api/v2/piston" jdoodle_client_id: str = "" jdoodle_client_secret: str = "" admin_emails: list[str] = ["farhanahmad4709@gmail.com"] class Config: env_file = ".env" case_sensitive = False @lru_cache() def get_settings(): return Settings()