Skip to content

Commit 4f81ac1

Browse files
authored
Update mypy protobuf pin to include well_known_types (#4850)
1 parent f27d7de commit 4f81ac1

16 files changed

+116
-1152
lines changed

scripts/generate_proto_stubs.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#
1111
# Update these two variables when rerunning script
1212
PROTOBUF_VERSION=3.14.0
13-
MYPY_PROTOBUF_VERSION=v1.23
13+
MYPY_PROTOBUF_VERSION=8639282dae3bb64b2e1db9928d72fc374f7fa831 # Update to 1.24 when it releases
1414

1515
set -ex
1616

@@ -58,6 +58,8 @@ PROTO_FILES=$(grep "generate_proto.*google" $PYTHON_PROTOBUF_DIR/python/setup.py
5858
grep -v "test" | \
5959
grep -v google/protobuf/internal/ | \
6060
grep -v google/protobuf/pyext/python.proto | \
61+
grep -v src/google/protobuf/util/json_format.proto | \
62+
grep -v src/google/protobuf/util/json_format_proto3.proto | \
6163
sed "s:^:$PYTHON_PROTOBUF_DIR/python/:" | \
6264
xargs -L1 realpath --relative-to=. \
6365
)

third_party/2and3/google/protobuf/any_pb2.pyi

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
1-
# @generated by generate_proto_mypy_stubs.py. Do not edit!
2-
import sys
1+
"""
2+
@generated by mypy-protobuf. Do not edit manually!
3+
isort:skip_file
4+
"""
35
from google.protobuf.descriptor import (
46
Descriptor as google___protobuf___descriptor___Descriptor,
57
FileDescriptor as google___protobuf___descriptor___FileDescriptor,
68
)
79

10+
from google.protobuf.internal.well_known_types import (
11+
Any as google___protobuf___internal___well_known_types___Any,
12+
)
13+
814
from google.protobuf.message import (
915
Message as google___protobuf___message___Message,
1016
)
1117

12-
from google.protobuf.internal import well_known_types
13-
1418
from typing import (
1519
Optional as typing___Optional,
1620
Text as typing___Text,
@@ -29,7 +33,7 @@ builtin___int = int
2933

3034
DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...
3135

32-
class Any(google___protobuf___message___Message, well_known_types.Any_):
36+
class Any(google___protobuf___message___Message, google___protobuf___internal___well_known_types___Any):
3337
DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
3438
type_url: typing___Text = ...
3539
value: builtin___bytes = ...

third_party/2and3/google/protobuf/api_pb2.pyi

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
# @generated by generate_proto_mypy_stubs.py. Do not edit!
2-
import sys
1+
"""
2+
@generated by mypy-protobuf. Do not edit manually!
3+
isort:skip_file
4+
"""
35
from google.protobuf.descriptor import (
46
Descriptor as google___protobuf___descriptor___Descriptor,
57
FileDescriptor as google___protobuf___descriptor___FileDescriptor,

third_party/2and3/google/protobuf/compiler/plugin_pb2.pyi

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
# @generated by generate_proto_mypy_stubs.py. Do not edit!
2-
import sys
1+
"""
2+
@generated by mypy-protobuf. Do not edit manually!
3+
isort:skip_file
4+
"""
35
from google.protobuf.descriptor import (
46
Descriptor as google___protobuf___descriptor___Descriptor,
57
EnumDescriptor as google___protobuf___descriptor___EnumDescriptor,
@@ -96,7 +98,6 @@ class CodeGeneratorResponse(google___protobuf___message___Message):
9698
FEATURE_PROTO3_OPTIONAL = typing___cast(CodeGeneratorResponse.FeatureValue, 1)
9799
FEATURE_NONE = typing___cast(CodeGeneratorResponse.FeatureValue, 0)
98100
FEATURE_PROTO3_OPTIONAL = typing___cast(CodeGeneratorResponse.FeatureValue, 1)
99-
type___Feature = Feature
100101

101102
class File(google___protobuf___message___Message):
102103
DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

third_party/2and3/google/protobuf/descriptor_pb2.pyi

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
# @generated by generate_proto_mypy_stubs.py. Do not edit!
2-
import sys
1+
"""
2+
@generated by mypy-protobuf. Do not edit manually!
3+
isort:skip_file
4+
"""
35
from google.protobuf.descriptor import (
46
Descriptor as google___protobuf___descriptor___Descriptor,
57
EnumDescriptor as google___protobuf___descriptor___EnumDescriptor,
@@ -233,7 +235,6 @@ class FieldDescriptorProto(google___protobuf___message___Message):
233235
TYPE_SFIXED64 = typing___cast(FieldDescriptorProto.TypeValue, 16)
234236
TYPE_SINT32 = typing___cast(FieldDescriptorProto.TypeValue, 17)
235237
TYPE_SINT64 = typing___cast(FieldDescriptorProto.TypeValue, 18)
236-
type___Type = Type
237238

238239
LabelValue = typing___NewType('LabelValue', builtin___int)
239240
type___LabelValue = LabelValue
@@ -246,7 +247,6 @@ class FieldDescriptorProto(google___protobuf___message___Message):
246247
LABEL_OPTIONAL = typing___cast(FieldDescriptorProto.LabelValue, 1)
247248
LABEL_REQUIRED = typing___cast(FieldDescriptorProto.LabelValue, 2)
248249
LABEL_REPEATED = typing___cast(FieldDescriptorProto.LabelValue, 3)
249-
type___Label = Label
250250

251251
name: typing___Text = ...
252252
number: builtin___int = ...
@@ -411,7 +411,6 @@ class FileOptions(google___protobuf___message___Message):
411411
SPEED = typing___cast(FileOptions.OptimizeModeValue, 1)
412412
CODE_SIZE = typing___cast(FileOptions.OptimizeModeValue, 2)
413413
LITE_RUNTIME = typing___cast(FileOptions.OptimizeModeValue, 3)
414-
type___OptimizeMode = OptimizeMode
415414

416415
java_package: typing___Text = ...
417416
java_outer_classname: typing___Text = ...
@@ -500,7 +499,6 @@ class FieldOptions(google___protobuf___message___Message):
500499
STRING = typing___cast(FieldOptions.CTypeValue, 0)
501500
CORD = typing___cast(FieldOptions.CTypeValue, 1)
502501
STRING_PIECE = typing___cast(FieldOptions.CTypeValue, 2)
503-
type___CType = CType
504502

505503
JSTypeValue = typing___NewType('JSTypeValue', builtin___int)
506504
type___JSTypeValue = JSTypeValue
@@ -513,7 +511,6 @@ class FieldOptions(google___protobuf___message___Message):
513511
JS_NORMAL = typing___cast(FieldOptions.JSTypeValue, 0)
514512
JS_STRING = typing___cast(FieldOptions.JSTypeValue, 1)
515513
JS_NUMBER = typing___cast(FieldOptions.JSTypeValue, 2)
516-
type___JSType = JSType
517514

518515
ctype: type___FieldOptions.CTypeValue = ...
519516
packed: builtin___bool = ...
@@ -615,7 +612,6 @@ class MethodOptions(google___protobuf___message___Message):
615612
IDEMPOTENCY_UNKNOWN = typing___cast(MethodOptions.IdempotencyLevelValue, 0)
616613
NO_SIDE_EFFECTS = typing___cast(MethodOptions.IdempotencyLevelValue, 1)
617614
IDEMPOTENT = typing___cast(MethodOptions.IdempotencyLevelValue, 2)
618-
type___IdempotencyLevel = IdempotencyLevel
619615

620616
deprecated: builtin___bool = ...
621617
idempotency_level: type___MethodOptions.IdempotencyLevelValue = ...

third_party/2and3/google/protobuf/duration_pb2.pyi

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
1-
# @generated by generate_proto_mypy_stubs.py. Do not edit!
2-
import sys
1+
"""
2+
@generated by mypy-protobuf. Do not edit manually!
3+
isort:skip_file
4+
"""
35
from google.protobuf.descriptor import (
46
Descriptor as google___protobuf___descriptor___Descriptor,
57
FileDescriptor as google___protobuf___descriptor___FileDescriptor,
68
)
79

10+
from google.protobuf.internal.well_known_types import (
11+
Duration as google___protobuf___internal___well_known_types___Duration,
12+
)
13+
814
from google.protobuf.message import (
915
Message as google___protobuf___message___Message,
1016
)
1117

12-
from google.protobuf.internal import well_known_types
13-
1418
from typing import (
1519
Optional as typing___Optional,
1620
)
@@ -28,7 +32,7 @@ builtin___int = int
2832

2933
DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...
3034

31-
class Duration(google___protobuf___message___Message, well_known_types.Duration):
35+
class Duration(google___protobuf___message___Message, google___protobuf___internal___well_known_types___Duration):
3236
DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
3337
seconds: builtin___int = ...
3438
nanos: builtin___int = ...

third_party/2and3/google/protobuf/empty_pb2.pyi

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
# @generated by generate_proto_mypy_stubs.py. Do not edit!
2-
import sys
1+
"""
2+
@generated by mypy-protobuf. Do not edit manually!
3+
isort:skip_file
4+
"""
35
from google.protobuf.descriptor import (
46
Descriptor as google___protobuf___descriptor___Descriptor,
57
FileDescriptor as google___protobuf___descriptor___FileDescriptor,

third_party/2and3/google/protobuf/field_mask_pb2.pyi

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
# @generated by generate_proto_mypy_stubs.py. Do not edit!
2-
import sys
1+
"""
2+
@generated by mypy-protobuf. Do not edit manually!
3+
isort:skip_file
4+
"""
35
from google.protobuf.descriptor import (
46
Descriptor as google___protobuf___descriptor___Descriptor,
57
FileDescriptor as google___protobuf___descriptor___FileDescriptor,
@@ -9,12 +11,14 @@ from google.protobuf.internal.containers import (
911
RepeatedScalarFieldContainer as google___protobuf___internal___containers___RepeatedScalarFieldContainer,
1012
)
1113

14+
from google.protobuf.internal.well_known_types import (
15+
FieldMask as google___protobuf___internal___well_known_types___FieldMask,
16+
)
17+
1218
from google.protobuf.message import (
1319
Message as google___protobuf___message___Message,
1420
)
1521

16-
from google.protobuf.internal import well_known_types
17-
1822
from typing import (
1923
Iterable as typing___Iterable,
2024
Optional as typing___Optional,
@@ -34,7 +38,7 @@ builtin___int = int
3438

3539
DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...
3640

37-
class FieldMask(google___protobuf___message___Message, well_known_types.FieldMask):
41+
class FieldMask(google___protobuf___message___Message, google___protobuf___internal___well_known_types___FieldMask):
3842
DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
3943
paths: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text] = ...
4044

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
from datetime import datetime, timedelta
2-
from typing import Any, Optional
2+
from typing import Any as tAny, Dict, Optional, Text, Type
33

44
class Error(Exception): ...
55
class ParseError(Error): ...
66

7-
# This is named 'Any' in the original, but that conflicts with typing.Any,
8-
# and we really only need this file to mix in.
9-
class Any_:
10-
type_url: Any = ...
11-
value: Any = ...
12-
def Pack(self, msg: Any, type_url_prefix: bytes = ..., deterministic: Optional[Any] = ...) -> None: ...
13-
def Unpack(self, msg: Any): ...
7+
class Any:
8+
type_url: tAny = ...
9+
value: tAny = ...
10+
def Pack(self, msg: tAny, type_url_prefix: bytes = ..., deterministic: Optional[tAny] = ...) -> None: ...
11+
def Unpack(self, msg: tAny): ...
1412
def TypeName(self): ...
15-
def Is(self, descriptor: Any): ...
13+
def Is(self, descriptor: tAny): ...
1614

1715
class Timestamp:
1816
def ToJsonString(self) -> str: ...
@@ -35,7 +33,7 @@ class Duration:
3533
def ToJsonString(self) -> str: ...
3634
seconds: int = ...
3735
nanos: int = ...
38-
def FromJsonString(self, value: Any) -> None: ...
36+
def FromJsonString(self, value: tAny) -> None: ...
3937
def ToNanoseconds(self) -> int: ...
4038
def ToMicroseconds(self) -> int: ...
4139
def ToMilliseconds(self) -> int: ...
@@ -49,46 +47,48 @@ class Duration:
4947

5048
class FieldMask:
5149
def ToJsonString(self) -> str: ...
52-
def FromJsonString(self, value: Any) -> None: ...
53-
def IsValidForDescriptor(self, message_descriptor: Any): ...
54-
def AllFieldsFromDescriptor(self, message_descriptor: Any) -> None: ...
55-
def CanonicalFormFromMask(self, mask: Any) -> None: ...
56-
def Union(self, mask1: Any, mask2: Any) -> None: ...
57-
def Intersect(self, mask1: Any, mask2: Any) -> None: ...
50+
def FromJsonString(self, value: tAny) -> None: ...
51+
def IsValidForDescriptor(self, message_descriptor: tAny): ...
52+
def AllFieldsFromDescriptor(self, message_descriptor: tAny) -> None: ...
53+
def CanonicalFormFromMask(self, mask: tAny) -> None: ...
54+
def Union(self, mask1: tAny, mask2: tAny) -> None: ...
55+
def Intersect(self, mask1: tAny, mask2: tAny) -> None: ...
5856
def MergeMessage(
59-
self, source: Any, destination: Any, replace_message_field: bool = ..., replace_repeated_field: bool = ...
57+
self, source: tAny, destination: tAny, replace_message_field: bool = ..., replace_repeated_field: bool = ...
6058
) -> None: ...
6159

6260
class _FieldMaskTree:
63-
def __init__(self, field_mask: Optional[Any] = ...) -> None: ...
64-
def MergeFromFieldMask(self, field_mask: Any) -> None: ...
65-
def AddPath(self, path: Any): ...
66-
def ToFieldMask(self, field_mask: Any) -> None: ...
67-
def IntersectPath(self, path: Any, intersection: Any): ...
68-
def AddLeafNodes(self, prefix: Any, node: Any) -> None: ...
69-
def MergeMessage(self, source: Any, destination: Any, replace_message: Any, replace_repeated: Any) -> None: ...
61+
def __init__(self, field_mask: Optional[tAny] = ...) -> None: ...
62+
def MergeFromFieldMask(self, field_mask: tAny) -> None: ...
63+
def AddPath(self, path: tAny): ...
64+
def ToFieldMask(self, field_mask: tAny) -> None: ...
65+
def IntersectPath(self, path: tAny, intersection: tAny): ...
66+
def AddLeafNodes(self, prefix: tAny, node: tAny) -> None: ...
67+
def MergeMessage(self, source: tAny, destination: tAny, replace_message: tAny, replace_repeated: tAny) -> None: ...
7068

7169
class Struct:
72-
def __getitem__(self, key: Any): ...
73-
def __contains__(self, item: Any): ...
74-
def __setitem__(self, key: Any, value: Any) -> None: ...
75-
def __delitem__(self, key: Any) -> None: ...
70+
def __getitem__(self, key: tAny): ...
71+
def __contains__(self, item: tAny): ...
72+
def __setitem__(self, key: tAny, value: tAny) -> None: ...
73+
def __delitem__(self, key: tAny) -> None: ...
7674
def __len__(self): ...
7775
def __iter__(self): ...
7876
def keys(self): ...
7977
def values(self): ...
8078
def items(self): ...
81-
def get_or_create_list(self, key: Any): ...
82-
def get_or_create_struct(self, key: Any): ...
83-
def update(self, dictionary: Any) -> None: ...
79+
def get_or_create_list(self, key: tAny): ...
80+
def get_or_create_struct(self, key: tAny): ...
81+
def update(self, dictionary: tAny) -> None: ...
8482

8583
class ListValue:
8684
def __len__(self): ...
87-
def append(self, value: Any) -> None: ...
88-
def extend(self, elem_seq: Any) -> None: ...
89-
def __getitem__(self, index: Any): ...
90-
def __setitem__(self, index: Any, value: Any) -> None: ...
91-
def __delitem__(self, key: Any) -> None: ...
85+
def append(self, value: tAny) -> None: ...
86+
def extend(self, elem_seq: tAny) -> None: ...
87+
def __getitem__(self, index: tAny): ...
88+
def __setitem__(self, index: tAny, value: tAny) -> None: ...
89+
def __delitem__(self, key: tAny) -> None: ...
9290
def items(self) -> None: ...
9391
def add_struct(self): ...
9492
def add_list(self): ...
93+
94+
WKTBASES: Dict[Text, Type]

third_party/2and3/google/protobuf/source_context_pb2.pyi

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
# @generated by generate_proto_mypy_stubs.py. Do not edit!
2-
import sys
1+
"""
2+
@generated by mypy-protobuf. Do not edit manually!
3+
isort:skip_file
4+
"""
35
from google.protobuf.descriptor import (
46
Descriptor as google___protobuf___descriptor___Descriptor,
57
FileDescriptor as google___protobuf___descriptor___FileDescriptor,

0 commit comments

Comments
 (0)