49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
# Tools for A Feminist Audit of Pop Music.
|
|
# Copyright 2026 imacat. All rights reserved.
|
|
# Authors:
|
|
# imacat@mail.imacat.idv.tw (imacat), 2026/7/31
|
|
"""The configuration.
|
|
|
|
"""
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
"""The configuration settings."""
|
|
app_name: str = "Tools for A Feminist Audit of Pop Music"
|
|
"""The application name."""
|
|
admin_email: str = "imacat@mail.imacat.idv.tw"
|
|
"""The administrator email address."""
|
|
SQLALCHEMY_DATABASE_URL: str
|
|
"""The SQLAlchemy database URL."""
|
|
ANTHROPIC_API_KEY: str
|
|
"""The Anthropic API key."""
|
|
|
|
model_config = SettingsConfigDict(env_file=".env", extra="ignore")
|
|
"""The model configuration."""
|
|
|
|
|
|
__settings: Settings | None = None
|
|
"""The configuration settings."""
|
|
|
|
|
|
def get_settings() -> Settings:
|
|
"""Returns the configuration settings.
|
|
|
|
:return: The configuration settings.
|
|
"""
|
|
global __settings
|
|
if __settings is None:
|
|
__settings = Settings()
|
|
return __settings
|
|
|
|
|
|
def set_settings(settings: Settings) -> None:
|
|
"""Sets the configuration settings.
|
|
|
|
:param settings: The configuration settings.
|
|
:return: None.
|
|
"""
|
|
global __settings
|
|
__settings = settings
|