Coverage for docs_src / options / version / tutorial003_py310.py: 100%
14 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-02-09 12:36 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-02-09 12:36 +0000
1import typer 1abcdefg
3__version__ = "0.1.0" 1abcdefg
5app = typer.Typer() 1abcdefg
8def version_callback(value: bool): 1abcdefg
9 if value: 1abcdefg
10 print(f"Awesome CLI Version: {__version__}") 1abcdefg
11 raise typer.Exit() 1abcdefg
14def name_callback(name: str): 1abcdefg
15 if name != "Camila": 1abcdefg
16 raise typer.BadParameter("Only Camila is allowed") 1abcdefg
17 return name 1abcdefg
20@app.command() 1abcdefg
21def main( 1abcdefg
22 name: str = typer.Option(..., callback=name_callback),
23 version: bool | None = typer.Option(
24 None, "--version", callback=version_callback, is_eager=True
25 ),
26):
27 print(f"Hello {name}") 1abcdefg
30if __name__ == "__main__": 1abcdefg
31 app() 1abcdefg