Skip to content

Commit e8286e7

Browse files
authored
Use PEP 604 syntax in non-autogenerated protobuf stubs (#7506)
1 parent 061ddad commit e8286e7

9 files changed

+74
-77
lines changed

stubs/protobuf/google/protobuf/descriptor_pool.pyi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
from typing import Any, Optional
1+
from typing import Any
22

33
class DescriptorPool:
4-
def __new__(cls, descriptor_db: Optional[Any] = ...): ...
5-
def __init__(self, descriptor_db: Optional[Any] = ...) -> None: ...
4+
def __new__(cls, descriptor_db: Any | None = ...): ...
5+
def __init__(self, descriptor_db: Any | None = ...) -> None: ...
66
def Add(self, file_desc_proto): ...
77
def AddSerializedFile(self, serialized_file_desc_proto): ...
88
def AddDescriptor(self, desc): ...

stubs/protobuf/google/protobuf/internal/containers.pyi

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from collections.abc import MutableMapping
2-
from typing import Any, Callable, Iterable, Iterator, Optional, Sequence, Text, TypeVar, Union, overload
2+
from typing import Any, Callable, Iterable, Iterator, Sequence, Text, TypeVar, overload
33
from typing_extensions import SupportsIndex
44

55
from google.protobuf.descriptor import Descriptor
@@ -9,8 +9,8 @@ from google.protobuf.internal.type_checkers import _ValueChecker
99
from google.protobuf.message import Message
1010

1111
_T = TypeVar("_T")
12-
_K = TypeVar("_K", bound=Union[bool, int, Text])
13-
_ScalarV = TypeVar("_ScalarV", bound=Union[bool, int, float, Text, bytes])
12+
_K = TypeVar("_K", bound=bool | int | Text)
13+
_ScalarV = TypeVar("_ScalarV", bound=bool | int | float | Text | bytes)
1414
_MessageV = TypeVar("_MessageV", bound=Message)
1515
_M = TypeVar("_M")
1616

@@ -19,7 +19,7 @@ class BaseContainer(Sequence[_T]):
1919
def __len__(self) -> int: ...
2020
def __ne__(self, other: object) -> bool: ...
2121
def __hash__(self) -> int: ...
22-
def sort(self, *, key: Optional[Callable[[_T], Any]] = ..., reverse: bool = ...) -> None: ...
22+
def sort(self, *, key: Callable[[_T], Any] | None = ..., reverse: bool = ...) -> None: ...
2323
@overload
2424
def __getitem__(self, key: SupportsIndex) -> _T: ...
2525
@overload
@@ -29,7 +29,7 @@ class RepeatedScalarFieldContainer(BaseContainer[_ScalarV]):
2929
def __init__(self, message_listener: MessageListener, type_checker: _ValueChecker[_ScalarV]) -> None: ...
3030
def append(self, value: _ScalarV) -> None: ...
3131
def insert(self, key: int, value: _ScalarV) -> None: ...
32-
def extend(self, elem_seq: Optional[Iterable[_ScalarV]]) -> None: ...
32+
def extend(self, elem_seq: Iterable[_ScalarV] | None) -> None: ...
3333
def MergeFrom(self: _M, other: _M) -> None: ...
3434
def remove(self, elem: _ScalarV) -> None: ...
3535
def pop(self, key: int = ...) -> _ScalarV: ...
@@ -39,7 +39,7 @@ class RepeatedScalarFieldContainer(BaseContainer[_ScalarV]):
3939
def __setitem__(self, key: slice, value: Iterable[_ScalarV]) -> None: ...
4040
def __getslice__(self, start: int, stop: int) -> list[_ScalarV]: ...
4141
def __setslice__(self, start: int, stop: int, values: Iterable[_ScalarV]) -> None: ...
42-
def __delitem__(self, key: Union[int, slice]) -> None: ...
42+
def __delitem__(self, key: int | slice) -> None: ...
4343
def __delslice__(self, start: int, stop: int) -> None: ...
4444
def __eq__(self, other: object) -> bool: ...
4545

@@ -53,7 +53,7 @@ class RepeatedCompositeFieldContainer(BaseContainer[_MessageV]):
5353
def remove(self, elem: _MessageV) -> None: ...
5454
def pop(self, key: int = ...) -> _MessageV: ...
5555
def __getslice__(self, start: int, stop: int) -> list[_MessageV]: ...
56-
def __delitem__(self, key: Union[int, slice]) -> None: ...
56+
def __delitem__(self, key: int | slice) -> None: ...
5757
def __delslice__(self, start: int, stop: int) -> None: ...
5858
def __eq__(self, other: object) -> bool: ...
5959

@@ -74,7 +74,7 @@ class ScalarMap(MutableMapping[_K, _ScalarV]):
7474
@overload
7575
def get(self, key: _K, default: None = ...) -> _ScalarV: ...
7676
@overload
77-
def get(self, key: _K, default: Union[_ScalarV, _T]) -> Union[_ScalarV, _T]: ...
77+
def get(self, key: _K, default: _ScalarV | _T) -> _ScalarV | _T: ...
7878
def MergeFrom(self: _M, other: _M): ...
7979
def InvalidateIterators(self) -> None: ...
8080
def GetEntryClass(self) -> GeneratedProtocolMessageType: ...
@@ -96,7 +96,7 @@ class MessageMap(MutableMapping[_K, _MessageV]):
9696
@overload
9797
def get(self, key: _K, default: None = ...) -> _MessageV: ...
9898
@overload
99-
def get(self, key: _K, default: Union[_MessageV, _T]) -> Union[_MessageV, _T]: ...
99+
def get(self, key: _K, default: _MessageV | _T) -> _MessageV | _T: ...
100100
def get_or_create(self, key: _K) -> _MessageV: ...
101101
def MergeFrom(self: _M, other: _M): ...
102102
def InvalidateIterators(self) -> None: ...

stubs/protobuf/google/protobuf/internal/extension_dict.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Any, Generic, Iterator, Text, TypeVar, Union
1+
from typing import Any, Generic, Iterator, Text, TypeVar
22

33
from google.protobuf.descriptor import FieldDescriptor
44
from google.protobuf.internal.containers import RepeatedCompositeFieldContainer, RepeatedScalarFieldContainer
@@ -7,7 +7,7 @@ from google.protobuf.message import Message
77
_ContainerMessageT = TypeVar("_ContainerMessageT", bound=Message)
88
_ExtenderMessageT = TypeVar(
99
"_ExtenderMessageT",
10-
bound=Union[Message, RepeatedScalarFieldContainer[Any], RepeatedCompositeFieldContainer[Any], bool, int, float, Text, bytes],
10+
bound=Message | RepeatedScalarFieldContainer[Any] | RepeatedCompositeFieldContainer[Any] | bool | int | float | Text | bytes,
1111
)
1212

1313
class _ExtensionFieldDescriptor(FieldDescriptor, Generic[_ContainerMessageT, _ExtenderMessageT]): ...

stubs/protobuf/google/protobuf/internal/well_known_types.pyi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from datetime import datetime, timedelta
2-
from typing import Any as tAny, Optional
2+
from typing import Any as tAny
33

44
class Any:
55
type_url: tAny = ...
66
value: tAny = ...
7-
def Pack(self, msg: tAny, type_url_prefix: str = ..., deterministic: Optional[tAny] = ...) -> None: ...
7+
def Pack(self, msg: tAny, type_url_prefix: str = ..., deterministic: tAny | None = ...) -> None: ...
88
def Unpack(self, msg: tAny): ...
99
def TypeName(self): ...
1010
def Is(self, descriptor: tAny): ...
@@ -55,7 +55,7 @@ class FieldMask:
5555
) -> None: ...
5656

