pydantic: use field-description for help
Hello. First off, thanks again for this awesome library.
When using pydantic it would be great to be able to use the field-description to provide the help-message.
currently this is required:
import click
import typed_settings
from pydantic import BaseModel, Field
from typed_settings.constants import CLICK_METADATA_KEY, METADATA_KEY
class Settings(BaseModel):
option: bool = Field(
default=False,
metadata={
METADATA_KEY: {
CLICK_METADATA_KEY: {
"help": "help text",
},
},
},
)
@click.command()
@typed_settings.click_options(Settings, "myapp")
def cli(settings: Settings) -> None:
print(settings)
if __name__ == "__main__":
cli()
I'm proposing this:
import click
import typed_settings
from pydantic import BaseModel, Field
class Settings(BaseModel):
option: bool = Field(
default=False,
description="help text",
)
@click.command()
@typed_settings.click_options(Settings, "myapp")
def cli(settings: Settings) -> None:
print(settings)
if __name__ == "__main__":
cli()