Coverage for docs_src/parameter_types/custom_types/tutorial001.py: 100%
13 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-19 20:29 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-19 20:29 +0000
1import typer 1abcdefghi
4class CustomClass: 1abcdefghi
5 def __init__(self, value: str): 1abcdefghi
6 self.value = value 1abcdefghi
8 def __str__(self): 1abcdefghi
9 return f"<CustomClass: value={self.value}>" 1abcdefghi
12def parse_custom_class(value: str): 1abcdefghi
13 return CustomClass(value * 2) 1abcdefghi
16app = typer.Typer() 1abcdefghi
19@app.command() 1abcdefghi
20def main( 1abcdefghi
21 custom_arg: CustomClass = typer.Argument(parser=parse_custom_class),
22 custom_opt: CustomClass = typer.Option("Foo", parser=parse_custom_class),
23):
24 print(f"custom_arg is {custom_arg}") 1abcdefghi
25 print(f"--custom-opt is {custom_opt}") 1abcdefghi
28if __name__ == "__main__": 1abcdefghi
29 app() 1abcdefghi