Spaces:
Paused
Paused
File size: 1,113 Bytes
f006f31 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
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)
|