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