INNER CODE UNIT · Python
build_parser
g-battaglia/kerykeion · cli/kerykeion_cli/app.py:34
def build_parser() -> argparse.ArgumentParser:
"""The root parser with every command mounted: charts, analyses, techniques and events, subjects and setup."""
from kerykeion_cli.commands import analysis, call, charts, info, series, sky, status, subject, technique
root = argparse.ArgumentParser(prog="kerykeion", description=DESCRIPTION)
root.add_argument("-V", "--version", action="version", version=__version__, help="Print the kerykeion-cli version and exit.")
root.add_argument("--traceback", action="store_true", help="Show a full traceback on error (default: a one-line message).")
root.add_argument("--warnings-as-errors", action="store_true", help="Exit 9 when any ephemeris warning or house fallback occurs.")
root.set_defaults(menu=root)
subparsers = root.add_subparsers(metavar="<command>")
charts_and_analyses: list[tuple[str, Callable[..., Any]]] = [
("natal", charts.natal),
("now", charts.now),
("synastry", charts.synastry),
("transit", charts.transit), # the single-moment dual wheel
("composite", charts.composite),
("return", charts.return_chart), # `return` is a keyword, hence the callable's name
("progression", charts.progression),