typer.params

  1from typing import TYPE_CHECKING, Any, Callable, List, Optional, Type, Union, overload
  2
  3import click
  4
  5from .models import ArgumentInfo, OptionInfo
  6
  7if TYPE_CHECKING:  # pragma: no cover
  8    import click.shell_completion
  9
 10
 11# Overload for Option created with custom type 'parser'
 12@overload
 13def Option(
 14    # Parameter
 15    default: Optional[Any] = ...,
 16    *param_decls: str,
 17    callback: Optional[Callable[..., Any]] = None,
 18    metavar: Optional[str] = None,
 19    expose_value: bool = True,
 20    is_eager: bool = False,
 21    envvar: Optional[Union[str, List[str]]] = None,
 22    shell_complete: Optional[
 23        Callable[
 24            [click.Context, click.Parameter, str],
 25            Union[List["click.shell_completion.CompletionItem"], List[str]],
 26        ]
 27    ] = None,
 28    autocompletion: Optional[Callable[..., Any]] = None,
 29    default_factory: Optional[Callable[[], Any]] = None,
 30    # Custom type
 31    parser: Optional[Callable[[str], Any]] = None,
 32    # Option
 33    show_default: Union[bool, str] = True,
 34    prompt: Union[bool, str] = False,
 35    confirmation_prompt: bool = False,
 36    prompt_required: bool = True,
 37    hide_input: bool = False,
 38    is_flag: Optional[bool] = None,
 39    flag_value: Optional[Any] = None,
 40    count: bool = False,
 41    allow_from_autoenv: bool = True,
 42    help: Optional[str] = None,
 43    hidden: bool = False,
 44    show_choices: bool = True,
 45    show_envvar: bool = True,
 46    # Choice
 47    case_sensitive: bool = True,
 48    # Numbers
 49    min: Optional[Union[int, float]] = None,
 50    max: Optional[Union[int, float]] = None,
 51    clamp: bool = False,
 52    # DateTime
 53    formats: Optional[List[str]] = None,
 54    # File
 55    mode: Optional[str] = None,
 56    encoding: Optional[str] = None,
 57    errors: Optional[str] = "strict",
 58    lazy: Optional[bool] = None,
 59    atomic: bool = False,
 60    # Path
 61    exists: bool = False,
 62    file_okay: bool = True,
 63    dir_okay: bool = True,
 64    writable: bool = False,
 65    readable: bool = True,
 66    resolve_path: bool = False,
 67    allow_dash: bool = False,
 68    path_type: Union[None, Type[str], Type[bytes]] = None,
 69    # Rich settings
 70    rich_help_panel: Union[str, None] = None,
 71) -> Any:
 72    ...
 73
 74
 75# Overload for Option created with custom type 'click_type'
 76@overload
 77def Option(
 78    # Parameter
 79    default: Optional[Any] = ...,
 80    *param_decls: str,
 81    callback: Optional[Callable[..., Any]] = None,
 82    metavar: Optional[str] = None,
 83    expose_value: bool = True,
 84    is_eager: bool = False,
 85    envvar: Optional[Union[str, List[str]]] = None,
 86    shell_complete: Optional[
 87        Callable[
 88            [click.Context, click.Parameter, str],
 89            Union[List["click.shell_completion.CompletionItem"], List[str]],
 90        ]
 91    ] = None,
 92    autocompletion: Optional[Callable[..., Any]] = None,
 93    default_factory: Optional[Callable[[], Any]] = None,
 94    # Custom type
 95    click_type: Optional[click.ParamType] = None,
 96    # Option
 97    show_default: Union[bool, str] = True,
 98    prompt: Union[bool, str] = False,
 99    confirmation_prompt: bool = False,
100    prompt_required: bool = True,
101    hide_input: bool = False,
102    is_flag: Optional[bool] = None,
103    flag_value: Optional[Any] = None,
104    count: bool = False,
105    allow_from_autoenv: bool = True,
106    help: Optional[str] = None,
107    hidden: bool = False,
108    show_choices: bool = True,
109    show_envvar: bool = True,
110    # Choice
111    case_sensitive: bool = True,
112    # Numbers
113    min: Optional[Union[int, float]] = None,
114    max: Optional[Union[int, float]] = None,
115    clamp: bool = False,
116    # DateTime
117    formats: Optional[List[str]] = None,
118    # File
119    mode: Optional[str] = None,
120    encoding: Optional[str] = None,
121    errors: Optional[str] = "strict",
122    lazy: Optional[bool] = None,
123    atomic: bool = False,
124    # Path
125    exists: bool = False,
126    file_okay: bool = True,
127    dir_okay: bool = True,
128    writable: bool = False,
129    readable: bool = True,
130    resolve_path: bool = False,
131    allow_dash: bool = False,
132    path_type: Union[None, Type[str], Type[bytes]] = None,
133    # Rich settings
134    rich_help_panel: Union[str, None] = None,
135) -> Any:
136    ...
137
138
139def Option(
140    # Parameter
141    default: Optional[Any] = ...,
142    *param_decls: str,
143    callback: Optional[Callable[..., Any]] = None,
144    metavar: Optional[str] = None,
145    expose_value: bool = True,
146    is_eager: bool = False,
147    envvar: Optional[Union[str, List[str]]] = None,
148    shell_complete: Optional[
149        Callable[
150            [click.Context, click.Parameter, str],
151            Union[List["click.shell_completion.CompletionItem"], List[str]],
152        ]
153    ] = None,
154    autocompletion: Optional[Callable[..., Any]] = None,
155    default_factory: Optional[Callable[[], Any]] = None,
156    # Custom type
157    parser: Optional[Callable[[str], Any]] = None,
158    click_type: Optional[click.ParamType] = None,
159    # Option
160    show_default: Union[bool, str] = True,
161    prompt: Union[bool, str] = False,
162    confirmation_prompt: bool = False,
163    prompt_required: bool = True,
164    hide_input: bool = False,
165    is_flag: Optional[bool] = None,
166    flag_value: Optional[Any] = None,
167    count: bool = False,
168    allow_from_autoenv: bool = True,
169    help: Optional[str] = None,
170    hidden: bool = False,
171    show_choices: bool = True,
172    show_envvar: bool = True,
173    # Choice
174    case_sensitive: bool = True,
175    # Numbers
176    min: Optional[Union[int, float]] = None,
177    max: Optional[Union[int, float]] = None,
178    clamp: bool = False,
179    # DateTime
180    formats: Optional[List[str]] = None,
181    # File
182    mode: Optional[str] = None,
183    encoding: Optional[str] = None,
184    errors: Optional[str] = "strict",
185    lazy: Optional[bool] = None,
186    atomic: bool = False,
187    # Path
188    exists: bool = False,
189    file_okay: bool = True,
190    dir_okay: bool = True,
191    writable: bool = False,
192    readable: bool = True,
193    resolve_path: bool = False,
194    allow_dash: bool = False,
195    path_type: Union[None, Type[str], Type[bytes]] = None,
196    # Rich settings
197    rich_help_panel: Union[str, None] = None,
198) -> Any:
199    return OptionInfo(
200        # Parameter
201        default=default,
202        param_decls=param_decls,
203        callback=callback,
204        metavar=metavar,
205        expose_value=expose_value,
206        is_eager=is_eager,
207        envvar=envvar,
208        shell_complete=shell_complete,
209        autocompletion=autocompletion,
210        default_factory=default_factory,
211        # Custom type
212        parser=parser,
213        click_type=click_type,
214        # Option
215        show_default=show_default,
216        prompt=prompt,
217        confirmation_prompt=confirmation_prompt,
218        prompt_required=prompt_required,
219        hide_input=hide_input,
220        is_flag=is_flag,
221        flag_value=flag_value,
222        count=count,
223        allow_from_autoenv=allow_from_autoenv,
224        help=help,
225        hidden=hidden,
226        show_choices=show_choices,
227        show_envvar=show_envvar,
228        # Choice
229        case_sensitive=case_sensitive,
230        # Numbers
231        min=min,
232        max=max,
233        clamp=clamp,
234        # DateTime
235        formats=formats,
236        # File
237        mode=mode,
238        encoding=encoding,
239        errors=errors,
240        lazy=lazy,
241        atomic=atomic,
242        # Path
243        exists=exists,
244        file_okay=file_okay,
245        dir_okay=dir_okay,
246        writable=writable,
247        readable=readable,
248        resolve_path=resolve_path,
249        allow_dash=allow_dash,
250        path_type=path_type,
251        # Rich settings
252        rich_help_panel=rich_help_panel,
253    )
254
255
256# Overload for Argument created with custom type 'parser'
257@overload
258def Argument(
259    # Parameter
260    default: Optional[Any] = ...,
261    *,
262    callback: Optional[Callable[..., Any]] = None,
263    metavar: Optional[str] = None,
264    expose_value: bool = True,
265    is_eager: bool = False,
266    envvar: Optional[Union[str, List[str]]] = None,
267    shell_complete: Optional[
268        Callable[
269            [click.Context, click.Parameter, str],
270            Union[List["click.shell_completion.CompletionItem"], List[str]],
271        ]
272    ] = None,
273    autocompletion: Optional[Callable[..., Any]] = None,
274    default_factory: Optional[Callable[[], Any]] = None,
275    # Custom type
276    parser: Optional[Callable[[str], Any]] = None,
277    # TyperArgument
278    show_default: Union[bool, str] = True,
279    show_choices: bool = True,
280    show_envvar: bool = True,
281    help: Optional[str] = None,
282    hidden: bool = False,
283    # Choice
284    case_sensitive: bool = True,
285    # Numbers
286    min: Optional[Union[int, float]] = None,
287    max: Optional[Union[int, float]] = None,
288    clamp: bool = False,
289    # DateTime
290    formats: Optional[List[str]] = None,
291    # File
292    mode: Optional[str] = None,
293    encoding: Optional[str] = None,
294    errors: Optional[str] = "strict",
295    lazy: Optional[bool] = None,
296    atomic: bool = False,
297    # Path
298    exists: bool = False,
299    file_okay: bool = True,
300    dir_okay: bool = True,
301    writable: bool = False,
302    readable: bool = True,
303    resolve_path: bool = False,
304    allow_dash: bool = False,
305    path_type: Union[None, Type[str], Type[bytes]] = None,
306    # Rich settings
307    rich_help_panel: Union[str, None] = None,
308) -> Any:
309    ...
310
311
312# Overload for Argument created with custom type 'click_type'
313@overload
314def Argument(
315    # Parameter
316    default: Optional[Any] = ...,
317    *,
318    callback: Optional[Callable[..., Any]] = None,
319    metavar: Optional[str] = None,
320    expose_value: bool = True,
321    is_eager: bool = False,
322    envvar: Optional[Union[str, List[str]]] = None,
323    shell_complete: Optional[
324        Callable[
325            [click.Context, click.Parameter, str],
326            Union[List["click.shell_completion.CompletionItem"], List[str]],
327        ]
328    ] = None,
329    autocompletion: Optional[Callable[..., Any]] = None,
330    default_factory: Optional[Callable[[], Any]] = None,
331    # Custom type
332    click_type: Optional[click.ParamType] = None,
333    # TyperArgument
334    show_default: Union[bool, str] = True,
335    show_choices: bool = True,
336    show_envvar: bool = True,
337    help: Optional[str] = None,
338    hidden: bool = False,
339    # Choice
340    case_sensitive: bool = True,
341    # Numbers
342    min: Optional[Union[int, float]] = None,
343    max: Optional[Union[int, float]] = None,
344    clamp: bool = False,
345    # DateTime
346    formats: Optional[List[str]] = None,
347    # File
348    mode: Optional[str] = None,
349    encoding: Optional[str] = None,
350    errors: Optional[str] = "strict",
351    lazy: Optional[bool] = None,
352    atomic: bool = False,
353    # Path
354    exists: bool = False,
355    file_okay: bool = True,
356    dir_okay: bool = True,
357    writable: bool = False,
358    readable: bool = True,
359    resolve_path: bool = False,
360    allow_dash: bool = False,
361    path_type: Union[None, Type[str], Type[bytes]] = None,
362    # Rich settings
363    rich_help_panel: Union[str, None] = None,
364) -> Any:
365    ...
366
367
368def Argument(
369    # Parameter
370    default: Optional[Any] = ...,
371    *,
372    callback: Optional[Callable[..., Any]] = None,
373    metavar: Optional[str] = None,
374    expose_value: bool = True,
375    is_eager: bool = False,
376    envvar: Optional[Union[str, List[str]]] = None,
377    shell_complete: Optional[
378        Callable[
379            [click.Context, click.Parameter, str],
380            Union[List["click.shell_completion.CompletionItem"], List[str]],
381        ]
382    ] = None,
383    autocompletion: Optional[Callable[..., Any]] = None,
384    default_factory: Optional[Callable[[], Any]] = None,
385    # Custom type
386    parser: Optional[Callable[[str], Any]] = None,
387    click_type: Optional[click.ParamType] = None,
388    # TyperArgument
389    show_default: Union[bool, str] = True,
390    show_choices: bool = True,
391    show_envvar: bool = True,
392    help: Optional[str] = None,
393    hidden: bool = False,
394    # Choice
395    case_sensitive: bool = True,
396    # Numbers
397    min: Optional[Union[int, float]] = None,
398    max: Optional[Union[int, float]] = None,
399    clamp: bool = False,
400    # DateTime
401    formats: Optional[List[str]] = None,
402    # File
403    mode: Optional[str] = None,
404    encoding: Optional[str] = None,
405    errors: Optional[str] = "strict",
406    lazy: Optional[bool] = None,
407    atomic: bool = False,
408    # Path
409    exists: bool = False,
410    file_okay: bool = True,
411    dir_okay: bool = True,
412    writable: bool = False,
413    readable: bool = True,
414    resolve_path: bool = False,
415    allow_dash: bool = False,
416    path_type: Union[None, Type[str], Type[bytes]] = None,
417    # Rich settings
418    rich_help_panel: Union[str, None] = None,
419) -> Any:
420    return ArgumentInfo(
421        # Parameter
422        default=default,
423        # Arguments can only have one param declaration
424        # it will be generated from the param name
425        param_decls=None,
426        callback=callback,
427        metavar=metavar,
428        expose_value=expose_value,
429        is_eager=is_eager,
430        envvar=envvar,
431        shell_complete=shell_complete,
432        autocompletion=autocompletion,
433        default_factory=default_factory,
434        # Custom type
435        parser=parser,
436        click_type=click_type,
437        # TyperArgument
438        show_default=show_default,
439        show_choices=show_choices,
440        show_envvar=show_envvar,
441        help=help,
442        hidden=hidden,
443        # Choice
444        case_sensitive=case_sensitive,
445        # Numbers
446        min=min,
447        max=max,
448        clamp=clamp,
449        # DateTime
450        formats=formats,
451        # File
452        mode=mode,
453        encoding=encoding,
454        errors=errors,
455        lazy=lazy,
456        atomic=atomic,
457        # Path
458        exists=exists,
459        file_okay=file_okay,
460        dir_okay=dir_okay,
461        writable=writable,
462        readable=readable,
463        resolve_path=resolve_path,
464        allow_dash=allow_dash,
465        path_type=path_type,
466        # Rich settings
467        rich_help_panel=rich_help_panel,
468    )
def Option( default: Optional[Any] = Ellipsis, *param_decls: str, callback: Optional[Callable[..., Any]] = None, metavar: Optional[str] = None, expose_value: bool = True, is_eager: bool = False, envvar: Union[str, List[str], NoneType] = None, shell_complete: Optional[Callable[[click.core.Context, click.core.Parameter, str], Union[List[click.shell_completion.CompletionItem], List[str]]]] = None, autocompletion: Optional[Callable[..., Any]] = None, default_factory: Optional[Callable[[], Any]] = None, parser: Optional[Callable[[str], Any]] = None, click_type: Optional[click.types.ParamType] = None, show_default: Union[bool, str] = True, prompt: Union[bool, str] = False, confirmation_prompt: bool = False, prompt_required: bool = True, hide_input: bool = False, is_flag: Optional[bool] = None, flag_value: Optional[Any] = None, count: bool = False, allow_from_autoenv: bool = True, help: Optional[str] = None, hidden: bool = False, show_choices: bool = True, show_envvar: bool = True, case_sensitive: bool = True, min: Union[int, float, NoneType] = None, max: Union[int, float, NoneType] = None, clamp: bool = False, formats: Optional[List[str]] = None, mode: Optional[str] = None, encoding: Optional[str] = None, errors: Optional[str] = 'strict', lazy: Optional[bool] = None, atomic: bool = False, exists: bool = False, file_okay: bool = True, dir_okay: bool = True, writable: bool = False, readable: bool = True, resolve_path: bool = False, allow_dash: bool = False, path_type: Union[NoneType, Type[str], Type[bytes]] = None, rich_help_panel: Optional[str] = None) -> Any:
140def Option(
141    # Parameter
142    default: Optional[Any] = ...,
143    *param_decls: str,
144    callback: Optional[Callable[..., Any]] = None,
145    metavar: Optional[str] = None,
146    expose_value: bool = True,
147    is_eager: bool = False,
148    envvar: Optional[Union[str, List[str]]] = None,
149    shell_complete: Optional[
150        Callable[
151            [click.Context, click.Parameter, str],
152            Union[List["click.shell_completion.CompletionItem"], List[str]],
153        ]
154    ] = None,
155    autocompletion: Optional[Callable[..., Any]] = None,
156    default_factory: Optional[Callable[[], Any]] = None,
157    # Custom type
158    parser: Optional[Callable[[str], Any]] = None,
159    click_type: Optional[click.ParamType] = None,
160    # Option
161    show_default: Union[bool, str] = True,
162    prompt: Union[bool, str] = False,
163    confirmation_prompt: bool = False,
164    prompt_required: bool = True,
165    hide_input: bool = False,
166    is_flag: Optional[bool] = None,
167    flag_value: Optional[Any] = None,
168    count: bool = False,
169    allow_from_autoenv: bool = True,
170    help: Optional[str] = None,
171    hidden: bool = False,
172    show_choices: bool = True,
173    show_envvar: bool = True,
174    # Choice
175    case_sensitive: bool = True,
176    # Numbers
177    min: Optional[Union[int, float]] = None,
178    max: Optional[Union[int, float]] = None,
179    clamp: bool = False,
180    # DateTime
181    formats: Optional[List[str]] = None,
182    # File
183    mode: Optional[str] = None,
184    encoding: Optional[str] = None,
185    errors: Optional[str] = "strict",
186    lazy: Optional[bool] = None,
187    atomic: bool = False,
188    # Path
189    exists: bool = False,
190    file_okay: bool = True,
191    dir_okay: bool = True,
192    writable: bool = False,
193    readable: bool = True,
194    resolve_path: bool = False,
195    allow_dash: bool = False,
196    path_type: Union[None, Type[str], Type[bytes]] = None,
197    # Rich settings
198    rich_help_panel: Union[str, None] = None,
199) -> Any:
200    return OptionInfo(
201        # Parameter
202        default=default,
203        param_decls=param_decls,
204        callback=callback,
205        metavar=metavar,
206        expose_value=expose_value,
207        is_eager=is_eager,
208        envvar=envvar,
209        shell_complete=shell_complete,
210        autocompletion=autocompletion,
211        default_factory=default_factory,
212        # Custom type
213        parser=parser,
214        click_type=click_type,
215        # Option
216        show_default=show_default,
217        prompt=prompt,
218        confirmation_prompt=confirmation_prompt,
219        prompt_required=prompt_required,
220        hide_input=hide_input,
221        is_flag=is_flag,
222        flag_value=flag_value,
223        count=count,
224        allow_from_autoenv=allow_from_autoenv,
225        help=help,
226        hidden=hidden,
227        show_choices=show_choices,
228        show_envvar=show_envvar,
229        # Choice
230        case_sensitive=case_sensitive,
231        # Numbers
232        min=min,
233        max=max,
234        clamp=clamp,
235        # DateTime
236        formats=formats,
237        # File
238        mode=mode,
239        encoding=encoding,
240        errors=errors,
241        lazy=lazy,
242        atomic=atomic,
243        # Path
244        exists=exists,
245        file_okay=file_okay,
246        dir_okay=dir_okay,
247        writable=writable,
248        readable=readable,
249        resolve_path=resolve_path,
250        allow_dash=allow_dash,
251        path_type=path_type,
252        # Rich settings
253        rich_help_panel=rich_help_panel,
254    )
def Argument( default: Optional[Any] = Ellipsis, *, callback: Optional[Callable[..., Any]] = None, metavar: Optional[str] = None, expose_value: bool = True, is_eager: bool = False, envvar: Union[str, List[str], NoneType] = None, shell_complete: Optional[Callable[[click.core.Context, click.core.Parameter, str], Union[List[click.shell_completion.CompletionItem], List[str]]]] = None, autocompletion: Optional[Callable[..., Any]] = None, default_factory: Optional[Callable[[], Any]] = None, parser: Optional[Callable[[str], Any]] = None, click_type: Optional[click.types.ParamType] = None, show_default: Union[bool, str] = True, show_choices: bool = True, show_envvar: bool = True, help: Optional[str] = None, hidden: bool = False, case_sensitive: bool = True, min: Union[int, float, NoneType] = None, max: Union[int, float, NoneType] = None, clamp: bool = False, formats: Optional[List[str]] = None, mode: Optional[str] = None, encoding: Optional[str] = None, errors: Optional[str] = 'strict', lazy: Optional[bool] = None, atomic: bool = False, exists: bool = False, file_okay: bool = True, dir_okay: bool = True, writable: bool = False, readable: bool = True, resolve_path: bool = False, allow_dash: bool = False, path_type: Union[NoneType, Type[str], Type[bytes]] = None, rich_help_panel: Optional[str] = None) -> Any:
369def Argument(
370    # Parameter
371    default: Optional[Any] = ...,
372    *,
373    callback: Optional[Callable[..., Any]] = None,
374    metavar: Optional[str] = None,
375    expose_value: bool = True,
376    is_eager: bool = False,
377    envvar: Optional[Union[str, List[str]]] = None,
378    shell_complete: Optional[
379        Callable[
380            [click.Context, click.Parameter, str],
381            Union[List["click.shell_completion.CompletionItem"], List[str]],
382        ]
383    ] = None,
384    autocompletion: Optional[Callable[..., Any]] = None,
385    default_factory: Optional[Callable[[], Any]] = None,
386    # Custom type
387    parser: Optional[Callable[[str], Any]] = None,
388    click_type: Optional[click.ParamType] = None,
389    # TyperArgument
390    show_default: Union[bool, str] = True,
391    show_choices: bool = True,
392    show_envvar: bool = True,
393    help: Optional[str] = None,
394    hidden: bool = False,
395    # Choice
396    case_sensitive: bool = True,
397    # Numbers
398    min: Optional[Union[int, float]] = None,
399    max: Optional[Union[int, float]] = None,
400    clamp: bool = False,
401    # DateTime
402    formats: Optional[List[str]] = None,
403    # File
404    mode: Optional[str] = None,
405    encoding: Optional[str] = None,
406    errors: Optional[str] = "strict",
407    lazy: Optional[bool] = None,
408    atomic: bool = False,
409    # Path
410    exists: bool = False,
411    file_okay: bool = True,
412    dir_okay: bool = True,
413    writable: bool = False,
414    readable: bool = True,
415    resolve_path: bool = False,
416    allow_dash: bool = False,
417    path_type: Union[None, Type[str], Type[bytes]] = None,
418    # Rich settings
419    rich_help_panel: Union[str, None] = None,
420) -> Any:
421    return ArgumentInfo(
422        # Parameter
423        default=default,
424        # Arguments can only have one param declaration
425        # it will be generated from the param name
426        param_decls=None,
427        callback=callback,
428        metavar=metavar,
429        expose_value=expose_value,
430        is_eager=is_eager,
431        envvar=envvar,
432        shell_complete=shell_complete,
433        autocompletion=autocompletion,
434        default_factory=default_factory,
435        # Custom type
436        parser=parser,
437        click_type=click_type,
438        # TyperArgument
439        show_default=show_default,
440        show_choices=show_choices,
441        show_envvar=show_envvar,
442        help=help,
443        hidden=hidden,
444        # Choice
445        case_sensitive=case_sensitive,
446        # Numbers
447        min=min,
448        max=max,
449        clamp=clamp,
450        # DateTime
451        formats=formats,
452        # File
453        mode=mode,
454        encoding=encoding,
455        errors=errors,
456        lazy=lazy,
457        atomic=atomic,
458        # Path
459        exists=exists,
460        file_okay=file_okay,
461        dir_okay=dir_okay,
462        writable=writable,
463        readable=readable,
464        resolve_path=resolve_path,
465        allow_dash=allow_dash,
466        path_type=path_type,
467        # Rich settings
468        rich_help_panel=rich_help_panel,
469    )