Coverage for docs_src/options/version/tutorial003_an.py: 100%
14 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-03-10 00:15 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-03-10 00:15 +0000
1from typing import Optional 1iabcdefgh
3import typer 1iabcdefgh
4from typing_extensions import Annotated 1iabcdefgh
6__version__ = "0.1.0" 1iabcdefgh
9def version_callback(value: bool): 1iabcdefgh
10 if value: 1iabcdefgh
11 print(f"Awesome CLI Version: {__version__}") 1iabcdefgh
12 raise typer.Exit() 1iabcdefgh
15def name_callback(name: str): 1iabcdefgh
16 if name != "Camila": 1iabcdefgh
17 raise typer.BadParameter("Only Camila is allowed") 1iabcdefgh
18 return name 1iabcdefgh
21def main( 1abcdefgh
22 name: Annotated[str, typer.Option(callback=name_callback)],
23 version: Annotated[
24 Optional[bool],
25 typer.Option("--version", callback=version_callback, is_eager=True),
26 ] = None,
27):
28 print(f"Hello {name}") 1iabcdefgh
31if __name__ == "__main__": 1iabcdefgh
32 typer.run(main) 1iabcdefgh