1+ from _typeshed import Incomplete
12from abc import abstractmethod
23from collections .abc import Callable , Iterable , Mapping , Sequence
3- from typing import IO , Any , AnyStr , overload
4+ from typing import IO , Any , AnyStr , Literal , overload
45
56__all__ = [
67 "Option" ,
@@ -26,8 +27,8 @@ NO_DEFAULT: tuple[str, ...]
2627SUPPRESS_HELP : str
2728SUPPRESS_USAGE : str
2829
29- def check_builtin (option : Option , opt : Any , value : str ) -> Any : ...
30- def check_choice (option : Option , opt : Any , value : str ) -> str : ...
30+ def check_builtin (option : Option , opt , value : str ): ...
31+ def check_choice (option : Option , opt , value : str ) -> str : ...
3132
3233class OptParseError (Exception ):
3334 msg : str
@@ -54,26 +55,26 @@ class HelpFormatter:
5455 _short_opt_fmt : str
5556 current_indent : int
5657 default_tag : str
57- help_position : Any
58- help_width : Any
58+ help_position : int
59+ help_width : int | Any # initialized as None and computed later as int when storing option strings
5960 indent_increment : int
6061 level : int
6162 max_help_position : int
6263 option_strings : dict [Option , str ]
6364 parser : OptionParser
64- short_first : Any
65+ short_first : Incomplete
6566 width : int
6667 def __init__ (self , indent_increment : int , max_help_position : int , width : int | None , short_first : int ) -> None : ...
6768 def dedent (self ) -> None : ...
6869 def expand_default (self , option : Option ) -> str : ...
69- def format_description (self , description : str ) -> str : ...
70- def format_epilog (self , epilog : str ) -> str : ...
70+ def format_description (self , description : str | None ) -> str : ...
71+ def format_epilog (self , epilog : str | None ) -> str : ...
7172 @abstractmethod
72- def format_heading (self , heading : Any ) -> str : ...
73+ def format_heading (self , heading : str ) -> str : ...
7374 def format_option (self , option : Option ) -> str : ...
7475 def format_option_strings (self , option : Option ) -> str : ...
7576 @abstractmethod
76- def format_usage (self , usage : Any ) -> str : ...
77+ def format_usage (self , usage : str ) -> str : ...
7778 def indent (self ) -> None : ...
7879 def set_long_opt_delimiter (self , delim : str ) -> None : ...
7980 def set_parser (self , parser : OptionParser ) -> None : ...
@@ -98,25 +99,25 @@ class Option:
9899 ACTIONS : tuple [str , ...]
99100 ALWAYS_TYPED_ACTIONS : tuple [str , ...]
100101 ATTRS : list [str ]
101- CHECK_METHODS : list [Callable [..., Any ]] | None
102+ CHECK_METHODS : list [Callable [..., Incomplete ]] | None
102103 CONST_ACTIONS : tuple [str , ...]
103104 STORE_ACTIONS : tuple [str , ...]
104105 TYPED_ACTIONS : tuple [str , ...]
105106 TYPES : tuple [str , ...]
106- TYPE_CHECKER : dict [str , Callable [... , Any ]]
107+ TYPE_CHECKER : dict [str , Callable [[ Option , str , Incomplete ] , Any ]]
107108 _long_opts : list [str ]
108109 _short_opts : list [str ]
109110 action : str
110111 dest : str | None
111- default : Any
112+ default : Incomplete
112113 nargs : int
113- type : Any
114- callback : Callable [..., Any ] | None
115- callback_args : tuple [Any , ...] | None
116- callback_kwargs : dict [str , Any ] | None
114+ type : Incomplete
115+ callback : Callable [..., Incomplete ] | None
116+ callback_args : tuple [Incomplete , ...] | None
117+ callback_kwargs : dict [str , Incomplete ] | None
117118 help : str | None
118119 metavar : str | None
119- def __init__ (self , * opts : str | None , ** attrs : Any ) -> None : ...
120+ def __init__ (self , * opts : str | None , ** attrs ) -> None : ...
120121 def _check_action (self ) -> None : ...
121122 def _check_callback (self ) -> None : ...
122123 def _check_choice (self ) -> None : ...
@@ -125,13 +126,13 @@ class Option:
125126 def _check_nargs (self ) -> None : ...
126127 def _check_opt_strings (self , opts : Iterable [str | None ]) -> list [str ]: ...
127128 def _check_type (self ) -> None : ...
128- def _set_attrs (self , attrs : dict [str , Any ]) -> None : ...
129+ def _set_attrs (self , attrs : dict [str , Incomplete ]) -> None : ...
129130 def _set_opt_strings (self , opts : Iterable [str ]) -> None : ...
130- def check_value (self , opt : str , value : Any ) -> Any : ...
131- def convert_value (self , opt : str , value : Any ) -> Any : ...
131+ def check_value (self , opt : str , value ) : ...
132+ def convert_value (self , opt : str , value ) : ...
132133 def get_opt_string (self ) -> str : ...
133- def process (self , opt : Any , value : Any , values : Any , parser : OptionParser ) -> int : ...
134- def take_action (self , action : str , dest : str , opt : Any , value : Any , values : Any , parser : OptionParser ) -> int : ...
134+ def process (self , opt , value , values , parser : OptionParser ) -> int : ...
135+ def take_action (self , action : str , dest : str , opt , value , values , parser : OptionParser ) -> int : ...
135136 def takes_value (self ) -> bool : ...
136137
137138make_option = Option
@@ -140,28 +141,30 @@ class OptionContainer:
140141 _long_opt : dict [str , Option ]
141142 _short_opt : dict [str , Option ]
142143 conflict_handler : str
143- defaults : dict [str , Any ]
144- description : Any
144+ defaults : dict [str , Incomplete ]
145+ description : str | None
145146 option_class : type [Option ]
146- def __init__ (self , option_class : type [Option ], conflict_handler : Any , description : Any ) -> None : ...
147- def _check_conflict (self , option : Any ) -> None : ...
147+ def __init__ (
148+ self , option_class : type [Option ], conflict_handler : Literal ["error" , "resolve" ], description : str | None
149+ ) -> None : ...
150+ def _check_conflict (self , option : Option ) -> None : ...
148151 def _create_option_mappings (self ) -> None : ...
149152 def _share_option_mappings (self , parser : OptionParser ) -> None : ...
150153 @overload
151154 def add_option (self , opt : Option ) -> Option : ...
152155 @overload
153- def add_option (self , * args : str | None , ** kwargs : Any ) -> Any : ...
156+ def add_option (self , arg : str , / , * args : str | None , ** kwargs ) -> Option : ...
154157 def add_options (self , option_list : Iterable [Option ]) -> None : ...
155158 def destroy (self ) -> None : ...
156- def format_description (self , formatter : HelpFormatter | None ) -> Any : ...
157- def format_help (self , formatter : HelpFormatter | None ) -> str : ...
158- def format_option_help (self , formatter : HelpFormatter | None ) -> str : ...
159- def get_description (self ) -> Any : ...
159+ def format_option_help (self , formatter : HelpFormatter ) -> str : ...
160+ def format_description (self , formatter : HelpFormatter ) -> str : ...
161+ def format_help (self , formatter : HelpFormatter ) -> str : ...
162+ def get_description (self ) -> str | None : ...
160163 def get_option (self , opt_str : str ) -> Option | None : ...
161164 def has_option (self , opt_str : str ) -> bool : ...
162165 def remove_option (self , opt_str : str ) -> None : ...
163- def set_conflict_handler (self , handler : Any ) -> None : ...
164- def set_description (self , description : Any ) -> None : ...
166+ def set_conflict_handler (self , handler : Literal [ "error" , "resolve" ] ) -> None : ...
167+ def set_description (self , description : str | None ) -> None : ...
165168
166169class OptionGroup (OptionContainer ):
167170 option_list : list [Option ]
@@ -172,15 +175,15 @@ class OptionGroup(OptionContainer):
172175 def set_title (self , title : str ) -> None : ...
173176
174177class Values :
175- def __init__ (self , defaults : Mapping [str , Any ] | None = None ) -> None : ...
176- def _update (self , dict : Mapping [str , Any ], mode : Any ) -> None : ...
177- def _update_careful (self , dict : Mapping [str , Any ]) -> None : ...
178- def _update_loose (self , dict : Mapping [str , Any ]) -> None : ...
179- def ensure_value (self , attr : str , value : Any ) -> Any : ...
178+ def __init__ (self , defaults : Mapping [str , Incomplete ] | None = None ) -> None : ...
179+ def _update (self , dict : Mapping [str , Incomplete ], mode ) -> None : ...
180+ def _update_careful (self , dict : Mapping [str , Incomplete ]) -> None : ...
181+ def _update_loose (self , dict : Mapping [str , Incomplete ]) -> None : ...
182+ def ensure_value (self , attr : str , value ) : ...
180183 def read_file (self , filename : str , mode : str = "careful" ) -> None : ...
181184 def read_module (self , modname : str , mode : str = "careful" ) -> None : ...
182- def __getattr__ (self , name : str ) -> Any : ...
183- def __setattr__ (self , name : str , value : Any , / ) -> None : ...
185+ def __getattr__ (self , name : str ): ...
186+ def __setattr__ (self , name : str , value , / ) -> None : ...
184187 def __eq__ (self , other : object ) -> bool : ...
185188
186189class OptionParser (OptionContainer ):
@@ -190,9 +193,9 @@ class OptionParser(OptionContainer):
190193 largs : list [str ] | None
191194 option_groups : list [OptionGroup ]
192195 option_list : list [Option ]
193- process_default_values : Any
196+ process_default_values : bool
194197 prog : str | None
195- rargs : list [Any ] | None
198+ rargs : list [str ] | None
196199 standard_option_list : list [Option ]
197200 usage : str | None
198201 values : Values | None
@@ -214,28 +217,28 @@ class OptionParser(OptionContainer):
214217 def _add_version_option (self ) -> None : ...
215218 def _create_option_list (self ) -> None : ...
216219 def _get_all_options (self ) -> list [Option ]: ...
217- def _get_args (self , args : Iterable [Any ]) -> list [Any ]: ...
220+ def _get_args (self , args : Iterable [Incomplete ]) -> list [Incomplete ]: ...
218221 def _init_parsing_state (self ) -> None : ...
219222 def _match_long_opt (self , opt : str ) -> str : ...
220223 def _populate_option_list (self , option_list : Iterable [Option ], add_help : bool = True ) -> None : ...
221- def _process_args (self , largs : list [Any ], rargs : list [Any ], values : Values ) -> None : ...
222- def _process_long_opt (self , rargs : list [Any ], values : Any ) -> None : ...
223- def _process_short_opts (self , rargs : list [Any ], values : Any ) -> None : ...
224+ def _process_args (self , largs : list [Incomplete ], rargs : list [Incomplete ], values : Values ) -> None : ...
225+ def _process_long_opt (self , rargs : list [Incomplete ], values ) -> None : ...
226+ def _process_short_opts (self , rargs : list [Incomplete ], values ) -> None : ...
224227 @overload
225228 def add_option_group (self , opt_group : OptionGroup , / ) -> OptionGroup : ...
226229 @overload
227- def add_option_group (self , * args : Any , ** kwargs : Any ) -> OptionGroup : ...
230+ def add_option_group (self , * args , ** kwargs ) -> OptionGroup : ...
228231 def check_values (self , values : Values , args : list [str ]) -> tuple [Values , list [str ]]: ...
229232 def disable_interspersed_args (self ) -> None : ...
230233 def enable_interspersed_args (self ) -> None : ...
231234 def error (self , msg : str ) -> None : ...
232235 def exit (self , status : int = 0 , msg : str | None = None ) -> None : ...
233- def expand_prog_name (self , s : str | None ) -> Any : ...
234- def format_epilog (self , formatter : HelpFormatter ) -> Any : ...
236+ def expand_prog_name (self , s : str ) -> str : ...
237+ def format_epilog (self , formatter : HelpFormatter ) -> str : ...
235238 def format_help (self , formatter : HelpFormatter | None = None ) -> str : ...
236239 def format_option_help (self , formatter : HelpFormatter | None = None ) -> str : ...
237240 def get_default_values (self ) -> Values : ...
238- def get_option_group (self , opt_str : str ) -> Any : ...
241+ def get_option_group (self , opt_str : str ) -> OptionGroup | None : ...
239242 def get_prog_name (self ) -> str : ...
240243 def get_usage (self ) -> str : ...
241244 def get_version (self ) -> str : ...
@@ -246,7 +249,7 @@ class OptionParser(OptionContainer):
246249 def print_usage (self , file : IO [str ] | None = None ) -> None : ...
247250 def print_help (self , file : IO [str ] | None = None ) -> None : ...
248251 def print_version (self , file : IO [str ] | None = None ) -> None : ...
249- def set_default (self , dest : Any , value : Any ) -> None : ...
250- def set_defaults (self , ** kwargs : Any ) -> None : ...
251- def set_process_default_values (self , process : Any ) -> None : ...
252+ def set_default (self , dest , value ) -> None : ...
253+ def set_defaults (self , ** kwargs ) -> None : ...
254+ def set_process_default_values (self , process ) -> None : ...
252255 def set_usage (self , usage : str ) -> None : ...
0 commit comments