Skip to content

Latest commit

 

History

History
35 lines (23 loc) · 1.43 KB

File metadata and controls

35 lines (23 loc) · 1.43 KB

p2a

pydantic models to argparse CLIs

Build Status codecov License PyPI

Overview

A function is provided to automatically expose fields as command line arguments.

import sys
from pydantic import BaseModel
from p2a import parse_extra_args_model


class MyPluginConfig(BaseModel, validate_assignment=True):
    extra_arg: bool = False
    extra_arg_with_value: str = "default"
    extra_arg_literal: Literal["a", "b", "c"] = "a"


model = MyPluginConfig()
parse_extra_args_model(model, sys.argv)

# > my-cli --extra-arg --extra-arg-with-value "test" --extra-arg-literal b

For integration with existing argparse CLIs, a helper function to create an argparse.SubParser is also provided: p2a.create_model_parser.

Note

This library was generated using copier from the Base Python Project Template repository.