Guide Home Part 1 - FastAPI Foundations Part 2 - Building Applications Part 3 - Pages and HTML Part 4 - Security and Deployment Part 5 - Going Further Capstone Build Plan Markdown Source All Guides

Chapter 31: Advanced Configuration

Once RecipeVault grows, split configuration by concern.

from pydantic import AnyUrl
from pydantic_settings import BaseSettings


class DatabaseSettings(BaseSettings):
    url: str
    echo_sql: bool = False


class SecuritySettings(BaseSettings):
    secret_key: str
    access_token_minutes: int = 15
    cookie_secure: bool = True


class Settings(BaseSettings):
    database: DatabaseSettings
    security: SecuritySettings

Advanced configuration practices:

In .NET, options validation is a named feature. In Python, your settings model is the validation layer.