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