5757
class _FieldMaskTree:
58-
def __init__(self, field_mask: Optional[tAny] = ...) -> None: ...
58+
def __init__(self, field_mask: tAny | None = ...) -> None: ...
5959
def MergeFromFieldMask(self, field_mask: tAny) -> None: ...
6060
def AddPath(self, path: tAny): ...
6161
def ToFieldMask(self, field_mask: tAny) -> None: ...
Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Any, Optional, Text, TypeVar, Union
1+
from typing import Any, Text, TypeVar
22

33
from google.protobuf.descriptor_pool import DescriptorPool
44
from google.protobuf.message import Message
@@ -16,23 +16,20 @@ def MessageToJson(
1616
indent: int = ...,
1717
sort_keys: bool = ...,
1818
use_integers_for_enums: bool = ...,
19-
descriptor_pool: Optional[DescriptorPool] = ...,
20-
float_precision: Optional[int] = ...,
19+
descriptor_pool: DescriptorPool | None = ...,
20+
float_precision: int | None = ...,
2121
) -> str: ...
2222
def MessageToDict(
2323
message: Message,
2424
including_default_value_fields: bool = ...,
2525
preserving_proto_field_name: bool = ...,
2626
use_integers_for_enums: bool = ...,
27-
descriptor_pool: Optional[DescriptorPool] = ...,
28-
float_precision: Optional[int] = ...,
27+
descriptor_pool: DescriptorPool | None = ...,
28+
float_precision: int | None = ...,
2929
) -> dict[Text, Any]: ...
3030
def Parse(
31-
text: Union[bytes, Text],
32-
message: _MessageT,
33-
ignore_unknown_fields: bool = ...,
34-
descriptor_pool: Optional[DescriptorPool] = ...,
31+
text: bytes | Text, message: _MessageT, ignore_unknown_fields: bool = ..., descriptor_pool: DescriptorPool | None = ...
3532
) -> _MessageT: ...
3633
def ParseDict(
37-
js_dict: Any, message: _MessageT, ignore_unknown_fields: bool = ..., descriptor_pool: Optional[DescriptorPool] = ...
34+
js_dict: Any, message: _MessageT, ignore_unknown_fields: bool = ..., descriptor_pool: DescriptorPool | None = ...
3835
) -> _MessageT: ...

