Milo providesHelpRenderer, a drop-in argparse.HelpFormattersubclass that renders help output through Kida templates for styled terminal output.
Usage
import argparse
from milo import HelpRenderer
parser = argparse.ArgumentParser(
prog="myapp",
description="My CLI tool",
formatter_class=HelpRenderer,
)
parser.add_argument("--verbose", help="Enable verbose output")
parser.add_argument("command", help="Command to run")
parser.parse_args()
When the user runs myapp --help, the output is rendered through the help.kidaKida template instead of argparse's default plain-text formatter.
Customization
Override the built-inhelp.kidatemplate by placing your own in your template directory. The template receives the full argparse structure as context.
Template context variables
Thehelp.kidatemplate receives:
| Variable | Type | Description |
|---|---|---|
prog |
str |
Program name |
description |
str |
Parser description |
usage |
str |
Usage string |
positionals |
list |
Positional argument specs |
optionals |
list |
Optional argument specs |
subcommands |
list |
Subparser commands |
Fallback
Note
If template rendering fails for any reason,HelpRendererfalls back to the default argparse formatting silently. Your CLI will always show help — it just won't be styled.