Ensure configuration values use appropriate types, avoid unnecessary Optional annotations, and maintain consistency in data formats and units. Key principles:
Ensure configuration values use appropriate types, avoid unnecessary Optional annotations, and maintain consistency in data formats and units.
Key principles:
Example of proper configuration typing:
class MyConfig(BaseSettings):
# Good: explicit boolean with default
SSL_VERIFY: bool = Field(default=True)
# Bad: unnecessary Optional with default
# SSL_VERIFY: Optional[bool] = Field(default=True)
# Good: consistent time unit choice
ACCESS_TOKEN_EXPIRE_MINUTES: int = Field(default=30)
# Good: unix timestamp for cache keys
def get_cache_timestamp(self) -> int:
return int(datetime.now().timestamp())
This approach reduces configuration complexity, improves type safety, and ensures consistent behavior across different deployment environments.
Enter the URL of a public GitHub repository