Coverage for docs_src / options / version / tutorial002_py39.py: 100%
15 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
1from typing import Optional 1abcdefgh
3import typer 1abcdefgh
5__version__ = "0.1.0" 1abcdefgh
7app = typer.Typer() 1abcdefgh
10def version_callback(value: bool): 1abcdefgh
11 if value: 1abcdefgh
12 print(f"Awesome CLI Version: {__version__}") 1abcdefgh
13 raise typer.Exit() 1abcdefgh
16def name_callback(name: str): 1abcdefgh
17 if name != "Camila": 1abcdefgh
18 raise typer.BadParameter("Only Camila is allowed") 1abcdefgh
19 return name 1abcdefgh
22@app.command() 1abcdefgh
23def main( 1abcdefgh
24 name: str = typer.Option(..., callback=name_callback),
25 version: Optional[bool] = typer.Option(
26 None, "--version", callback=version_callback
27 ),
28):
29 print(f"Hello {name}") 1abcdefgh
32if __name__ == "__main__": 1abcdefgh
33 app() 1abcdefgh