Skip to content

Integration Guide

Jag_k edited this page Feb 18, 2025 · 1 revision

Integration Guide

This guide explains how to integrate pydantic-settings-export with various tools and workflows.

pre-commit Hook

The most common integration is using pydantic-settings-export as a pre-commit hook:

# .pre-commit-config.yaml
repos:
  - repo: local
    hooks:
      - id: pydantic-settings-export
        name: pydantic-settings-export
        entry: pydantic-settings-export
        language: python
        files: \.py$
        pass_filenames: false
        additional_dependencies:
          - pydantic-settings-export[email,regions]

This will automatically update your documentation when settings files change.

GitHub Actions

Automatically update documentation in CI/CD:

name: Update Settings Documentation
on:
  push:
    paths: ['**/settings.py']
jobs:
  docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
      - run: pip install pydantic-settings-export
      - run: pydantic-settings-export --generator markdown
      - uses: stefanzweifel/git-auto-commit-action@v5
        with:
          commit_message: "docs: Update settings documentation"

For available CLI options, see CLI Documentation.

Build Systems

Poetry

[tool.poetry.dependencies]
pydantic-settings-export = "^1.0.0"
# OR
[tool.poetry.group.dev.dependencies]
pydantic-settings-export = {version = "^1.0.0", extras = ["email", "regions"]}

Pip/Requirements

# requirements.txt
pydantic-settings-export>=1.0.0

# requirements-dev.txt
pydantic-settings-export[email,regions]>=1.0.0

IDE Integration

VS Code

Add tasks to .vscode/tasks.json:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Update Settings Documentation",
      "type": "shell",
      "command": "pydantic-settings-export",
      "args": ["--generator", "markdown"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

PyCharm

Add an External Tool:

  1. Go to Settings → Tools → External Tools
  2. Add New Tool:
    • Name: Update Settings Docs
    • Program: pydantic-settings-export
    • Arguments: --generator markdown
    • Working Directory: $ProjectFileDir$

Makefile Integration

.PHONY: docs check-docs

docs:
	pydantic-settings-export --generator markdown --generator dotenv

check-docs: docs
	git diff --exit-code docs/ .env.example

Docker Integration

# Development stage
FROM python:3.11-slim as dev
RUN pip install pydantic-settings-export[email,regions]
COPY . /app
WORKDIR /app
CMD ["pydantic-settings-export"]

# Production stage
FROM python:3.11-slim
COPY --from=dev /app/docs /app/docs
COPY --from=dev /app/.env.example /app/.env.example

Related Topics