Fix settings

This commit is contained in:
Jacob Windsor 2025-02-19 13:12:05 +01:00
parent 50eabff6cd
commit 541d79c1e1
2 changed files with 12 additions and 11 deletions

View File

@ -1,25 +1,25 @@
import os
from functools import lru_cache from functools import lru_cache
from pydantic import Field from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict from pydantic_settings import BaseSettings
from dotenv import load_dotenv
import os
load_dotenv()
class _BaseConfig(BaseSettings): class _BaseConfig(BaseSettings):
model_config = SettingsConfigDict( pass
env_file=".env", extra="ignore", nested_model_default_partial_update=True
)
class _AppSettings(_BaseConfig): class _AppSettings(_BaseConfig):
environment: str = Field(default=os.getenv("ENVIRONMENT")) environment: str = Field(default=os.getenv("ENVIRONMENT", "development"))
class _DbSettings(_BaseConfig): class _DbSettings(_BaseConfig):
username: str = Field(default=os.getenv("PG_USER"), alias="PG_USER") username: str = Field(default=os.getenv("PG_USER"))
password: str = Field(default=os.getenv("PG_PASSWORD"), alias="PG_PASSWORD") password: str = Field(default=os.getenv("PG_PASSWORD"))
db_name: str = Field(default=os.getenv("PG_DB_NAME"), alias="PG_DB_NAME") db_name: str = Field(default=os.getenv("PG_DB_NAME"))
class _Settings(_BaseConfig): class _Settings(_BaseConfig):

View File

@ -3,4 +3,5 @@ uvicorn
sqlmodel sqlmodel
pydantic pydantic
sqlalchemy sqlalchemy
pydantic-settings pydantic-settings
python-dotenv