Introduction

Piou is a CLI tool to build beautiful command-line interfaces with type validation.
Quick Example
It is as simple as:
from piou import Cli, Option
cli = Cli(description="A CLI tool")
@cli.command(cmd="foo", help="Run foo command")
def foo_main(
bar: int = Option(help="Bar positional argument (required)"),
baz: str = Option("-b", "--baz", help="Baz keyword argument (required)"),
foo: str | None = Option(None, "--foo", help="Foo keyword argument"),
):
"""
A longer description on what the function is doing.
"""
pass
if __name__ == "__main__":
cli.run()
The output will look like this:
python -m examples.simple -h
python -m examples.simple foo -h