MCPcopy Create free account
hub / github.com/dbunt1tled/python-fast-api / Settings

Class Settings

src/core/settings/setting.py:9–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7
8
9class Settings(BaseSettings):
10 model_config = SettingsConfigDict(
11 validate_default=False, env_file=".env", env_file_encoding="utf-8", extra="ignore"
12 )
13 environment: Env = Field(default=Env.PRODUCTION, validation_alias="ENVIRONMENT")
14 sqlalchemy_database_uri: str = Field(default="", validation_alias="SQLALCHEMY_DATABASE_URI")
15 x_api_key: str = Field(default="0077012a-8ae6-4fd8-b701-2a8ae64fd882", validation_alias="X_API_KEY")
16 jwt_public_key: str = Field(default="", validation_alias="JWT_PUBLIC_KEY")
17 jwt_private_key: str = Field(default="", validation_alias="JWT_PRIVATE_KEY")
18 jwt_algorithm: str = Field(default="RS256", validation_alias="JWT_ALGORITHM")
19 jwt_access_token_exp_h: int = Field(default=8, validation_alias="JWT_ACCESS_EXPIRATION_HOURS")
20 jwt_refresh_token_exp_h: int = Field(default=24, validation_alias="JWT_REFRESH_EXPIRATION_HOURS")
21 jwt_confirm_token_exp_h: int = Field(default=24, validation_alias="JWT_CONFIRM_EXPIRATION_HOURS")
22 smtp_server: str = Field(default="", validation_alias="SMTP_SERVER")
23 smtp_port: int = Field(default=0, validation_alias="SMTP_PORT")
24 app_password: str = Field(default="", validation_alias="APP_PASSWORD")
25 from_email: str = Field(default="", validation_alias="FROM_EMAIL")
26 app_url: str = Field(default="", validation_alias="APP_URL")
27
28 app_name: str = Field(default="App", validation_alias="APP_NAME")
29 service_name: str = Field(default="api", validation_alias="SERVICE_NAME")
30 loki_url: str = Field(default="", validation_alias="LOKI_URL")
31 loki_enabled: bool = Field(default=False, validation_alias="LOKI_ENABLED")
32 log_request: bool = Field(default=False, validation_alias="LOG_REQUEST")
33
34 rabbitmq_url: str = Field(default="amqp://guest:guest@localhost/", validation_alias="RABBITMQ_URL")
35
36 cors_allow_origins: list[str] = Field(default=["*"], validation_alias="CORS_ALLOW_ORIGINS")
37 cors_allow_credentials: bool = Field(default=True, validation_alias="CORS_ALLOW_CREDENTIALS")
38 cors_allow_methods: list[str] = Field(default=["*"], validation_alias="CORS_ALLOW_METHODS")
39 cors_allow_headers: list[str] = Field(default=["*"], validation_alias="CORS_ALLOW_HEADERS")
40 cors_expose_headers: list[str] = Field(default=["*"], validation_alias="CORS_EXPOSE_HEADERS")
41
42 slowapi_limit_enabled: bool = Field(default=True, validation_alias="REQUEST_LIMITER_ENABLED")
43 slowapi_default_limits: list[str] = Field(default=["30/minute"], validation_alias="REQUEST_LIMITER_DEFAULT_LIMITS")
44
45
46app_config = Settings() # type: ignore

Callers 1

setting.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected