Skip to content

Typed Command Line Interfaces powered by Click and Pydantic

License

Notifications You must be signed in to change notification settings

edornd/clidantic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

clidantic

Typed Command Line Interfaces powered by Click and Pydantic.

⚠️ Library in early alpha stage

test passing coverage pypi version python versions


Documentation

The first draft of documentation is available here: https://edornd.github.io/clidantic/

Installing

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 .

Quickstart

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()

Contributing

We are not quite there yet!

About

Typed Command Line Interfaces powered by Click and Pydantic

Resources

License

Stars

Watchers

Forks

Packages

No packages published