Coverage for infrastructure/config/settings.py: 100.00%

30 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-10-13 18:58 +0000

1""" 

2系统配置管理 

3统一管理所有配置项 

4""" 

5 

6import os 

7from typing import Optional 

8 

9from pydantic_settings import BaseSettings 

10 

11 

12class Settings(BaseSettings): 

13 """系统配置类""" 

14 

15 # 应用配置 

16 app_name: str = "量化交易系统" 

17 app_version: str = "1.0.0" 

18 debug: bool = False 

19 

20 # 数据库配置 

21 redis_host: str = "localhost" 

22 redis_port: int = 6379 

23 redis_db: int = 0 

24 redis_password: Optional[str] = None 

25 

26 # API配置 

27 api_v1_str: str = "/api/v1" 

28 secret_key: str = "your-secret-key-here" 

29 jwt_secret_key: str = "your-jwt-secret-key-here" 

30 algorithm: str = "HS256" 

31 access_token_expire_minutes: int = 30 

32 

33 # 交易配置 

34 trading_enabled: bool = False 

35 risk_limit: float = 10000.0 

36 

37 # 日志配置 

38 log_level: str = "INFO" 

39 

40 # 环境配置 

41 environment: str = "development" 

42 

43 # 长桥API配置 

44 longport_app_key: Optional[str] = None 

45 longport_app_secret: Optional[str] = None 

46 longport_access_token: Optional[str] = None 

47 longport_language: str = "en" 

48 longport_enable_overnight: bool = False 

49 

50 # 认证配置 

51 authorization: Optional[str] = None 

52 

53 class Config: 

54 env_file = ".env" 

55 case_sensitive = False 

56 

57 

58# 全局配置实例 

59settings = Settings()