Use PEP 570 syntax in stdlib (#11250)

This commit is contained in:
Shantanu
2024-03-09 14:50:16 -08:00
committed by GitHub
parent 63737acac6
commit 470a13ab09
139 changed files with 2412 additions and 2371 deletions

View File

@@ -84,9 +84,9 @@ class Element:
text: str | None
tail: str | None
def __init__(self, tag: str, attrib: dict[str, str] = ..., **extra: str) -> None: ...
def append(self, __subelement: Element) -> None: ...
def append(self, subelement: Element, /) -> None: ...
def clear(self) -> None: ...
def extend(self, __elements: Iterable[Element]) -> None: ...
def extend(self, elements: Iterable[Element], /) -> None: ...
def find(self, path: str, namespaces: dict[str, str] | None = None) -> Element | None: ...
def findall(self, path: str, namespaces: dict[str, str] | None = None) -> list[Element]: ...
@overload
@@ -97,30 +97,30 @@ class Element:
def get(self, key: str, default: None = None) -> str | None: ...
@overload
def get(self, key: str, default: _T) -> str | _T: ...
def insert(self, __index: int, __subelement: Element) -> None: ...
def insert(self, index: int, subelement: Element, /) -> None: ...
def items(self) -> ItemsView[str, str]: ...
def iter(self, tag: str | None = None) -> Generator[Element, None, None]: ...
def iterfind(self, path: str, namespaces: dict[str, str] | None = None) -> Generator[Element, None, None]: ...
def itertext(self) -> Generator[str, None, None]: ...
def keys(self) -> dict_keys[str, str]: ...
# makeelement returns the type of self in Python impl, but not in C impl
def makeelement(self, __tag: str, __attrib: dict[str, str]) -> Element: ...
def remove(self, __subelement: Element) -> None: ...
def set(self, __key: str, __value: str) -> None: ...
def makeelement(self, tag: str, attrib: dict[str, str], /) -> Element: ...
def remove(self, subelement: Element, /) -> None: ...
def set(self, key: str, value: str, /) -> None: ...
def __copy__(self) -> Element: ... # returns the type of self in Python impl, but not in C impl
def __deepcopy__(self, __memo: Any) -> Element: ... # Only exists in C impl
def __delitem__(self, __key: SupportsIndex | slice) -> None: ...
def __deepcopy__(self, memo: Any, /) -> Element: ... # Only exists in C impl
def __delitem__(self, key: SupportsIndex | slice, /) -> None: ...
@overload
def __getitem__(self, __key: SupportsIndex) -> Element: ...
def __getitem__(self, key: SupportsIndex, /) -> Element: ...
@overload
def __getitem__(self, __key: slice) -> list[Element]: ...
def __getitem__(self, key: slice, /) -> list[Element]: ...
def __len__(self) -> int: ...
# Doesn't actually exist at runtime, but instance of the class are indeed iterable due to __getitem__.
def __iter__(self) -> Iterator[Element]: ...
@overload
def __setitem__(self, __key: SupportsIndex, __value: Element) -> None: ...
def __setitem__(self, key: SupportsIndex, value: Element, /) -> None: ...
@overload
def __setitem__(self, __key: slice, __value: Iterable[Element]) -> None: ...
def __setitem__(self, key: slice, value: Iterable[Element], /) -> None: ...
# Doesn't really exist in earlier versions, where __len__ is called implicitly instead
@deprecated("Testing an element's truth value is deprecated.")
@@ -285,14 +285,14 @@ class TreeBuilder:
insert_pis: bool
def close(self) -> Element: ...
def data(self, __data: str) -> None: ...
def data(self, data: str, /) -> None: ...
# tag and attrs are passed to the element_factory, so they could be anything
# depending on what the particular factory supports.
def start(self, __tag: Any, __attrs: dict[Any, Any]) -> Element: ...
def end(self, __tag: str) -> Element: ...
def start(self, tag: Any, attrs: dict[Any, Any], /) -> Element: ...
def end(self, tag: str, /) -> Element: ...
# These two methods have pos-only parameters in the C implementation
def comment(self, __text: str | None) -> Element: ...
def pi(self, __target: str, __text: str | None = None) -> Element: ...
def comment(self, text: str | None, /) -> Element: ...
def pi(self, target: str, text: str | None = None, /) -> Element: ...
class C14NWriterTarget:
def __init__(
@@ -322,4 +322,4 @@ class XMLParser:
version: str
def __init__(self, *, target: Any = ..., encoding: str | None = ...) -> None: ...
def close(self) -> Any: ...
def feed(self, __data: str | ReadableBuffer) -> None: ...
def feed(self, data: str | ReadableBuffer, /) -> None: ...