Calin Rada
init
f006f31 unverified
raw
history blame
1.11 kB
import os
from pydantic import SecretStr
from pydantic_settings import (
BaseSettings,
PydanticBaseSettingsSource,
SettingsConfigDict,
)
from mappingservice.config_consul import ConsulConfigSettingsSource
class Settings(BaseSettings):
model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8")
api_key: SecretStr
huggingface_access_token: SecretStr
hf_hub_cache: str
app_env: str = "prod"
@classmethod
def settings_customise_sources(
cls,
settings_cls,
init_settings: PydanticBaseSettingsSource,
env_settings: PydanticBaseSettingsSource,
dotenv_settings: PydanticBaseSettingsSource,
file_secret_settings: PydanticBaseSettingsSource,
):
settings_list = [
init_settings,
env_settings,
dotenv_settings,
file_secret_settings,
ConsulConfigSettingsSource(settings_cls),
]
if os.getenv("APP_ENV", "prod").lower() == "dev":
del settings_list[-1]
return tuple(settings_list)