Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Type Loader parameter in PyYAML/yaml #9752

Merged
merged 3 commits into from
Feb 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 11 additions & 9 deletions stubs/PyYAML/yaml/__init__.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@ from typing_extensions import TypeAlias
from . import resolver as resolver # Help mypy a bit; this is implied by loader and dumper
from .constructor import BaseConstructor
from .cyaml import *
from .cyaml import _CLoader
from .dumper import *
from .dumper import _Inf
from .emitter import _WriteStream
from .error import *
from .events import *
from .loader import *
from .loader import _Loader
from .nodes import *
from .reader import _ReadStream
from .representer import BaseRepresenter
Expand All @@ -21,20 +23,20 @@ from .tokens import *
# FIXME: the functions really return str if encoding is None, otherwise bytes. Waiting for python/mypy#5621
_Yaml: TypeAlias = Any

__with_libyaml__: Any
__version__: str

_T = TypeVar("_T")
_Constructor = TypeVar("_Constructor", bound=BaseConstructor)
_Representer = TypeVar("_Representer", bound=BaseRepresenter)

__with_libyaml__: bool
__version__: str

def warnings(settings=...): ...
def scan(stream, Loader=...): ...
def parse(stream, Loader=...): ...
def compose(stream, Loader=...): ...
def compose_all(stream, Loader=...): ...
def load(stream: _ReadStream, Loader) -> Any: ...
def load_all(stream: _ReadStream, Loader) -> Iterator[Any]: ...
def scan(stream, Loader: type[_Loader | _CLoader] = ...): ...
def parse(stream, Loader: type[_Loader | _CLoader] = ...): ...
def compose(stream, Loader: type[_Loader | _CLoader] = ...): ...
def compose_all(stream, Loader: type[_Loader | _CLoader] = ...): ...
def load(stream: _ReadStream, Loader: type[_Loader | _CLoader]) -> Any: ...
def load_all(stream: _ReadStream, Loader: type[_Loader | _CLoader]) -> Iterator[Any]: ...
def full_load(stream: _ReadStream) -> Any: ...
def full_load_all(stream: _ReadStream) -> Iterator[Any]: ...
def safe_load(stream: _ReadStream) -> Any: ...
Expand Down
6 changes: 4 additions & 2 deletions stubs/PyYAML/yaml/constructor.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@ from typing import Any, ClassVar, TypeVar
from typing_extensions import TypeAlias

from yaml.error import MarkedYAMLError
from yaml.loader import BaseLoader, FullLoader, Loader, SafeLoader, UnsafeLoader
from yaml.nodes import MappingNode, Node, ScalarNode, SequenceNode

_L = TypeVar("_L", bound=Loader | BaseLoader | FullLoader | SafeLoader | UnsafeLoader)
from .cyaml import _CLoader
from .loader import _Loader

_L = TypeVar("_L", bound=_Loader | _CLoader)
_N = TypeVar("_N", bound=Node)

_Scalar: TypeAlias = str | int | float | bool | None
Expand Down
1 change: 1 addition & 0 deletions stubs/PyYAML/yaml/cyaml.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ from .resolver import BaseResolver, Resolver
__all__ = ["CBaseLoader", "CSafeLoader", "CFullLoader", "CUnsafeLoader", "CLoader", "CBaseDumper", "CSafeDumper", "CDumper"]

_Readable: TypeAlias = SupportsRead[str | bytes]
_CLoader: TypeAlias = CLoader | CBaseLoader | CFullLoader | CSafeLoader | CUnsafeLoader # noqa: Y047 # Used in other modules

class CBaseLoader(CParser, BaseConstructor, BaseResolver):
def __init__(self, stream: str | bytes | _Readable) -> None: ...
Expand Down
4 changes: 4 additions & 0 deletions stubs/PyYAML/yaml/loader.pyi
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from typing_extensions import TypeAlias

from yaml.composer import Composer
from yaml.constructor import BaseConstructor, Constructor, FullConstructor, SafeConstructor
from yaml.parser import Parser
Expand All @@ -7,6 +9,8 @@ from yaml.scanner import Scanner

from .reader import _ReadStream

_Loader: TypeAlias = Loader | BaseLoader | FullLoader | SafeLoader | UnsafeLoader # noqa: Y047 # Used in other modules

class BaseLoader(Reader, Scanner, Parser, Composer, BaseConstructor, BaseResolver):
def __init__(self, stream: _ReadStream) -> None: ...

Expand Down