Coverage for src/app/core/settings.py: 100%

8 statements  

« prev     ^ index     » next       coverage.py v7.14.3, created at 2026-06-24 08:34 +0000

1from pydantic_settings import BaseSettings, SettingsConfigDict 

2 

3 

4class Settings(BaseSettings): 

5 """ 

6 Central configuration for the application. 

7 Values are loaded from environment variables first, 

8 then fallback defaults. 

9 """ 

10 

11 model_config = SettingsConfigDict( 

12 env_file=".env", 

13 env_file_encoding="utf-8", 

14 case_sensitive=False, 

15 extra="ignore", 

16 ) 

17 

18 # App metadata 

19 service_name: str = "app" 

20 

21 # Database 

22 ### TODO: In production, this should be set to a more robust database like PostgreSQL or MySQL. 

23 database_url: str = "sqlite:///./test.db" 

24 

25 # Runtime 

26 environment: str = "development" # development | staging | production 

27 

28 # API 

29 api_prefix: str = "" 

30 

31 

32settings = Settings()