Skip to content

Commit b65fa0e

Browse files
authored
Add stubs for yaml.nodes and yaml.representer (py3) (#5634)
Signed-off-by: oleg.hoefling <[email protected]>
1 parent 4c3e3a6 commit b65fa0e

File tree

2 files changed

+63
-58
lines changed

2 files changed

+63
-58
lines changed

stubs/PyYAML/yaml/nodes.pyi

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,29 @@
1-
from typing import Any
1+
from typing import Any, ClassVar
2+
3+
from yaml.error import Mark
24

35
class Node:
4-
tag: Any
6+
tag: str
57
value: Any
6-
start_mark: Any
7-
end_mark: Any
8-
def __init__(self, tag, value, start_mark, end_mark) -> None: ...
8+
start_mark: Mark | Any
9+
end_mark: Mark | Any
10+
def __init__(self, tag: str, value, start_mark: Mark | None, end_mark: Mark | None) -> None: ...
911

1012
class ScalarNode(Node):
11-
id: Any
12-
tag: Any
13-
value: Any
14-
start_mark: Any
15-
end_mark: Any
16-
style: Any
17-
def __init__(self, tag, value, start_mark=..., end_mark=..., style=...) -> None: ...
13+
id: ClassVar[str]
14+
style: str | Any
15+
def __init__(
16+
self, tag: str, value, start_mark: Mark | None = ..., end_mark: Mark | None = ..., style: str | None = ...
17+
) -> None: ...
1818

1919
class CollectionNode(Node):
20-
tag: Any
21-
value: Any
22-
start_mark: Any
23-
end_mark: Any
24-
flow_style: Any
25-
def __init__(self, tag, value, start_mark=..., end_mark=..., flow_style=...) -> None: ...
20+
flow_style: bool | Any
21+
def __init__(
22+
self, tag: str, value, start_mark: Mark | None = ..., end_mark: Mark | None = ..., flow_style: bool | None = ...
23+
) -> None: ...
2624

2725
class SequenceNode(CollectionNode):
28-
id: Any
26+
id: ClassVar[str]
2927

3028
class MappingNode(CollectionNode):
31-
id: Any
29+
id: ClassVar[str]

stubs/PyYAML/yaml/representer.pyi

Lines changed: 45 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,67 @@
1+
import datetime
12
import sys
2-
from typing import Any
3+
from types import BuiltinFunctionType, FunctionType, ModuleType
4+
from typing import Any, Callable, ClassVar, Mapping, NoReturn, Sequence, Tuple, Type, TypeVar
35

4-
from yaml.error import YAMLError
6+
from yaml.error import YAMLError as YAMLError
7+
from yaml.nodes import MappingNode as MappingNode, Node as Node, ScalarNode as ScalarNode, SequenceNode as SequenceNode
8+
9+
_T = TypeVar("_T")
10+
_R = TypeVar("_R", bound=BaseRepresenter)
511

612
class RepresenterError(YAMLError): ...
713

814
class BaseRepresenter:
9-
yaml_representers: Any
10-
yaml_multi_representers: Any
11-
default_style: Any
12-
default_flow_style: Any
15+
yaml_representers: ClassVar[dict[Type[Any], Callable[[BaseRepresenter, Any], Node]]]
16+
yaml_multi_representers: ClassVar[dict[Type[Any], Callable[[BaseRepresenter, Any], Node]]]
17+
default_style: str | Any
1318
sort_keys: bool
14-
represented_objects: Any
15-
object_keeper: Any
16-
alias_key: Any
17-
def __init__(self, default_style=..., default_flow_style=..., sort_keys: bool = ...) -> None: ...
18-
def represent(self, data): ...
19+
default_flow_style: bool
20+
represented_objects: dict[int, Node]
21+
object_keeper: list[Any]
22+
alias_key: int | Any
23+
def __init__(self, default_style: str | None = ..., default_flow_style: bool = ..., sort_keys: bool = ...) -> None: ...
24+
def represent(self, data) -> None: ...
25+
def represent_data(self, data) -> Node: ...
1926
if sys.version_info < (3, 0):
2027
def get_classobj_bases(self, cls): ...
21-
def represent_data(self, data): ...
2228
@classmethod
23-
def add_representer(cls, data_type, representer): ...
29+
def add_representer(cls: Type[_R], data_type: Type[_T], representer: Callable[[_R, _T], Node]) -> None: ...
2430
@classmethod
25-
def add_multi_representer(cls, data_type, representer): ...
26-
def represent_scalar(self, tag, value, style=...): ...
27-
def represent_sequence(self, tag, sequence, flow_style=...): ...
28-
def represent_mapping(self, tag, mapping, flow_style=...): ...
29-
def ignore_aliases(self, data): ...
31+
def add_multi_representer(cls: Type[_R], data_type: Type[_T], representer: Callable[[_R, _T], Node]) -> None: ...
32+
def represent_scalar(self, tag: str, value, style: str | None = ...) -> ScalarNode: ...
33+
def represent_sequence(self, tag: str, sequence: Sequence[Any], flow_style: bool | None = ...) -> SequenceNode: ...
34+
def represent_mapping(self, tag: str, mapping: Mapping[Any, Any], flow_style: bool | None = ...) -> MappingNode: ...
35+
def ignore_aliases(self, data) -> bool: ...
3036

3137
class SafeRepresenter(BaseRepresenter):
32-
def ignore_aliases(self, data): ...
33-
def represent_none(self, data): ...
34-
def represent_str(self, data): ...
38+
inf_value: ClassVar[float]
39+
def ignore_aliases(self, data) -> bool: ...
40+
def represent_none(self, data) -> ScalarNode: ...
41+
def represent_str(self, data: str) -> ScalarNode: ...
3542
if sys.version_info < (3, 0):
3643
def represent_unicode(self, data): ...
3744
def represent_long(self, data): ...
38-
def represent_bool(self, data): ...
39-
def represent_int(self, data): ...
40-
inf_value: Any
41-
def represent_float(self, data): ...
42-
def represent_list(self, data): ...
43-
def represent_dict(self, data): ...
44-
def represent_set(self, data): ...
45-
def represent_date(self, data): ...
46-
def represent_datetime(self, data): ...
47-
def represent_yaml_object(self, tag, data, cls, flow_style=...): ...
48-
def represent_undefined(self, data): ...
45+
def represent_binary(self, data: bytes) -> ScalarNode: ...
46+
def represent_bool(self, data: bool) -> ScalarNode: ...
47+
def represent_int(self, data: int) -> ScalarNode: ...
48+
def represent_float(self, data: float) -> ScalarNode: ...
49+
def represent_list(self, data: Sequence[Any]) -> SequenceNode: ...
50+
def represent_dict(self, data: Mapping[Any, Any]) -> MappingNode: ...
51+
def represent_set(self, data: set[Any]) -> MappingNode: ...
52+
def represent_date(self, data: datetime.date) -> ScalarNode: ...
53+
def represent_datetime(self, data: datetime.datetime) -> ScalarNode: ...
54+
def represent_yaml_object(self, tag: str, data, cls, flow_style: bool | None = ...) -> MappingNode: ...
55+
def represent_undefined(self, data) -> NoReturn: ...
4956

5057
class Representer(SafeRepresenter):
51-
def represent_str(self, data): ...
5258
if sys.version_info < (3, 0):
5359
def represent_unicode(self, data): ...
5460
def represent_long(self, data): ...
5561
def represent_instance(self, data): ...
56-
def represent_complex(self, data): ...
57-
def represent_tuple(self, data): ...
58-
def represent_name(self, data): ...
59-
def represent_module(self, data): ...
60-
def represent_object(self, data): ...
62+
def represent_complex(self, data: complex) -> ScalarNode: ...
63+
def represent_tuple(self, data: Tuple[Any, ...]) -> SequenceNode: ...
64+
def represent_name(self, data: BuiltinFunctionType | FunctionType) -> ScalarNode: ...
65+
def represent_module(self, data: ModuleType) -> ScalarNode: ...
66+
def represent_object(self, data) -> SequenceNode | MappingNode: ...
67+
def represent_ordered_dict(self, data: Mapping[Any, Any]) -> SequenceNode: ...

0 commit comments

Comments
 (0)