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.3.1.tar.gz (28.9 kB view details)

Uploaded Source

Built Distribution

pydantic_settings_export-0.3.1-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for pydantic_settings_export-0.3.1.tar.gz
Algorithm Hash digest
SHA256 fa1cac405b0211723de9da43f53fbff57dea7806af44de2c9b716ef0d6812af7
MD5 1aa396a8f3d16be6bfe8470e27050986
BLAKE2b-256 8f45431c6311ca591c26c7fff33e838930772a36a58edf24afb4f1420eea8362

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydantic_settings_export-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6282da7cc2a3666cb3ec6130745b4a2417d58e2084cf0fc2223c4c9d6d3dbbeb
MD5 5614fdff89d7f57ece0eb0d91561093d
BLAKE2b-256 e0222ed83e2b6c3d262fa3dd2206febbc80ce07f47c46bf0b7b24478a40daac4

See more details on using hashes here.

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