What problem does it solve?
This Skill unit simplifies Python configuration management by providing a structured approach to environment variables and typed settings, ensuring a consistent and secure setup across different environments.
Core Features & Use Cases
- Environment Variables: Centralize environment-specific settings in one place, avoiding hardcoded values.
- Typed Settings: Use Pydantic to enforce type safety and validate configurations at startup.
- Fail Fast: Quickly identify missing configurations that could otherwise cause runtime errors.
- Sensible Defaults: Provide default values for local development, while requiring explicit values for production environments.
- Namespaced Variables: Organize environment variables for better readability and debugging.
- Use Cases: Ideal for new project setups, migration from hardcoded values, implementing Pydantic settings, managing secrets, and creating environment-specific configurations.
Quick Start
Initialize your application with the following settings file:
from pydantic_settings import BaseSettings
from pydantic import Field
class Settings(BaseSettings):
database_url: str = Field(alias="DATABASE_URL")
api_key: str = Field(alias="API_KEY")
debug: bool = Field(default=False, alias="DEBUG")
settings = Settings() # Loads from environment