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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for pydantic_settings_export-0.3.2.tar.gz
Algorithm Hash digest
SHA256 c9ddcdab8721d979bdaa1ea1ef22302e1632f1a65f9eb3ee7456073f2836f1c3
MD5 4e7b75a1acb485d061a7312af2201416
BLAKE2b-256 92602eb44a6b2a52e7d786d69d2ab69f34b7ea1f1d5f0174275b017bd4a6ac3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydantic_settings_export-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0a067968dd369a9417eef4df1b045a426c0e797517329a5db5cb6f292ec2d474
MD5 a488842f32981b48deb610644ad17047
BLAKE2b-256 3fd00b7504596765c2d15849a3e01e71c31b2ff75f95185760bf7bd48bc61db3

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