kalshifier / app /config.py
dhruv575
The script
ea037a1
from functools import lru_cache
from typing import Optional
from pydantic import Field
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
"""Central configuration for the HuggingFace backend."""
default_num_items: int = Field(10, env="KALSHI_DEFAULT_NUM_ITEMS")
skip_dub: bool = Field(False, env="KALSHI_SKIP_DUB")
template_root: str = Field("kalshi(email)/kalshi(email)", env="KALSHI_TEMPLATE_DIR")
template_archive_dir: str = Field("template_archive", env="KALSHI_TEMPLATE_ARCHIVE")
header_path: str = Field("header.png", env="KALSHI_HEADER_PATH")
header_link: str = Field("https://kalshi.com", env="KALSHI_HEADER_LINK")
supabase_url: Optional[str] = Field(None, env="SUPABASE_URL")
supabase_service_key: Optional[str] = Field(None, env="SUPABASE_SERVICE_KEY")
storage_prefix: str = Field("", env="STORAGE_PREFIX")
openai_api_key: Optional[str] = Field(None, env="OPENAI_API_KEY")
class Config:
env_file = ".env"
env_file_encoding = "utf-8"
case_sensitive = False
@lru_cache(maxsize=1)
def get_settings() -> Settings:
"""Return a cached instance so imports stay cheap."""
return Settings()