--- /dev/null
+# Stubs for argparse (Python 2.7 and 3.4)\r
+\r
+from typing import (\r
+ Any, Callable, Dict, Generator, Iterable, List, IO, NoReturn, Optional,\r
+ Pattern, Sequence, Tuple, Type, Union, TypeVar, overload\r
+)\r
+import sys\r
+\r
+_T = TypeVar('_T')\r
+_ActionT = TypeVar('_ActionT', bound='Action')\r
+\r
+if sys.version_info >= (3,):\r
+ _Text = str\r
+else:\r
+ _Text = Union[str, unicode]\r
+\r
+ONE_OR_MORE: str\r
+OPTIONAL: str\r
+PARSER: str\r
+REMAINDER: str\r
+SUPPRESS: str\r
+ZERO_OR_MORE: str\r
+_UNRECOGNIZED_ARGS_ATTR: str # undocumented\r
+\r
+class ArgumentError(Exception): ...\r
+\r
+# undocumented\r
+class _AttributeHolder:\r
+ def _get_kwargs(self) -> List[Tuple[str, Any]]: ...\r
+ def _get_args(self) -> List[Any]: ...\r
+\r
+# undocumented\r
+class _ActionsContainer:\r
+ description: Optional[_Text]\r
+ prefix_chars: _Text\r
+ argument_default: Optional[_Text]\r
+ conflict_handler: _Text\r
+\r
+ _registries: Dict[_Text, Dict[Any, Any]]\r
+ _actions: List[Action]\r
+ _option_string_actions: Dict[_Text, Action]\r
+ _action_groups: List[_ArgumentGroup]\r
+ _mutually_exclusive_groups: List[_MutuallyExclusiveGroup]\r
+ _defaults: Dict[str, Any]\r
+ _negative_number_matcher: Pattern[str]\r
+ _has_negative_number_optionals: List[bool]\r
+\r
+ def __init__(self, description: Optional[_Text], prefix_chars: _Text,\r
+ argument_default: Optional[_Text], conflict_handler: _Text) -> None: ...\r
+ def register(self, registry_name: _Text, value: Any, object: Any) -> None: ...\r
+ def _registry_get(self, registry_name: _Text, value: Any, default: Any = ...) -> Any: ...\r
+ def set_defaults(self, **kwargs: Any) -> None: ...\r
+ def get_default(self, dest: _Text) -> Any: ...\r
+ def add_argument(self,\r
+ *name_or_flags: _Text,\r
+ action: Union[_Text, Type[Action]] = ...,\r
+ nargs: Union[int, _Text] = ...,\r
+ const: Any = ...,\r
+ default: Any = ...,\r
+ type: Union[Callable[[str], _T], FileType] = ...,\r
+ choices: Iterable[_T] = ...,\r
+ required: bool = ...,\r
+ help: Optional[_Text] = ...,\r
+ metavar: Union[_Text, Tuple[_Text, ...]] = ...,\r
+ dest: Optional[_Text] = ...,\r
+ version: _Text = ...) -> Action: ...\r
+ def add_argument_group(self, *args: Any, **kwargs: Any) -> _ArgumentGroup: ...\r
+ def add_mutually_exclusive_group(self, **kwargs: Any) -> _MutuallyExclusiveGroup: ...\r
+ def _add_action(self, action: _ActionT) -> _ActionT: ...\r
+ def _remove_action(self, action: Action) -> None: ...\r
+ def _add_container_actions(self, container: _ActionsContainer) -> None: ...\r
+ def _get_positional_kwargs(self, dest: _Text, **kwargs: Any) -> Dict[str, Any]: ...\r
+ def _get_optional_kwargs(self, *args: Any, **kwargs: Any) -> Dict[str, Any]: ...\r
+ def _pop_action_class(self, kwargs: Any, default: Optional[Type[Action]] = ...) -> Type[Action]: ...\r
+ def _get_handler(self) -> Callable[[Action, Iterable[Tuple[_Text, Action]]], Any]: ...\r
+ def _check_conflict(self, action: Action) -> None: ...\r
+ def _handle_conflict_error(self, action: Action, conflicting_actions: Iterable[Tuple[_Text, Action]]) -> NoReturn: ...\r
+ def _handle_conflict_resolve(self, action: Action, conflicting_actions: Iterable[Tuple[_Text, Action]]) -> None: ...\r
+\r
+class ArgumentParser(_AttributeHolder, _ActionsContainer):\r
+ prog: _Text\r
+ usage: Optional[_Text]\r
+ epilog: Optional[_Text]\r
+ formatter_class: Type[HelpFormatter]\r
+ fromfile_prefix_chars: Optional[_Text]\r
+ add_help: bool\r
+\r
+ if sys.version_info >= (3, 5):\r
+ allow_abbrev: bool\r
+\r
+ # undocumented\r
+ _positionals: _ArgumentGroup\r
+ _optionals: _ArgumentGroup\r
+ _subparsers: Optional[_ArgumentGroup]\r
+\r
+ if sys.version_info >= (3, 5):\r
+ def __init__(self,\r
+ prog: Optional[str] = ...,\r
+ usage: Optional[str] = ...,\r
+ description: Optional[str] = ...,\r
+ epilog: Optional[str] = ...,\r
+ parents: Sequence[ArgumentParser] = ...,\r
+ formatter_class: Type[HelpFormatter] = ...,\r
+ prefix_chars: _Text = ...,\r
+ fromfile_prefix_chars: Optional[str] = ...,\r
+ argument_default: Optional[str] = ...,\r
+ conflict_handler: _Text = ...,\r
+ add_help: bool = ...,\r
+ allow_abbrev: bool = ...) -> None: ...\r
+ else:\r
+ def __init__(self,\r
+ prog: Optional[_Text] = ...,\r
+ usage: Optional[_Text] = ...,\r
+ description: Optional[_Text] = ...,\r
+ epilog: Optional[_Text] = ...,\r
+ parents: Sequence[ArgumentParser] = ...,\r
+ formatter_class: Type[HelpFormatter] = ...,\r
+ prefix_chars: _Text = ...,\r
+ fromfile_prefix_chars: Optional[_Text] = ...,\r
+ argument_default: Optional[_Text] = ...,\r
+ conflict_handler: _Text = ...,\r
+ add_help: bool = ...) -> None: ...\r
+ def parse_args(self, args: Optional[Sequence[_Text]] = ...,\r
+ namespace: Optional[Namespace] = ...) -> Namespace: ...\r
+ def add_subparsers(self, title: _Text = ...,\r
+ description: Optional[_Text] = ...,\r
+ prog: _Text = ...,\r
+ parser_class: Type[ArgumentParser] = ...,\r
+ action: Type[Action] = ...,\r
+ option_string: _Text = ...,\r
+ dest: Optional[_Text] = ...,\r
+ help: Optional[_Text] = ...,\r
+ metavar: Optional[_Text] = ...) -> _SubParsersAction: ...\r
+ def print_usage(self, file: Optional[IO[str]] = ...) -> None: ...\r
+ def print_help(self, file: Optional[IO[str]] = ...) -> None: ...\r
+ def format_usage(self) -> str: ...\r
+ def format_help(self) -> str: ...\r
+ def parse_known_args(self, args: Optional[Sequence[_Text]] = ...,\r
+ namespace: Optional[Namespace] = ...) -> Tuple[Namespace, List[str]]: ...\r
+ def convert_arg_line_to_args(self, arg_line: _Text) -> List[str]: ...\r
+ def exit(self, status: int = ..., message: Optional[_Text] = ...) -> NoReturn: ...\r
+ def error(self, message: _Text) -> NoReturn: ...\r
+ if sys.version_info >= (3, 7):\r
+ def parse_intermixed_args(self, args: Optional[Sequence[_Text]] = ...,\r
+ namespace: Optional[Namespace] = ...) -> Namespace: ...\r
+ def parse_known_intermixed_args(self,\r
+ args: Optional[Sequence[_Text]] = ...,\r
+ namespace: Optional[Namespace] = ...) -> Tuple[Namespace, List[str]]: ...\r
+ # undocumented\r
+ def _get_optional_actions(self) -> List[Action]: ...\r
+ def _get_positional_actions(self) -> List[Action]: ...\r
+ def _parse_known_args(self, arg_strings: List[_Text], namespace: Namespace) -> Tuple[Namespace, List[str]]: ...\r
+ def _read_args_from_files(self, arg_strings: List[_Text]) -> List[_Text]: ...\r
+ def _match_argument(self, action: Action, arg_strings_pattern: _Text) -> int: ...\r
+ def _match_arguments_partial(self, actions: Sequence[Action], arg_strings_pattern: _Text) -> List[int]: ...\r
+ def _parse_optional(self, arg_string: _Text) -> Optional[Tuple[Optional[Action], _Text, Optional[_Text]]]: ...\r
+ def _get_option_tuples(self, option_string: _Text) -> List[Tuple[Action, _Text, Optional[_Text]]]: ...\r
+ def _get_nargs_pattern(self, action: Action) -> _Text: ...\r
+ def _get_values(self, action: Action, arg_strings: List[_Text]) -> Any: ...\r
+ def _get_value(self, action: Action, arg_string: _Text) -> Any: ...\r
+ def _check_value(self, action: Action, value: Any) -> None: ...\r
+ def _get_formatter(self) -> HelpFormatter: ...\r
+ def _print_message(self, message: str, file: Optional[IO[str]] = ...) -> None: ...\r
+\r
+class HelpFormatter:\r
+ # undocumented\r
+ _prog: _Text\r
+ _indent_increment: int\r
+ _max_help_position: int\r
+ _width: int\r
+ _current_indent: int\r
+ _level: int\r
+ _action_max_length: int\r
+ _root_section: Any\r
+ _current_section: Any\r
+ _whitespace_matcher: Pattern[str]\r
+ _long_break_matcher: Pattern[str]\r
+ _Section: Type[Any] # Nested class\r
+ def __init__(self, prog: _Text, indent_increment: int = ...,\r
+ max_help_position: int = ...,\r
+ width: Optional[int] = ...) -> None: ...\r
+ def _indent(self) -> None: ...\r
+ def _dedent(self) -> None: ...\r
+ def _add_item(self, func: Callable[..., _Text], args: Iterable[Any]) -> None: ...\r
+ def start_section(self, heading: Optional[_Text]) -> None: ...\r
+ def end_section(self) -> None: ...\r
+ def add_text(self, text: Optional[_Text]) -> None: ...\r
+ def add_usage(self, usage: _Text, actions: Iterable[Action], groups: Iterable[_ArgumentGroup], prefix: Optional[_Text] = ...) -> None: ...\r
+ def add_argument(self, action: Action) -> None: ...\r
+ def add_arguments(self, actions: Iterable[Action]) -> None: ...\r
+ def format_help(self) -> _Text: ...\r
+ def _join_parts(self, part_strings: Iterable[_Text]) -> _Text: ...\r
+ def _format_usage(self, usage: _Text, actions: Iterable[Action], groups: Iterable[_ArgumentGroup], prefix: Optional[_Text]) -> _Text: ...\r
+ def _format_actions_usage(self, actions: Iterable[Action], groups: Iterable[_ArgumentGroup]) -> _Text: ...\r
+ def _format_text(self, text: _Text) -> _Text: ...\r
+ def _format_action(self, action: Action) -> _Text: ...\r
+ def _format_action_invocation(self, action: Action) -> _Text: ...\r
+ def _metavar_formatter(self, action: Action, default_metavar: _Text) -> Callable[[int], Tuple[_Text, ...]]: ...\r
+ def _format_args(self, action: Action, default_metavar: _Text) -> _Text: ...\r
+ def _expand_help(self, action: Action) -> _Text: ...\r
+ def _iter_indented_subactions(self, action: Action) -> Generator[Action, None, None]: ...\r
+ def _split_lines(self, text: _Text, width: int) -> List[_Text]: ...\r
+ def _fill_text(self, text: _Text, width: int, indent: int) -> _Text: ...\r
+ def _get_help_string(self, action: Action) -> Optional[_Text]: ...\r
+ def _get_default_metavar_for_optional(self, action: Action) -> _Text: ...\r
+ def _get_default_metavar_for_positional(self, action: Action) -> _Text: ...\r
+\r
+class RawDescriptionHelpFormatter(HelpFormatter): ...\r
+class RawTextHelpFormatter(HelpFormatter): ...\r
+class ArgumentDefaultsHelpFormatter(HelpFormatter): ...\r
+if sys.version_info >= (3,):\r
+ class MetavarTypeHelpFormatter(HelpFormatter): ...\r
+\r
+class Action(_AttributeHolder):\r
+ option_strings: Sequence[_Text]\r
+ dest: _Text\r
+ nargs: Optional[Union[int, _Text]]\r
+ const: Any\r
+ default: Any\r
+ type: Union[Callable[[str], Any], FileType, None]\r
+ choices: Optional[Iterable[Any]]\r
+ required: bool\r
+ help: Optional[_Text]\r
+ metavar: Union[_Text, Tuple[_Text, ...]]\r
+\r
+ def __init__(self,\r
+ option_strings: Sequence[_Text],\r
+ dest: _Text,\r
+ nargs: Optional[Union[int, _Text]] = ...,\r
+ const: Any = ...,\r
+ default: Any = ...,\r
+ type: Optional[Union[Callable[[str], _T], FileType]] = ...,\r
+ choices: Optional[Iterable[_T]] = ...,\r
+ required: bool = ...,\r
+ help: Optional[_Text] = ...,\r
+ metavar: Optional[Union[_Text, Tuple[_Text, ...]]] = ...) -> None: ...\r
+ def __call__(self, parser: ArgumentParser, namespace: Namespace,\r
+ values: Union[_Text, Sequence[Any], None],\r
+ option_string: Optional[_Text] = ...) -> None: ...\r
+\r
+class Namespace(_AttributeHolder):\r
+ def __init__(self, **kwargs: Any) -> None: ...\r
+ def __getattr__(self, name: _Text) -> Any: ...\r
+ def __setattr__(self, name: _Text, value: Any) -> None: ...\r
+ def __contains__(self, key: str) -> bool: ...\r
+\r
+class FileType:\r
+ # undocumented\r
+ _mode: _Text\r
+ _bufsize: int\r
+ if sys.version_info >= (3, 4):\r
+ _encoding: Optional[_Text]\r
+ _errors: Optional[_Text]\r
+ if sys.version_info >= (3, 4):\r
+ def __init__(self, mode: _Text = ..., bufsize: int = ...,\r
+ encoding: Optional[_Text] = ...,\r
+ errors: Optional[_Text] = ...) -> None: ...\r
+ elif sys.version_info >= (3,):\r
+ def __init__(self,\r
+ mode: _Text = ..., bufsize: int = ...) -> None: ...\r
+ else:\r
+ def __init__(self,\r
+ mode: _Text = ..., bufsize: Optional[int] = ...) -> None: ...\r
+ def __call__(self, string: _Text) -> IO[Any]: ...\r
+\r
+# undocumented\r
+class _ArgumentGroup(_ActionsContainer):\r
+ title: Optional[_Text]\r
+ _group_actions: List[Action]\r
+ def __init__(self, container: _ActionsContainer,\r
+ title: Optional[_Text] = ...,\r
+ description: Optional[_Text] = ..., **kwargs: Any) -> None: ...\r
+\r
+# undocumented\r
+class _MutuallyExclusiveGroup(_ArgumentGroup):\r
+ required: bool\r
+ _container: _ActionsContainer\r
+ def __init__(self, container: _ActionsContainer, required: bool = ...) -> None: ...\r
+\r
+# undocumented\r
+class _StoreAction(Action): ...\r
+\r
+# undocumented\r
+class _StoreConstAction(Action):\r
+ def __init__(self,\r
+ option_strings: Sequence[_Text],\r
+ dest: _Text,\r
+ const: Any,\r
+ default: Any = ...,\r
+ required: bool = ...,\r
+ help: Optional[_Text] = ...,\r
+ metavar: Optional[Union[_Text, Tuple[_Text, ...]]] = ...) -> None: ...\r
+\r
+# undocumented\r
+class _StoreTrueAction(_StoreConstAction):\r
+ def __init__(self,\r
+ option_strings: Sequence[_Text],\r
+ dest: _Text,\r
+ default: bool = ...,\r
+ required: bool = ...,\r
+ help: Optional[_Text] = ...) -> None: ...\r
+\r
+# undocumented\r
+class _StoreFalseAction(_StoreConstAction):\r
+ def __init__(self,\r
+ option_strings: Sequence[_Text],\r
+ dest: _Text,\r
+ default: bool = ...,\r
+ required: bool = ...,\r
+ help: Optional[_Text] = ...) -> None: ...\r
+\r
+# undocumented\r
+class _AppendAction(Action): ...\r
+\r
+# undocumented\r
+class _AppendConstAction(Action):\r
+ def __init__(self,\r
+ option_strings: Sequence[_Text],\r
+ dest: _Text,\r
+ const: Any,\r
+ default: Any = ...,\r
+ required: bool = ...,\r
+ help: Optional[_Text] = ...,\r
+ metavar: Optional[Union[_Text, Tuple[_Text, ...]]] = ...) -> None: ...\r
+\r
+# undocumented\r
+class _CountAction(Action):\r
+ def __init__(self,\r
+ option_strings: Sequence[_Text],\r
+ dest: _Text,\r
+ default: Any = ...,\r
+ required: bool = ...,\r
+ help: Optional[_Text] = ...) -> None: ...\r
+\r
+# undocumented\r
+class _HelpAction(Action):\r
+ def __init__(self,\r
+ option_strings: Sequence[_Text],\r
+ dest: _Text = ...,\r
+ default: _Text = ...,\r
+ help: Optional[_Text] = ...) -> None: ...\r
+\r
+# undocumented\r
+class _VersionAction(Action):\r
+ version: Optional[_Text]\r
+ def __init__(self,\r
+ option_strings: Sequence[_Text],\r
+ version: Optional[_Text] = ...,\r
+ dest: _Text = ...,\r
+ default: _Text = ...,\r
+ help: _Text = ...) -> None: ...\r
+\r
+# undocumented\r
+class _SubParsersAction(Action):\r
+ _ChoicesPseudoAction: Type[Any] # nested class\r
+ _prog_prefix: _Text\r
+ _parser_class: Type[ArgumentParser]\r
+ _name_parser_map: Dict[_Text, ArgumentParser]\r
+ _choices_actions: List[Action]\r
+ def __init__(self,\r
+ option_strings: Sequence[_Text],\r
+ prog: _Text,\r
+ parser_class: Type[ArgumentParser],\r
+ dest: _Text = ...,\r
+ required: bool = ...,\r
+ help: Optional[_Text] = ...,\r
+ metavar: Optional[Union[_Text, Tuple[_Text, ...]]] = ...) -> None: ...\r
+ # TODO: Type keyword args properly.\r
+ def add_parser(self, name: _Text, **kwargs: Any) -> ArgumentParser: ...\r
+ def _get_subactions(self) -> List[Action]: ...\r
+\r
+# undocumented\r
+class ArgumentTypeError(Exception): ...\r
+\r
+if sys.version_info < (3, 7):\r
+ # undocumented\r
+ def _ensure_value(namespace: Namespace, name: _Text, value: Any) -> Any: ...\r
+\r
+# undocumented\r
+def _get_action_name(argument: Optional[Action]) -> Optional[str]: ...\r