3 from typing import IO, Any, Callable, Generic, Iterable, Optional, Sequence, Text, Tuple as _PyTuple, Type, TypeVar, Union
5 from click.core import Context, Parameter, _ConvertibleType, _ParamType
9 class BoolParamType(ParamType):
10 def __call__(self, value: str | None, param: Parameter | None = ..., ctx: Context | None = ...) -> bool: ...
11 def convert(self, value: str, param: Parameter | None, ctx: Context | None) -> bool: ...
13 class CompositeParamType(ParamType):
16 class Choice(ParamType):
17 choices: Iterable[str]
19 def __init__(self, choices: Iterable[str], case_sensitive: bool = ...) -> None: ...
21 class DateTime(ParamType):
22 formats: Sequence[str]
23 def __init__(self, formats: Sequence[str] | None = ...) -> None: ...
24 def convert(self, value: str, param: Parameter | None, ctx: Context | None) -> datetime.datetime: ...
26 class FloatParamType(ParamType):
27 def __call__(self, value: str | None, param: Parameter | None = ..., ctx: Context | None = ...) -> float: ...
28 def convert(self, value: str, param: Parameter | None, ctx: Context | None) -> float: ...
30 class FloatRange(FloatParamType):
34 def __init__(self, min: float | None = ..., max: float | None = ..., clamp: bool = ...) -> None: ...
36 class File(ParamType):
45 encoding: str | None = ...,
46 errors: str | None = ...,
47 lazy: bool | None = ...,
48 atomic: bool | None = ...,
50 def __call__(self, value: str | None, param: Parameter | None = ..., ctx: Context | None = ...) -> IO[Any]: ...
51 def convert(self, value: str, param: Parameter | None, ctx: Context | None) -> IO[Any]: ...
52 def resolve_lazy_flag(self, value: str) -> bool: ...
54 _F = TypeVar("_F") # result of the function
55 _Func = Callable[[Optional[str]], _F]
57 class FuncParamType(ParamType, Generic[_F]):
59 def __init__(self, func: _Func[_F]) -> None: ...
60 def __call__(self, value: str | None, param: Parameter | None = ..., ctx: Context | None = ...) -> _F: ...
61 def convert(self, value: str, param: Parameter | None, ctx: Context | None) -> _F: ...
63 class IntParamType(ParamType):
64 def __call__(self, value: str | None, param: Parameter | None = ..., ctx: Context | None = ...) -> int: ...
65 def convert(self, value: str, param: Parameter | None, ctx: Context | None) -> int: ...
67 class IntRange(IntParamType):
71 def __init__(self, min: int | None = ..., max: int | None = ..., clamp: bool = ...) -> None: ...
73 _PathType = TypeVar("_PathType", str, bytes)
74 _PathTypeBound = Union[Type[str], Type[bytes]]
76 class Path(ParamType):
84 type: _PathTypeBound | None
88 file_okay: bool = ...,
92 resolve_path: bool = ...,
93 allow_dash: bool = ...,
94 path_type: Type[_PathType] | None = ...,
96 def coerce_path_result(self, rv: str | bytes) -> _PathType: ...
97 def __call__(self, value: str | None, param: Parameter | None = ..., ctx: Context | None = ...) -> _PathType: ...
98 def convert(self, value: str, param: Parameter | None, ctx: Context | None) -> _PathType: ...
100 class StringParamType(ParamType):
101 def __call__(self, value: str | None, param: Parameter | None = ..., ctx: Context | None = ...) -> str: ...
102 def convert(self, value: str, param: Parameter | None, ctx: Context | None) -> str: ...
104 class Tuple(CompositeParamType):
105 types: list[ParamType]
106 def __init__(self, types: Iterable[Any]) -> None: ...
107 def __call__(self, value: str | None, param: Parameter | None = ..., ctx: Context | None = ...) -> Tuple: ...
108 def convert(self, value: str, param: Parameter | None, ctx: Context | None) -> Tuple: ...
110 class UnprocessedParamType(ParamType): ...
112 class UUIDParameterType(ParamType):
113 def __call__(self, value: str | None, param: Parameter | None = ..., ctx: Context | None = ...) -> uuid.UUID: ...
114 def convert(self, value: str, param: Parameter | None, ctx: Context | None) -> uuid.UUID: ...
116 def convert_type(ty: _ConvertibleType | None, default: Any | None = ...) -> ParamType: ...
118 # parameter type shortcuts
121 FLOAT: FloatParamType
123 STRING: StringParamType
124 UNPROCESSED: UnprocessedParamType
125 UUID: UUIDParameterType