Files
git-activity-merger/app/settings.py
Space-Banane a54d1cfeaf first commit
2026-05-29 19:15:00 +02:00

27 lines
924 B
Python

from functools import lru_cache
from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
model_config = SettingsConfigDict(env_file=".env", case_sensitive=False)
github_username: str = Field(alias="GITHUB_USERNAME")
github_token: str | None = Field(default=None, alias="GITHUB_TOKEN")
gitea_base_url: str = Field(alias="GITEA_BASE_URL")
gitea_username: str = Field(alias="GITEA_USERNAME")
gitea_token: str | None = Field(default=None, alias="GITEA_TOKEN")
cache_ttl_seconds: int = Field(default=3600, alias="CACHE_TTL_SECONDS")
cache_dir: str = Field(default="./cache", alias="CACHE_DIR")
default_theme: str = Field(default="light", alias="DEFAULT_THEME")
service_title: str = Field(default="git-activity-merge", alias="SERVICE_TITLE")
@lru_cache(maxsize=1)
def get_settings() -> Settings:
return Settings()