Coverage for docs_src / options / callback / tutorial004_an_py310.py: 100%

13 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-02-09 12:36 +0000

1from typing import Annotated 1abcdefg

2 

3import typer 1abcdefg

4 

5app = typer.Typer() 1abcdefg

6 

7 

8def name_callback(ctx: typer.Context, param: typer.CallbackParam, value: str): 1abcdefg

9 if ctx.resilient_parsing: 1abcdefg

10 return 1abcdefg

11 print(f"Validating param: {param.name}") 1abcdefg

12 if value != "Camila": 1abcdefg

13 raise typer.BadParameter("Only Camila is allowed") 1abcdefg

14 return value 1abcdefg

15 

16 

17@app.command() 1abcdefg

18def main(name: Annotated[str | None, typer.Option(callback=name_callback)] = None): 1abcdefg

19 print(f"Hello {name}") 1abcdefg

20 

21 

22if __name__ == "__main__": 1abcdefg

23 app() 1abcdefg