Typed Command Line Interfaces powered by Click and Pydantic.
⚠️ Library in early alpha stage
The first draft of documentation is available here: https://edornd.github.io/clidantic/
The safest path is to install the latest release using pip:
pip install clidantic
Optionally, you can install the latest updates through GitHub:
pip install git+https://github.com/edornd/clidantic.git
or, if that doesn't work, with multiple steps (this last step might require poetry):
git clone https://github.com/edornd/clidantic.git
cd clidantic
pip install .
Here's a quick example to get you started:
from typing import Optional
from pydantic import BaseModel
from clidantic import Parser
class Arguments(BaseModel):
field_a: str
field_b: int
field_c: Optional[bool] = False
cli = Parser()
@cli.command()
def main(args: Arguments):
print(args)
if __name__ == "__main__":
cli()
We are not quite there yet!