--- /dev/null
+from typing import Any, Callable, Iterator, IO, List, Optional, TypeVar, Union, Text\r
+\r
+_T = TypeVar('_T')\r
+_Decorator = Callable[[_T], _T]\r
+\r
+\r
+def _posixify(name: str) -> str:\r
+ ...\r
+\r
+\r
+def safecall(func: _T) -> _T:\r
+ ...\r
+\r
+\r
+def make_str(value: Any) -> str:\r
+ ...\r
+\r
+\r
+def make_default_short_help(help: str, max_length: int = ...):\r
+ ...\r
+\r
+\r
+class LazyFile:\r
+ name: str\r
+ mode: str\r
+ encoding: Optional[str]\r
+ errors: str\r
+ atomic: bool\r
+\r
+ def __init__(\r
+ self,\r
+ filename: str,\r
+ mode: str = ...,\r
+ encoding: Optional[str] = ...,\r
+ errors: str = ...,\r
+ atomic: bool = ...\r
+ ) -> None:\r
+ ...\r
+\r
+ def open(self) -> IO:\r
+ ...\r
+\r
+ def close(self) -> None:\r
+ ...\r
+\r
+ def close_intelligently(self) -> None:\r
+ ...\r
+\r
+ def __enter__(self) -> 'LazyFile':\r
+ ...\r
+\r
+ def __exit__(self, exc_type, exc_value, tb):\r
+ ...\r
+\r
+ def __iter__(self) -> Iterator:\r
+ ...\r
+\r
+\r
+class KeepOpenFile:\r
+ _file: IO\r
+\r
+ def __init__(self, file: IO) -> None:\r
+ ...\r
+\r
+ def __enter__(self) -> 'KeepOpenFile':\r
+ ...\r
+\r
+ def __exit__(self, exc_type, exc_value, tb):\r
+ ...\r
+\r
+ def __iter__(self) -> Iterator:\r
+ ...\r
+\r
+\r
+def echo(\r
+ message: Optional[Union[bytes, Text]] = ...,\r
+ file: Optional[IO] = ...,\r
+ nl: bool = ...,\r
+ err: bool = ...,\r
+ color: Optional[bool] = ...,\r
+) -> None:\r
+ ...\r
+\r
+\r
+def get_binary_stream(name: str) -> IO[bytes]:\r
+ ...\r
+\r
+\r
+def get_text_stream(\r
+ name: str, encoding: Optional[str] = ..., errors: str = ...\r
+) -> IO[str]:\r
+ ...\r
+\r
+\r
+def open_file(\r
+ filename: str,\r
+ mode: str = ...,\r
+ encoding: Optional[str] = ...,\r
+ errors: str = ...,\r
+ lazy: bool = ...,\r
+ atomic: bool = ...\r
+) -> Union[IO, LazyFile, KeepOpenFile]:\r
+ ...\r
+\r
+\r
+def get_os_args() -> List[str]:\r
+ ...\r
+\r
+\r
+def format_filename(filename: str, shorten: bool = ...) -> str:\r
+ ...\r
+\r
+\r
+def get_app_dir(\r
+ app_name: str, roaming: bool = ..., force_posix: bool = ...\r
+) -> str:\r
+ ...\r