diff --git a/stubs/PyYAML/yaml/__init__.pyi b/stubs/PyYAML/yaml/__init__.pyi index 69e2b8ec2..7d28aca00 100644 --- a/stubs/PyYAML/yaml/__init__.pyi +++ b/stubs/PyYAML/yaml/__init__.pyi @@ -1,14 +1,16 @@ from collections.abc import Callable, Iterable, Iterator, Mapping, Sequence -from typing import IO, Any, Pattern, TypeVar, overload +from typing import Any, Pattern, TypeVar, overload from . import resolver as resolver # Help mypy a bit; this is implied by loader and dumper from .constructor import BaseConstructor from .cyaml import * from .dumper import * +from .emitter import _WriteStream from .error import * from .events import * from .loader import * from .nodes import * +from .reader import _ReadStream from .representer import BaseRepresenter from .resolver import BaseResolver from .tokens import * @@ -28,17 +30,17 @@ def scan(stream, Loader=...): ... def parse(stream, Loader=...): ... def compose(stream, Loader=...): ... def compose_all(stream, Loader=...): ... -def load(stream: bytes | IO[bytes] | str | IO[str], Loader) -> Any: ... -def load_all(stream: bytes | IO[bytes] | str | IO[str], Loader) -> Iterator[Any]: ... -def full_load(stream: bytes | IO[bytes] | str | IO[str]) -> Any: ... -def full_load_all(stream: bytes | IO[bytes] | str | IO[str]) -> Iterator[Any]: ... -def safe_load(stream: bytes | IO[bytes] | str | IO[str]) -> Any: ... -def safe_load_all(stream: bytes | IO[bytes] | str | IO[str]) -> Iterator[Any]: ... -def unsafe_load(stream: bytes | IO[bytes] | str | IO[str]) -> Any: ... -def unsafe_load_all(stream: bytes | IO[bytes] | str | IO[str]) -> Iterator[Any]: ... +def load(stream: _ReadStream, Loader) -> Any: ... +def load_all(stream: _ReadStream, Loader) -> Iterator[Any]: ... +def full_load(stream: _ReadStream) -> Any: ... +def full_load_all(stream: _ReadStream) -> Iterator[Any]: ... +def safe_load(stream: _ReadStream) -> Any: ... +def safe_load_all(stream: _ReadStream) -> Iterator[Any]: ... +def unsafe_load(stream: _ReadStream) -> Any: ... +def unsafe_load_all(stream: _ReadStream) -> Iterator[Any]: ... def emit( events, - stream=..., + stream: _WriteStream[Any] | None = ..., Dumper=..., canonical: bool | None = ..., indent: int | None = ..., @@ -49,7 +51,7 @@ def emit( @overload def serialize_all( nodes, - stream: IO[str], + stream: _WriteStream[Any], Dumper=..., canonical: bool | None = ..., indent: int | None = ..., @@ -81,7 +83,7 @@ def serialize_all( @overload def serialize( node, - stream: IO[str], + stream: _WriteStream[Any], Dumper=..., *, canonical: bool | None = ..., @@ -115,7 +117,7 @@ def serialize( @overload def dump_all( documents: Sequence[Any], - stream: IO[str], + stream: _WriteStream[Any], Dumper=..., default_style: str | None = ..., default_flow_style: bool | None = ..., @@ -153,7 +155,7 @@ def dump_all( @overload def dump( data: Any, - stream: IO[str], + stream: _WriteStream[Any], Dumper=..., *, default_style: str | None = ..., @@ -193,7 +195,7 @@ def dump( @overload def safe_dump_all( documents: Sequence[Any], - stream: IO[str], + stream: _WriteStream[Any], *, default_style: str | None = ..., default_flow_style: bool | None = ..., @@ -231,7 +233,7 @@ def safe_dump_all( @overload def safe_dump( data: Any, - stream: IO[str], + stream: _WriteStream[Any], *, default_style: str | None = ..., default_flow_style: bool | None = ..., diff --git a/stubs/PyYAML/yaml/dumper.pyi b/stubs/PyYAML/yaml/dumper.pyi index 6c89d3f95..040aa0fed 100644 --- a/stubs/PyYAML/yaml/dumper.pyi +++ b/stubs/PyYAML/yaml/dumper.pyi @@ -1,15 +1,17 @@ -from _typeshed import SupportsWrite from collections.abc import Mapping +from typing import Any from yaml.emitter import Emitter from yaml.representer import BaseRepresenter, Representer, SafeRepresenter from yaml.resolver import BaseResolver, Resolver from yaml.serializer import Serializer +from .emitter import _WriteStream + class BaseDumper(Emitter, Serializer, BaseRepresenter, BaseResolver): def __init__( self, - stream: SupportsWrite[bytes | str], + stream: _WriteStream[Any], default_style: str | None = ..., default_flow_style: bool | None = ..., canonical: bool | None = ..., @@ -28,7 +30,7 @@ class BaseDumper(Emitter, Serializer, BaseRepresenter, BaseResolver): class SafeDumper(Emitter, Serializer, SafeRepresenter, Resolver): def __init__( self, - stream: SupportsWrite[bytes | str], + stream: _WriteStream[Any], default_style: str | None = ..., default_flow_style: bool | None = ..., canonical: bool | None = ..., @@ -47,7 +49,7 @@ class SafeDumper(Emitter, Serializer, SafeRepresenter, Resolver): class Dumper(Emitter, Serializer, Representer, Resolver): def __init__( self, - stream: SupportsWrite[bytes | str], + stream: _WriteStream[Any], default_style: str | None = ..., default_flow_style: bool | None = ..., canonical: bool | None = ..., diff --git a/stubs/PyYAML/yaml/emitter.pyi b/stubs/PyYAML/yaml/emitter.pyi index 9f44bd771..aaf3b02d5 100644 --- a/stubs/PyYAML/yaml/emitter.pyi +++ b/stubs/PyYAML/yaml/emitter.pyi @@ -1,7 +1,15 @@ -from typing import Any +from typing import Any, Protocol, TypeVar from yaml.error import YAMLError +_T_contra = TypeVar("_T_contra", str, bytes, contravariant=True) + +class _WriteStream(Protocol[_T_contra]): + def write(self, __data: _T_contra) -> object: ... + # Optional fields: + # encoding: str + # def flush(self) -> object: ... + class EmitterError(YAMLError): ... class ScalarAnalysis: @@ -19,7 +27,7 @@ class ScalarAnalysis: class Emitter: DEFAULT_TAG_PREFIXES: Any - stream: Any + stream: _WriteStream[Any] encoding: Any states: Any state: Any @@ -47,7 +55,9 @@ class Emitter: prepared_tag: Any analysis: Any style: Any - def __init__(self, stream, canonical=..., indent=..., width=..., allow_unicode=..., line_break=...) -> None: ... + def __init__( + self, stream: _WriteStream[Any], canonical=..., indent=..., width=..., allow_unicode=..., line_break=... + ) -> None: ... def dispose(self): ... def emit(self, event): ... def need_more_events(self): ... diff --git a/stubs/PyYAML/yaml/loader.pyi b/stubs/PyYAML/yaml/loader.pyi index 3782cd365..89dea9aaf 100644 --- a/stubs/PyYAML/yaml/loader.pyi +++ b/stubs/PyYAML/yaml/loader.pyi @@ -5,17 +5,19 @@ from yaml.reader import Reader from yaml.resolver import BaseResolver, Resolver from yaml.scanner import Scanner +from .reader import _ReadStream + class BaseLoader(Reader, Scanner, Parser, Composer, BaseConstructor, BaseResolver): - def __init__(self, stream) -> None: ... + def __init__(self, stream: _ReadStream) -> None: ... class FullLoader(Reader, Scanner, Parser, Composer, FullConstructor, Resolver): - def __init__(self, stream) -> None: ... + def __init__(self, stream: _ReadStream) -> None: ... class SafeLoader(Reader, Scanner, Parser, Composer, SafeConstructor, Resolver): - def __init__(self, stream) -> None: ... + def __init__(self, stream: _ReadStream) -> None: ... class Loader(Reader, Scanner, Parser, Composer, Constructor, Resolver): - def __init__(self, stream) -> None: ... + def __init__(self, stream: _ReadStream) -> None: ... class UnsafeLoader(Reader, Scanner, Parser, Composer, Constructor, Resolver): - def __init__(self, stream) -> None: ... + def __init__(self, stream: _ReadStream) -> None: ... diff --git a/stubs/PyYAML/yaml/reader.pyi b/stubs/PyYAML/yaml/reader.pyi index 18c3c7a9a..06e9a0f42 100644 --- a/stubs/PyYAML/yaml/reader.pyi +++ b/stubs/PyYAML/yaml/reader.pyi @@ -1,7 +1,10 @@ +from _typeshed import SupportsRead from typing import Any from yaml.error import YAMLError +_ReadStream = str | bytes | SupportsRead[str] | SupportsRead[bytes] + class ReaderError(YAMLError): name: Any character: Any @@ -12,7 +15,7 @@ class ReaderError(YAMLError): class Reader: name: Any - stream: Any + stream: SupportsRead[str] | SupportsRead[bytes] | None stream_pointer: Any eof: Any buffer: Any @@ -23,7 +26,7 @@ class Reader: index: Any line: Any column: Any - def __init__(self, stream) -> None: ... + def __init__(self, stream: _ReadStream) -> None: ... def peek(self, index=...): ... def prefix(self, length=...): ... def forward(self, length=...): ...