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

1from typing import Optional 1abcdefgh

2 

3import typer 1abcdefgh

4 

5__version__ = "0.1.0" 1abcdefgh

6 

7app = typer.Typer() 1abcdefgh

8 

9 

10def version_callback(value: bool): 1abcdefgh

11 if value: 1abcdefgh

12 print(f"Awesome CLI Version: {__version__}") 1abcdefgh

13 raise typer.Exit() 1abcdefgh

14 

15 

16def name_callback(name: str): 1abcdefgh

17 if name != "Camila": 1abcdefgh

18 raise typer.BadParameter("Only Camila is allowed") 1abcdefgh

19 return name 1abcdefgh

20 

21 

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

30 

31 

32if __name__ == "__main__": 1abcdefgh

33 app() 1abcdefgh