Spaces:
Paused
Paused
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" | |
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) | |