Skip to main content

Export your Pydantic settings to a Markdown and .env.example files!

Project description

pydantic-settings-export

PyPI version Pepy Total Downloads

Export your Pydantic settings to Markdown and .env.example files!

This package provides a way to use pydantic (and pydantic-settings) models to generate a Markdown file with the settings and their descriptions, and a .env.example file with the settings and their default values.

Installation

pip install pydantic-settings-export
# or
pipx install pydantic-settings-export  # for a global installation and using as a CLI
# or
uv tool install pydantic-settings-export

Usage

You can see the usage examples of this package in the ./docs/Configuration.md and .env.example.

As code

from pydantic import BaseSettings
from pydantic_settings_export import Exporter, MarkdownSettings, Settings as PSESettings


class Settings(BaseSettings):
  my_setting: str = "default value"
  another_setting: int = 42


# Export the settings to a Markdown file `docs/Configuration.md` and `.env.example` file
Exporter(
  PSESettings(
    markdown=MarkdownSettings(
      save_dirs=["docs"],
    ),
  ),
).run_all(Settings)

As CLI

pydantic-settings-export --help

Configuration

You can add a pydantic_settings_export section to your pyproject.toml file to configure the exporter.

[tool.pydantic_settings_export]
project_dir = "."
default_settings = [
  "pydantic_settings_export.settings:Settings",
]
dotenv = { "name" = ".env.example" }

[tool.pydantic_settings_export.markdown]
name = "Configuration.md"
save_dirs = [
  "docs",
  "wiki",
]

Todo

  • Add tests
  • Add more configuration options
  • Add more output formats
    • TOML (and pyproject.toml)
    • JSON
    • YAML

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydantic_settings_export-0.2.3.tar.gz (28.4 kB view details)

Uploaded Source

Built Distribution

pydantic_settings_export-0.2.3-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file pydantic_settings_export-0.2.3.tar.gz.

File metadata

File hashes

Hashes for pydantic_settings_export-0.2.3.tar.gz
Algorithm Hash digest
SHA256 f93346001a6244bc3775db1ee38e66dec8423eb19be0610d9014c5ab7c1d5a28
MD5 6faa6d5513051c7eaf5c06a1a8b34080
BLAKE2b-256 c7d32cf7e8e642dabc261fd6a4470e88a06c35657b4dc3d4b771e96780dc6304

See more details on using hashes here.

Provenance

File details

Details for the file pydantic_settings_export-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for pydantic_settings_export-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8f04ad7e7e6291eb9f6ccbf3f8b1e74a7d7d24c1ee3cf09db56526640bc8ea0c
MD5 241bd7e13a43b63ca7d8449a87b3e1a0
BLAKE2b-256 583e7b883f834baf644fa28c5728a3530a7945a292ce85984d1a0c7ce1eefc07

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page