Files
typeshed/stdlib/pydoc.pyi
2024-07-09 22:44:02 -07:00

334 lines
13 KiB
Python

import sys
from _typeshed import OptExcInfo, SupportsWrite, Unused
from abc import abstractmethod
from builtins import list as _list # "list" conflicts with method name
from collections.abc import Callable, Container, Mapping, MutableMapping
from reprlib import Repr
from types import MethodType, ModuleType, TracebackType
from typing import IO, Any, AnyStr, Final, NoReturn, Protocol, TypeVar
from typing_extensions import TypeGuard
__all__ = ["help"]
_T = TypeVar("_T")
__author__: Final[str]
__date__: Final[str]
__version__: Final[str]
__credits__: Final[str]
class _Pager(Protocol):
def __call__(self, text: str, title: str = "") -> None: ...
def pathdirs() -> list[str]: ...
def getdoc(object: object) -> str: ...
def splitdoc(doc: AnyStr) -> tuple[AnyStr, AnyStr]: ...
def classname(object: object, modname: str) -> str: ...
def isdata(object: object) -> bool: ...
def replace(text: AnyStr, *pairs: AnyStr) -> AnyStr: ...
def cram(text: str, maxlen: int) -> str: ...
def stripid(text: str) -> str: ...
def allmethods(cl: type) -> MutableMapping[str, MethodType]: ...
def visiblename(name: str, all: Container[str] | None = None, obj: object = None) -> bool: ...
def classify_class_attrs(object: object) -> list[tuple[str, str, type, str]]: ...
def ispackage(path: str) -> bool: ...
def source_synopsis(file: IO[AnyStr]) -> AnyStr | None: ...
def synopsis(filename: str, cache: MutableMapping[str, tuple[int, str]] = {}) -> str | None: ...
class ErrorDuringImport(Exception):
filename: str
exc: type[BaseException] | None
value: BaseException | None
tb: TracebackType | None
def __init__(self, filename: str, exc_info: OptExcInfo) -> None: ...
def importfile(path: str) -> ModuleType: ...
def safeimport(path: str, forceload: bool = ..., cache: MutableMapping[str, ModuleType] = {}) -> ModuleType | None: ...
class Doc:
PYTHONDOCS: str
def document(self, object: object, name: str | None = None, *args: Any) -> str: ...
def fail(self, object: object, name: str | None = None, *args: Any) -> NoReturn: ...
@abstractmethod
def docmodule(self, object: object, name: str | None = None, *args: Any) -> str: ...
@abstractmethod
def docclass(self, object: object, name: str | None = None, *args: Any) -> str: ...
@abstractmethod
def docroutine(self, object: object, name: str | None = None, *args: Any) -> str: ...
@abstractmethod
def docother(self, object: object, name: str | None = None, *args: Any) -> str: ...
@abstractmethod
def docproperty(self, object: object, name: str | None = None, *args: Any) -> str: ...
@abstractmethod
def docdata(self, object: object, name: str | None = None, *args: Any) -> str: ...
def getdocloc(self, object: object, basedir: str = ...) -> str | None: ...
class HTMLRepr(Repr):
def __init__(self) -> None: ...
def escape(self, text: str) -> str: ...
def repr(self, object: object) -> str: ...
def repr1(self, x: object, level: complex) -> str: ...
def repr_string(self, x: str, level: complex) -> str: ...
def repr_str(self, x: str, level: complex) -> str: ...
def repr_instance(self, x: object, level: complex) -> str: ...
def repr_unicode(self, x: AnyStr, level: complex) -> str: ...
class HTMLDoc(Doc):
_repr_instance: HTMLRepr
repr = _repr_instance.repr
escape = _repr_instance.escape
def page(self, title: str, contents: str) -> str: ...
if sys.version_info >= (3, 11):
def heading(self, title: str, extras: str = "") -> str: ...
def section(
self,
title: str,
cls: str,
contents: str,
width: int = 6,
prelude: str = "",
marginalia: str | None = None,
gap: str = " ",
) -> str: ...
def multicolumn(self, list: list[_T], format: Callable[[_T], str]) -> str: ...
else:
def heading(self, title: str, fgcol: str, bgcol: str, extras: str = "") -> str: ...
def section(
self,
title: str,
fgcol: str,
bgcol: str,
contents: str,
width: int = 6,
prelude: str = "",
marginalia: str | None = None,
gap: str = " ",
) -> str: ...
def multicolumn(self, list: list[_T], format: Callable[[_T], str], cols: int = 4) -> str: ...
def bigsection(self, title: str, *args: Any) -> str: ...
def preformat(self, text: str) -> str: ...
def grey(self, text: str) -> str: ...
def namelink(self, name: str, *dicts: MutableMapping[str, str]) -> str: ...
def classlink(self, object: object, modname: str) -> str: ...
def modulelink(self, object: object) -> str: ...
def modpkglink(self, modpkginfo: tuple[str, str, bool, bool]) -> str: ...
def markup(
self,
text: str,
escape: Callable[[str], str] | None = None,
funcs: Mapping[str, str] = {},
classes: Mapping[str, str] = {},
methods: Mapping[str, str] = {},
) -> str: ...
def formattree(
self, tree: list[tuple[type, tuple[type, ...]] | list[Any]], modname: str, parent: type | None = None
) -> str: ...
def docmodule(self, object: object, name: str | None = None, mod: str | None = None, *ignored: Unused) -> str: ...
def docclass(
self,
object: object,
name: str | None = None,
mod: str | None = None,
funcs: Mapping[str, str] = {},
classes: Mapping[str, str] = {},
*ignored: Unused,
) -> str: ...
def formatvalue(self, object: object) -> str: ...
def docother(self, object: object, name: str | None = None, mod: Any | None = None, *ignored: Unused) -> str: ...
if sys.version_info >= (3, 11):
def docroutine( # type: ignore[override]
self,
object: object,
name: str | None = None,
mod: str | None = None,
funcs: Mapping[str, str] = {},
classes: Mapping[str, str] = {},
methods: Mapping[str, str] = {},
cl: type | None = None,
homecls: type | None = None,
) -> str: ...
def docproperty(
self, object: object, name: str | None = None, mod: str | None = None, cl: Any | None = None, *ignored: Unused
) -> str: ...
def docdata(
self, object: object, name: str | None = None, mod: Any | None = None, cl: Any | None = None, *ignored: Unused
) -> str: ...
else:
def docroutine( # type: ignore[override]
self,
object: object,
name: str | None = None,
mod: str | None = None,
funcs: Mapping[str, str] = {},
classes: Mapping[str, str] = {},
methods: Mapping[str, str] = {},
cl: type | None = None,
) -> str: ...
def docproperty(self, object: object, name: str | None = None, mod: str | None = None, cl: Any | None = None) -> str: ... # type: ignore[override]
def docdata(self, object: object, name: str | None = None, mod: Any | None = None, cl: Any | None = None) -> str: ... # type: ignore[override]
if sys.version_info >= (3, 11):
def parentlink(self, object: type | ModuleType, modname: str) -> str: ...
def index(self, dir: str, shadowed: MutableMapping[str, bool] | None = None) -> str: ...
def filelink(self, url: str, path: str) -> str: ...
class TextRepr(Repr):
def __init__(self) -> None: ...
def repr1(self, x: object, level: complex) -> str: ...
def repr_string(self, x: str, level: complex) -> str: ...
def repr_str(self, x: str, level: complex) -> str: ...
def repr_instance(self, x: object, level: complex) -> str: ...
class TextDoc(Doc):
_repr_instance: TextRepr
repr = _repr_instance.repr
def bold(self, text: str) -> str: ...
def indent(self, text: str, prefix: str = " ") -> str: ...
def section(self, title: str, contents: str) -> str: ...
def formattree(
self, tree: list[tuple[type, tuple[type, ...]] | list[Any]], modname: str, parent: type | None = None, prefix: str = ""
) -> str: ...
def docclass(self, object: object, name: str | None = None, mod: str | None = None, *ignored: Unused) -> str: ...
def formatvalue(self, object: object) -> str: ...
if sys.version_info >= (3, 11):
def docroutine( # type: ignore[override]
self,
object: object,
name: str | None = None,
mod: str | None = None,
cl: Any | None = None,
homecls: Any | None = None,
) -> str: ...
def docmodule(self, object: object, name: str | None = None, mod: Any | None = None, *ignored: Unused) -> str: ...
def docproperty(
self, object: object, name: str | None = None, mod: Any | None = None, cl: Any | None = None, *ignored: Unused
) -> str: ...
def docdata(
self, object: object, name: str | None = None, mod: str | None = None, cl: Any | None = None, *ignored: Unused
) -> str: ...
def docother(
self,
object: object,
name: str | None = None,
mod: str | None = None,
parent: str | None = None,
*ignored: Unused,
maxlen: int | None = None,
doc: Any | None = None,
) -> str: ...
else:
def docroutine(self, object: object, name: str | None = None, mod: str | None = None, cl: Any | None = None) -> str: ... # type: ignore[override]
def docmodule(self, object: object, name: str | None = None, mod: Any | None = None) -> str: ... # type: ignore[override]
def docproperty(self, object: object, name: str | None = None, mod: Any | None = None, cl: Any | None = None) -> str: ... # type: ignore[override]
def docdata(self, object: object, name: str | None = None, mod: str | None = None, cl: Any | None = None) -> str: ... # type: ignore[override]
def docother( # type: ignore[override]
self,
object: object,
name: str | None = None,
mod: str | None = None,
parent: str | None = None,
maxlen: int | None = None,
doc: Any | None = None,
) -> str: ...
if sys.version_info >= (3, 13):
def pager(text: str, title: str = "") -> None: ...
else:
def pager(text: str) -> None: ...
def plain(text: str) -> str: ...
def describe(thing: Any) -> str: ...
def locate(path: str, forceload: bool = ...) -> object: ...
if sys.version_info >= (3, 13):
def get_pager() -> _Pager: ...
def pipe_pager(text: str, cmd: str, title: str = "") -> None: ...
def tempfile_pager(text: str, cmd: str, title: str = "") -> None: ...
def tty_pager(text: str, title: str = "") -> None: ...
def plain_pager(text: str, title: str = "") -> None: ...
# For backwards compatibility.
getpager = get_pager
pipepager = pipe_pager
tempfilepager = tempfile_pager
ttypager = tty_pager
plainpager = plain_pager
else:
def getpager() -> Callable[[str], None]: ...
def pipepager(text: str, cmd: str) -> None: ...
def tempfilepager(text: str, cmd: str) -> None: ...
def ttypager(text: str) -> None: ...
def plainpager(text: str) -> None: ...
text: TextDoc
html: HTMLDoc
def resolve(thing: str | object, forceload: bool = ...) -> tuple[object, str] | None: ...
def render_doc(
thing: str | object, title: str = "Python Library Documentation: %s", forceload: bool = ..., renderer: Doc | None = None
) -> str: ...
if sys.version_info >= (3, 11):
def doc(
thing: str | object,
title: str = "Python Library Documentation: %s",
forceload: bool = ...,
output: SupportsWrite[str] | None = None,
is_cli: bool = False,
) -> None: ...
else:
def doc(
thing: str | object,
title: str = "Python Library Documentation: %s",
forceload: bool = ...,
output: SupportsWrite[str] | None = None,
) -> None: ...
def writedoc(thing: str | object, forceload: bool = ...) -> None: ...
def writedocs(dir: str, pkgpath: str = "", done: Any | None = None) -> None: ...
class Helper:
keywords: dict[str, str | tuple[str, str]]
symbols: dict[str, str]
topics: dict[str, str | tuple[str, ...]]
def __init__(self, input: IO[str] | None = None, output: IO[str] | None = None) -> None: ...
@property
def input(self) -> IO[str]: ...
@property
def output(self) -> IO[str]: ...
def __call__(self, request: str | Helper | object = ...) -> None: ...
def interact(self) -> None: ...
def getline(self, prompt: str) -> str: ...
if sys.version_info >= (3, 11):
def help(self, request: Any, is_cli: bool = False) -> None: ...
else:
def help(self, request: Any) -> None: ...
def intro(self) -> None: ...
def list(self, items: _list[str], columns: int = 4, width: int = 80) -> None: ...
def listkeywords(self) -> None: ...
def listsymbols(self) -> None: ...
def listtopics(self) -> None: ...
def showtopic(self, topic: str, more_xrefs: str = "") -> None: ...
def showsymbol(self, symbol: str) -> None: ...
def listmodules(self, key: str = "") -> None: ...
help: Helper
class ModuleScanner:
quit: bool
def run(
self,
callback: Callable[[str | None, str, str], object],
key: str | None = None,
completer: Callable[[], object] | None = None,
onerror: Callable[[str], object] | None = None,
) -> None: ...
def apropos(key: str) -> None: ...
def ispath(x: object) -> TypeGuard[str]: ...
def cli() -> None: ...