Agent skill · software engineering · wshobson

python-configuration

Python configuration management via environment variables and typed settings. Use when externalizing config, setting up pydantic-settings, managing secrets, or implementing environment-specific behavior.

Why this skill is useful

Provides specific patterns and scripts for managing Python configuration with environment variables and pydantic-settings that are not widely known.

What it needs

Requires pydantic-settings installed locally. About 3k tokens when loaded. Last updated 2026-08-05. 38,570 stars on the source repository.

What this skill does

Python Configuration Management Externalize configuration from code using environment variables and typed settings. Well-managed configuration enables the same code to run in any environment without modification. When to Use This Skill Setting up a new project's configuration system Migrating from hardcoded values to environment variables Implementing pydantic-settings for typed configuration Managing secrets and sensitive values Creating environment-specific settings (dev/staging/prod) Validating configuration at application startup Core Concepts 1. Externalized Configuration All environment-specific values (URLs, secrets, feature flags) come from environment variables, not code. 2. Typed Settings Parse and validate configuration into typed objects at startup, not scattered throughout code. 3. Fail Fast Validate all required configuration at application boot. Missing config should crash immediately with a clear message. 4. Sensible Defaults Provide reasonable defaults for local development while requiring explicit values for sensitive settings. Quick Start Fundamental Patterns Pattern 1: Typed Settings with Pydantic Create a central settings class that loads and validates all configuration. Import settings throughout your application: Pattern 2: Fail Fast on Missing Configuration Required settings should crash the application immediately with a clear error. A clear error at startup is better than a cryptic None failure mid-request. Pattern 3: Local Development Defaults Provide sensible defaults for local development while requiring explicit values for secrets. Create a .env file for local development (never commit this): Pattern 4: Namespaced Environment Variables Prefix related variables for clarity and easy debugging. Makes env grep DB useful for debugging. Detailed worked examples and patterns Detailed sections (starting with ## Advanced Patterns) live in references/details.md. Read that file when the navigation summary above is insufficient. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills wshobson/python-configuration

View the source on GitHub

Browse the @skills marketplace