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

1from pydantic import computed_field 

2from pydantic_core import MultiHostUrl 

3from pydantic_settings import BaseSettings, SettingsConfigDict 

4 

5 

6class Settings(BaseSettings): 

7 model_config = SettingsConfigDict( 

8 env_file=".env", 

9 env_ignore_empty=True, 

10 extra="ignore", 

11 ) 

12 

13 PROJECT_NAME: str 

14 DEBUG: bool = False 

15 

16 DB_SCHEME: str 

17 DB_USER: str 

18 DB_PASS: str 

19 DB_HOST: str 

20 DB_PORT: int 

21 DB_NAME: str 

22 

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 ) 

34 

35 

36settings = Settings()