stubs/protobuf/google/protobuf/message_factory.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Any, Iterable, Optional
1+
from typing import Any, Iterable
22

33
from google.protobuf.descriptor import Descriptor
44
from google.protobuf.descriptor_pb2 import FileDescriptorProto
@@ -7,7 +7,7 @@ from google.protobuf.message import Message
77

88
class MessageFactory:
99
pool: Any
10-
def __init__(self, pool: Optional[DescriptorPool] = ...) -> None: ...
10+
def __init__(self, pool: DescriptorPool | None = ...) -> None: ...
1111
def GetPrototype(self, descriptor: Descriptor) -> type[Message]: ...
1212
def GetMessages(self, files: Iterable[str]) -> dict[str, type[Message]]: ...
1313

stubs/protobuf/google/protobuf/service.pyi

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from concurrent.futures import Future
2-
from typing import Callable, Optional, Text
2+
from typing import Callable, Text
33

44
from google.protobuf.descriptor import MethodDescriptor, ServiceDescriptor
55
from google.protobuf.message import Message
@@ -14,15 +14,15 @@ class Service:
1414
method_descriptor: MethodDescriptor,
1515
rpc_controller: RpcController,
1616
request: Message,
17-
done: Optional[Callable[[Message], None]],
18-
) -> Optional[Future[Message]]: ...
17+
done: Callable[[Message], None] | None,
18+
) -> Future[Message] | None: ...
1919
def GetRequestClass(self, method_descriptor: MethodDescriptor) -> type[Message]: ...
2020
def GetResponseClass(self, method_descriptor: MethodDescriptor) -> type[Message]: ...
2121

2222
class RpcController:
2323
def Reset(self) -> None: ...
2424
def Failed(self) -> bool: ...
25-
def ErrorText(self) -> Optional[Text]: ...
25+
def ErrorText(self) -> Text | None: ...
2626
def StartCancel(self) -> None: ...
2727
def SetFailed(self, reason: Text) -> None: ...
2828
def IsCanceled(self) -> bool: ...
@@ -35,5 +35,5 @@ class RpcChannel:
3535
rpc_controller: RpcController,
3636
request: Message,
3737
response_class: type[Message],
38-
done: Optional[Callable[[Message], None]],
39-
) -> Optional[Future[Message]]: ...
38+
done: Callable[[Message], None] | None,
39+
) -> Future[Message] | None: ...

stubs/protobuf/google/protobuf/symbol_database.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
from typing import Iterable, Union
1+
from typing import Iterable
22

33
from google.protobuf.descriptor import Descriptor, EnumDescriptor, FileDescriptor, ServiceDescriptor
44
from google.protobuf.message import Message
55
from google.protobuf.message_factory import MessageFactory
66

77
class SymbolDatabase(MessageFactory):
8-
def RegisterMessage(self, message: Union[type[Message], Message]) -> Union[type[Message], Message]: ...
8+
def RegisterMessage(self, message: type[Message] | Message) -> type[Message] | Message: ...
99
def RegisterMessageDescriptor(self, message_descriptor: Descriptor) -> None: ...
1010
def RegisterEnumDescriptor(self, enum_descriptor: EnumDescriptor) -> EnumDescriptor: ...
1111
def RegisterServiceDescriptor(self, service_descriptor: ServiceDescriptor) -> None: ...

0 commit comments

Comments
 (0)