BuyingAgent/app/settings.py

28 lines
697 B
Python
Raw Normal View History

from functools import lru_cache
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
model_config = SettingsConfigDict(env_file=".env", extra="ignore")
db_host: str = "postgres"
db_port: int = 5432
db_name: str = "buyingagent"
db_user: str = "buyingagent"
db_password: str = "change_me"
environment: str = "development"
engine_build: str = "dev"
@property
def database_url(self) -> str:
return (
f"postgresql+psycopg://{self.db_user}:{self.db_password}"
f"@{self.db_host}:{self.db_port}/{self.db_name}"
)
@lru_cache
def get_settings() -> Settings:
return Settings()