Coverage for qwail/core/config.py: 94%
18 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-22 13:59 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-22 13:59 +0000
1from pydantic import computed_field
2from pydantic_core import MultiHostUrl
3from pydantic_settings import BaseSettings, SettingsConfigDict
6class Settings(BaseSettings):
7 model_config = SettingsConfigDict(
8 env_file=".env",
9 env_ignore_empty=True,
10 extra="ignore",
11 )
13 PROJECT_NAME: str
14 DEBUG: bool = False
16 DB_SCHEME: str
17 DB_USER: str
18 DB_PASS: str
19 DB_HOST: str
20 DB_PORT: int
21 DB_NAME: str
23 @computed_field(return_type=MultiHostUrl)
24 @property
25 def DATABASE_URL(self):
26 return MultiHostUrl.build(
27 scheme=self.DB_SCHEME,
28 username=self.DB_USER,
29 password=self.DB_PASS,
30 host=self.DB_HOST,
31 port=self.DB_PORT,
32 path=self.DB_NAME,
33 )
36settings = Settings()