mirror of
https://github.com/davidhalter/typeshed.git
synced 2026-05-04 04:25:50 +08:00
[protobuf] Bump to 7.34.1 and improve type coverage (#15569)
This commit is contained in:
@@ -26,9 +26,6 @@ google.protobuf.descriptor.ServiceDescriptor.__new__
|
||||
# It's a hack - just allow it.
|
||||
google.protobuf.internal.containers.BaseContainer.__hash__
|
||||
|
||||
# Metaclass differs:
|
||||
google.protobuf.descriptor.OneofDescriptor
|
||||
|
||||
# Runtime does not have __iter__ (yet...): hack in spirit of https://github.com/python/typeshed/issues/7813
|
||||
google.protobuf.internal.well_known_types.ListValue.__iter__
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Using an exact number in the specifier for scripts/sync_protobuf/google_protobuf.py
|
||||
# When updating, also re-run the script
|
||||
version = "~=6.32.1"
|
||||
version = "~=7.34.1"
|
||||
upstream_repository = "https://github.com/protocolbuffers/protobuf"
|
||||
extra_description = "Partially generated using [mypy-protobuf==3.6.0](https://github.com/nipunn1313/mypy-protobuf/tree/v3.6.0) and libprotoc 31.1 on [protobuf v32.1](https://github.com/protocolbuffers/protobuf/releases/tag/v32.1) (python `protobuf==6.32.1`)."
|
||||
extra_description = "Partially generated using [mypy-protobuf==3.6.0](https://github.com/nipunn1313/mypy-protobuf/tree/v3.6.0) and libprotoc 34.1 on [protobuf v34.1](https://github.com/protocolbuffers/protobuf/releases/tag/v34.1) (python `protobuf==7.34.1`)."
|
||||
partial_stub = true
|
||||
|
||||
[tool.stubtest]
|
||||
|
||||
@@ -1,6 +1,23 @@
|
||||
from _typeshed import Incomplete
|
||||
from typing import ClassVar, final
|
||||
from typing_extensions import Self
|
||||
from collections.abc import Callable, Iterable, Mapping, Sequence
|
||||
from typing import Any, ClassVar, final
|
||||
from typing_extensions import Self, disjoint_base
|
||||
|
||||
from google.protobuf.descriptor_pb2 import (
|
||||
DescriptorProto,
|
||||
EnumDescriptorProto,
|
||||
EnumOptions,
|
||||
EnumValueOptions,
|
||||
FeatureSetDefaults,
|
||||
FieldOptions,
|
||||
FileDescriptorProto,
|
||||
FileOptions,
|
||||
MessageOptions,
|
||||
MethodDescriptorProto,
|
||||
MethodOptions,
|
||||
OneofOptions,
|
||||
ServiceDescriptorProto,
|
||||
ServiceOptions,
|
||||
)
|
||||
|
||||
default_pool: DescriptorPool
|
||||
|
||||
@@ -9,93 +26,93 @@ class Arena: ...
|
||||
|
||||
@final
|
||||
class Descriptor:
|
||||
containing_type: Incomplete
|
||||
enum_types: Incomplete
|
||||
enum_types_by_name: Incomplete
|
||||
enum_values_by_name: Incomplete
|
||||
extension_ranges: Incomplete
|
||||
extensions: Incomplete
|
||||
extensions_by_name: Incomplete
|
||||
fields: Incomplete
|
||||
fields_by_camelcase_name: Incomplete
|
||||
fields_by_name: Incomplete
|
||||
fields_by_number: Incomplete
|
||||
file: Incomplete
|
||||
full_name: Incomplete
|
||||
has_options: Incomplete
|
||||
is_extendable: Incomplete
|
||||
name: Incomplete
|
||||
nested_types: Incomplete
|
||||
nested_types_by_name: Incomplete
|
||||
oneofs: Incomplete
|
||||
oneofs_by_name: Incomplete
|
||||
def __new__(cls, *args, **kwargs) -> Self: ... # incomplete
|
||||
def CopyToProto(self, object, /): ...
|
||||
def EnumValueName(self, *args, **kwargs): ... # incomplete
|
||||
def GetOptions(self): ...
|
||||
containing_type: Descriptor | None
|
||||
enum_types: Sequence[EnumDescriptor]
|
||||
enum_types_by_name: Mapping[str, EnumDescriptor]
|
||||
enum_values_by_name: dict[str, EnumValueDescriptor]
|
||||
extension_ranges: list[tuple[int, int]]
|
||||
extensions: Sequence[FieldDescriptor]
|
||||
extensions_by_name: Mapping[str, FieldDescriptor]
|
||||
fields: Sequence[FieldDescriptor]
|
||||
fields_by_camelcase_name: Mapping[str, FieldDescriptor]
|
||||
fields_by_name: Mapping[str, FieldDescriptor]
|
||||
fields_by_number: Mapping[int, FieldDescriptor]
|
||||
file: FileDescriptor
|
||||
full_name: str
|
||||
has_options: bool
|
||||
is_extendable: bool
|
||||
name: str
|
||||
nested_types: Sequence[Descriptor]
|
||||
nested_types_by_name: Mapping[str, Descriptor]
|
||||
oneofs: Sequence[OneofDescriptor]
|
||||
oneofs_by_name: Mapping[str, OneofDescriptor]
|
||||
def __new__(cls, *args, **kwargs) -> Self: ...
|
||||
def CopyToProto(self, proto: DescriptorProto, /) -> None: ...
|
||||
def EnumValueName(self, enum: str, value: int) -> str: ...
|
||||
def GetOptions(self) -> MessageOptions: ...
|
||||
|
||||
@final
|
||||
class DescriptorPool:
|
||||
def __new__(cls, *args, **kwargs) -> Self: ... # incomplete
|
||||
def Add(self, object, /): ...
|
||||
def AddSerializedFile(self, object, /): ...
|
||||
def FindAllExtensions(self, object, /): ...
|
||||
def FindEnumTypeByName(self, object, /): ...
|
||||
def FindExtensionByName(self, object, /): ...
|
||||
def FindExtensionByNumber(self, *args, **kwargs): ... # incomplete
|
||||
def FindFieldByName(self, object, /): ...
|
||||
def FindFileByName(self, object, /): ...
|
||||
def FindFileContainingSymbol(self, object, /): ...
|
||||
def FindMessageTypeByName(self, object, /): ...
|
||||
def FindMethodByName(self, object, /): ...
|
||||
def FindOneofByName(self, object, /): ...
|
||||
def FindServiceByName(self, object, /): ...
|
||||
def SetFeatureSetDefaults(self, object, /): ...
|
||||
def __new__(cls, *args, **kwargs) -> Self: ...
|
||||
def Add(self, file_desc_proto: FileDescriptorProto, /) -> None: ...
|
||||
def AddSerializedFile(self, serialized_file_desc_proto: bytes, /) -> FileDescriptor: ...
|
||||
def FindAllExtensions(self, message_descriptor: Descriptor, /) -> list[FieldDescriptor]: ...
|
||||
def FindEnumTypeByName(self, full_name: str, /) -> EnumDescriptor: ...
|
||||
def FindExtensionByName(self, full_name: str, /) -> FieldDescriptor: ...
|
||||
def FindExtensionByNumber(self, message_descriptor: Descriptor, number: int, /) -> FieldDescriptor: ...
|
||||
def FindFieldByName(self, full_name: str, /) -> FieldDescriptor: ...
|
||||
def FindFileByName(self, file_name: str, /) -> FileDescriptor: ...
|
||||
def FindFileContainingSymbol(self, symbol: str, /) -> FileDescriptor: ...
|
||||
def FindMessageTypeByName(self, full_name: str, /) -> Descriptor: ...
|
||||
def FindMethodByName(self, full_name: str, /) -> MethodDescriptor: ...
|
||||
def FindOneofByName(self, full_name: str, /) -> OneofDescriptor: ...
|
||||
def FindServiceByName(self, full_name: str, /) -> ServiceDescriptor: ...
|
||||
def SetFeatureSetDefaults(self, defaults: FeatureSetDefaults, /) -> None: ...
|
||||
|
||||
@final
|
||||
class EnumDescriptor:
|
||||
containing_type: Incomplete
|
||||
file: Incomplete
|
||||
full_name: Incomplete
|
||||
has_options: Incomplete
|
||||
is_closed: Incomplete
|
||||
name: Incomplete
|
||||
values: Incomplete
|
||||
values_by_name: Incomplete
|
||||
values_by_number: Incomplete
|
||||
def __new__(cls, *args, **kwargs) -> Self: ... # incomplete
|
||||
def CopyToProto(self, object, /): ...
|
||||
def GetOptions(self): ...
|
||||
containing_type: Descriptor | None
|
||||
file: FileDescriptor
|
||||
full_name: str
|
||||
has_options: bool
|
||||
is_closed: bool
|
||||
name: str
|
||||
values: Sequence[EnumValueDescriptor]
|
||||
values_by_name: Mapping[str, EnumValueDescriptor]
|
||||
values_by_number: Mapping[int, EnumValueDescriptor]
|
||||
def __new__(cls, *args, **kwargs) -> Self: ...
|
||||
def CopyToProto(self, proto: EnumDescriptorProto, /) -> None: ...
|
||||
def GetOptions(self) -> EnumOptions: ...
|
||||
|
||||
@final
|
||||
class EnumValueDescriptor:
|
||||
has_options: Incomplete
|
||||
index: Incomplete
|
||||
name: Incomplete
|
||||
number: Incomplete
|
||||
type: Incomplete
|
||||
def __new__(cls, *args, **kwargs) -> Self: ... # incomplete
|
||||
def GetOptions(self): ...
|
||||
has_options: bool
|
||||
index: int
|
||||
name: str
|
||||
number: int
|
||||
type: EnumDescriptor
|
||||
def __new__(cls, *args, **kwargs) -> Self: ...
|
||||
def GetOptions(self) -> EnumValueOptions: ...
|
||||
|
||||
@final
|
||||
class ExtensionDict:
|
||||
def __contains__(self, other, /) -> bool: ...
|
||||
def __delitem__(self, other, /) -> None: ...
|
||||
def __contains__(self, extension_handle: FieldDescriptor, /) -> bool: ...
|
||||
def __delitem__(self, extension_handle: FieldDescriptor, /) -> None: ...
|
||||
def __eq__(self, other: object, /) -> bool: ...
|
||||
def __ge__(self, other: object, /) -> bool: ...
|
||||
def __getitem__(self, index, /): ...
|
||||
def __getitem__(self, extension_handle: FieldDescriptor, /) -> Any: ... # Any: Message, scalar, or container
|
||||
def __gt__(self, other: object, /) -> bool: ...
|
||||
def __iter__(self): ...
|
||||
def __iter__(self) -> ExtensionIterator: ...
|
||||
def __le__(self, other: object, /) -> bool: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __lt__(self, other: object, /) -> bool: ...
|
||||
def __ne__(self, other: object, /) -> bool: ...
|
||||
def __setitem__(self, index, object, /) -> None: ...
|
||||
def __setitem__(self, extension_handle: FieldDescriptor, value: Any, /) -> None: ... # Any: Message, scalar, or container
|
||||
|
||||
@final
|
||||
class ExtensionIterator:
|
||||
def __iter__(self): ...
|
||||
def __next__(self): ...
|
||||
def __iter__(self) -> Self: ...
|
||||
def __next__(self) -> FieldDescriptor: ...
|
||||
|
||||
@final
|
||||
class FieldDescriptor:
|
||||
@@ -131,181 +148,187 @@ class FieldDescriptor:
|
||||
TYPE_STRING: ClassVar[int] = ...
|
||||
TYPE_UINT32: ClassVar[int] = ...
|
||||
TYPE_UINT64: ClassVar[int] = ...
|
||||
camelcase_name: Incomplete
|
||||
containing_oneof: Incomplete
|
||||
containing_type: Incomplete
|
||||
cpp_type: Incomplete
|
||||
default_value: Incomplete
|
||||
enum_type: Incomplete
|
||||
extension_scope: Incomplete
|
||||
file: Incomplete
|
||||
full_name: Incomplete
|
||||
has_default_value: Incomplete
|
||||
has_options: Incomplete
|
||||
has_presence: Incomplete
|
||||
index: Incomplete
|
||||
is_extension: Incomplete
|
||||
is_packed: Incomplete
|
||||
json_name: Incomplete
|
||||
label: Incomplete
|
||||
message_type: Incomplete
|
||||
name: Incomplete
|
||||
number: Incomplete
|
||||
type: Incomplete
|
||||
def __new__(cls, *args, **kwargs) -> Self: ... # incomplete
|
||||
def GetOptions(self): ...
|
||||
camelcase_name: str
|
||||
containing_oneof: OneofDescriptor | None
|
||||
containing_type: Descriptor | None
|
||||
cpp_type: int
|
||||
default_value: Any # Any: str, int, float, bytes, or bool
|
||||
enum_type: EnumDescriptor | None
|
||||
extension_scope: Descriptor | None
|
||||
file: FileDescriptor
|
||||
full_name: str
|
||||
has_default_value: bool
|
||||
has_options: bool
|
||||
has_presence: bool
|
||||
index: int
|
||||
is_extension: bool
|
||||
is_packed: bool
|
||||
is_repeated: bool
|
||||
is_required: bool
|
||||
json_name: str
|
||||
message_type: Descriptor | None
|
||||
name: str
|
||||
number: int
|
||||
type: int
|
||||
def __new__(cls, *args, **kwargs) -> Self: ...
|
||||
def GetOptions(self) -> FieldOptions: ...
|
||||
|
||||
@final
|
||||
class FileDescriptor:
|
||||
dependencies: Incomplete
|
||||
enum_types_by_name: Incomplete
|
||||
extensions_by_name: Incomplete
|
||||
has_options: Incomplete
|
||||
message_types_by_name: Incomplete
|
||||
name: Incomplete
|
||||
package: Incomplete
|
||||
pool: Incomplete
|
||||
public_dependencies: Incomplete
|
||||
serialized_pb: Incomplete
|
||||
services_by_name: Incomplete
|
||||
def __new__(cls, *args, **kwargs) -> Self: ... # incomplete
|
||||
def CopyToProto(self, object, /): ...
|
||||
def GetOptions(self): ...
|
||||
dependencies: Sequence[FileDescriptor]
|
||||
enum_types_by_name: Mapping[str, EnumDescriptor]
|
||||
extensions_by_name: Mapping[str, FieldDescriptor]
|
||||
has_options: bool
|
||||
message_types_by_name: Mapping[str, Descriptor]
|
||||
name: str
|
||||
package: str
|
||||
pool: DescriptorPool
|
||||
public_dependencies: Sequence[FileDescriptor]
|
||||
serialized_pb: bytes
|
||||
services_by_name: Mapping[str, ServiceDescriptor]
|
||||
def __new__(cls, *args, **kwargs) -> Self: ...
|
||||
def CopyToProto(self, proto: FileDescriptorProto, /) -> None: ...
|
||||
def GetOptions(self) -> FileOptions: ...
|
||||
|
||||
@final
|
||||
class MapIterator:
|
||||
def __iter__(self): ...
|
||||
def __next__(self): ...
|
||||
def __iter__(self) -> Self: ...
|
||||
def __next__(self) -> bool | int | str: ...
|
||||
|
||||
@final
|
||||
class Message:
|
||||
Extensions: Incomplete
|
||||
def __init__(self, *args, **kwargs) -> None: ... # incomplete
|
||||
def ByteSize(self): ...
|
||||
def Clear(self): ...
|
||||
def ClearExtension(self, object, /): ...
|
||||
def ClearField(self, object, /): ...
|
||||
def CopyFrom(self, object, /): ...
|
||||
def DiscardUnknownFields(self): ...
|
||||
def FindInitializationErrors(self): ...
|
||||
@classmethod
|
||||
def FromString(cls, object, /): ...
|
||||
def HasExtension(self, object, /): ...
|
||||
def HasField(self, object, /): ...
|
||||
def IsInitialized(self, *args, **kwargs): ... # incomplete
|
||||
def ListFields(self): ...
|
||||
def MergeFrom(self, object, /): ...
|
||||
def MergeFromString(self, object, /): ...
|
||||
def ParseFromString(self, object, /): ...
|
||||
def SerializePartialToString(self, *args, **kwargs): ... # incomplete
|
||||
def SerializeToString(self, *args, **kwargs): ... # incomplete
|
||||
def SetInParent(self): ...
|
||||
def UnknownFields(self): ...
|
||||
def WhichOneof(self, object, /): ...
|
||||
def __contains__(self, other, /) -> bool: ...
|
||||
def __deepcopy__(self, memo=None): ...
|
||||
def __delattr__(self, name, /): ...
|
||||
Extensions: ExtensionDict
|
||||
def __init__(self, *args, **kwargs) -> None: ...
|
||||
def __contains__(self, field_name_or_key: str, /) -> bool: ...
|
||||
def __deepcopy__(self, memo: Any = None) -> Self: ...
|
||||
def __delattr__(self, name: str, /) -> None: ...
|
||||
def __eq__(self, other: object, /) -> bool: ...
|
||||
def __ge__(self, other: object, /) -> bool: ...
|
||||
def __gt__(self, other: object, /) -> bool: ...
|
||||
def __le__(self, other: object, /) -> bool: ...
|
||||
def __lt__(self, other: object, /) -> bool: ...
|
||||
def __ne__(self, other: object, /) -> bool: ...
|
||||
def __setattr__(self, name, value, /): ...
|
||||
def __setattr__(self, name: str, value: Any, /) -> None: ... # Any: str, int, float, bytes, bool, or Message
|
||||
def MergeFrom(self, other_msg: Message, /) -> None: ...
|
||||
def CopyFrom(self, other_msg: Message, /) -> None: ...
|
||||
def Clear(self) -> None: ...
|
||||
def SetInParent(self) -> None: ...
|
||||
def IsInitialized(self, errors: list[str] | None = None) -> bool: ...
|
||||
def MergeFromString(self, serialized: bytes, /) -> int: ...
|
||||
def ParseFromString(self, serialized: bytes, /) -> int: ...
|
||||
def SerializeToString(self, *, deterministic: bool = ...) -> bytes: ...
|
||||
def SerializePartialToString(self, *, deterministic: bool = ...) -> bytes: ...
|
||||
def ListFields(self) -> list[tuple[FieldDescriptor, Any]]: ... # Any: str, int, float, bytes, bool, or Message
|
||||
def HasField(self, field_name: str, /) -> bool: ...
|
||||
def ClearField(self, field_name: str, /) -> None: ...
|
||||
def WhichOneof(self, oneof_group: str, /) -> str | None: ...
|
||||
def HasExtension(self, field_descriptor: FieldDescriptor, /) -> bool: ...
|
||||
def ClearExtension(self, field_descriptor: FieldDescriptor, /) -> None: ...
|
||||
def UnknownFields(self) -> UnknownFieldSet: ...
|
||||
def DiscardUnknownFields(self) -> None: ...
|
||||
def ByteSize(self) -> int: ...
|
||||
@classmethod
|
||||
def FromString(cls, s: bytes, /) -> Self: ...
|
||||
def FindInitializationErrors(self) -> list[str]: ...
|
||||
|
||||
@final
|
||||
@disjoint_base
|
||||
class MessageMeta(type): ...
|
||||
|
||||
@final
|
||||
class MethodDescriptor:
|
||||
client_streaming: Incomplete
|
||||
containing_service: Incomplete
|
||||
full_name: Incomplete
|
||||
index: Incomplete
|
||||
input_type: Incomplete
|
||||
name: Incomplete
|
||||
output_type: Incomplete
|
||||
server_streaming: Incomplete
|
||||
def __new__(cls, *args, **kwargs) -> Self: ... # incomplete
|
||||
def CopyToProto(self, object, /): ...
|
||||
def GetOptions(self): ...
|
||||
client_streaming: bool
|
||||
containing_service: ServiceDescriptor
|
||||
full_name: str
|
||||
has_options: bool
|
||||
index: int
|
||||
input_type: Descriptor
|
||||
name: str
|
||||
output_type: Descriptor
|
||||
server_streaming: bool
|
||||
def __new__(cls, *args, **kwargs) -> Self: ...
|
||||
def CopyToProto(self, proto: MethodDescriptorProto, /) -> None: ...
|
||||
def GetOptions(self) -> MethodOptions: ...
|
||||
|
||||
@final
|
||||
class OneofDescriptor:
|
||||
containing_type: Incomplete
|
||||
fields: Incomplete
|
||||
full_name: Incomplete
|
||||
has_options: Incomplete
|
||||
index: Incomplete
|
||||
name: Incomplete
|
||||
def __new__(cls, *args, **kwargs) -> Self: ... # incomplete
|
||||
def GetOptions(self): ...
|
||||
containing_type: Descriptor
|
||||
fields: Sequence[FieldDescriptor]
|
||||
full_name: str
|
||||
has_options: bool
|
||||
index: int
|
||||
name: str
|
||||
def __new__(cls, *args, **kwargs) -> Self: ...
|
||||
def GetOptions(self) -> OneofOptions: ...
|
||||
|
||||
@final
|
||||
class RepeatedCompositeContainer:
|
||||
def __new__(cls, *args, **kwargs) -> Self: ... # incomplete
|
||||
def MergeFrom(self, object, /): ...
|
||||
def add(self, *args, **kwargs): ... # incomplete
|
||||
def append(self, object, /): ...
|
||||
def extend(self, object, /): ...
|
||||
def insert(self, *args, **kwargs): ... # incomplete
|
||||
def pop(self, *args, **kwargs): ... # incomplete
|
||||
def remove(self, object, /): ...
|
||||
def reverse(self): ...
|
||||
def sort(self, *args, **kwargs): ... # incomplete
|
||||
def __deepcopy__(self, memo=None): ...
|
||||
def __delitem__(self, other, /) -> None: ...
|
||||
def __new__(cls, *args, **kwargs) -> Self: ...
|
||||
def MergeFrom(self, other: RepeatedCompositeContainer | Iterable[Message], /) -> None: ...
|
||||
def add(self, **kwargs: Any) -> Message: ... # Any: field names and values
|
||||
def append(self, value: Message, /) -> None: ...
|
||||
def extend(self, values: Iterable[Message], /) -> None: ...
|
||||
def insert(self, key: int, value: Message, /) -> None: ...
|
||||
def pop(self, key: int = -1, /) -> Message: ...
|
||||
def remove(self, value: Message, /) -> None: ...
|
||||
def reverse(self) -> None: ...
|
||||
def sort(self, *, key: Callable[[Any], Any] | None = None, reverse: bool = False) -> None: ...
|
||||
def clear(self) -> None: ...
|
||||
def __deepcopy__(self, memo: Any = None) -> RepeatedCompositeContainer: ...
|
||||
def __delitem__(self, key: int | slice, /) -> None: ...
|
||||
def __eq__(self, other: object, /) -> bool: ...
|
||||
def __ge__(self, other: object, /) -> bool: ...
|
||||
def __getitem__(self, index, /): ...
|
||||
def __getitem__(self, index: int | slice, /) -> Message: ...
|
||||
def __gt__(self, other: object, /) -> bool: ...
|
||||
def __le__(self, other: object, /) -> bool: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __lt__(self, other: object, /) -> bool: ...
|
||||
def __ne__(self, other: object, /) -> bool: ...
|
||||
def __setitem__(self, index, object, /) -> None: ...
|
||||
def __setitem__(self, index: int | slice, value: Message, /) -> None: ...
|
||||
|
||||
@final
|
||||
class RepeatedScalarContainer:
|
||||
def __new__(cls, *args, **kwargs) -> Self: ... # incomplete
|
||||
def MergeFrom(self, object, /): ...
|
||||
def append(self, object, /): ...
|
||||
def extend(self, object, /): ...
|
||||
def insert(self, *args, **kwargs): ... # incomplete
|
||||
def pop(self, *args, **kwargs): ... # incomplete
|
||||
def remove(self, object, /): ...
|
||||
def reverse(self): ...
|
||||
def sort(self, *args, **kwargs): ... # incomplete
|
||||
def __deepcopy__(self, memo=None): ...
|
||||
def __delitem__(self, other, /) -> None: ...
|
||||
def __new__(cls, *args, **kwargs) -> Self: ...
|
||||
def MergeFrom(self, other: Any, /) -> None: ... # Any: bool, int, float, str, or bytes
|
||||
def append(self, value: Any, /) -> None: ...
|
||||
def extend(self, values: Any, /) -> None: ...
|
||||
def insert(self, key: int, value: Any, /) -> None: ...
|
||||
def pop(self, key: int = -1, /) -> Any: ...
|
||||
def remove(self, value: Any, /) -> None: ...
|
||||
def reverse(self) -> None: ...
|
||||
def sort(self, *, key: Callable[[Any], Any] | None = None, reverse: bool = False) -> None: ...
|
||||
def clear(self) -> None: ...
|
||||
def __array__(self, dtype: Any = None, copy: bool | None = None) -> Any: ... # Any: numpy types
|
||||
def __deepcopy__(self, memo: Any = None) -> RepeatedScalarContainer: ...
|
||||
def __delitem__(self, key: int | slice, /) -> None: ...
|
||||
def __eq__(self, other: object, /) -> bool: ...
|
||||
def __ge__(self, other: object, /) -> bool: ...
|
||||
def __getitem__(self, index, /): ...
|
||||
def __getitem__(self, index: int | slice, /) -> Any: ...
|
||||
def __gt__(self, other: object, /) -> bool: ...
|
||||
def __le__(self, other: object, /) -> bool: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __lt__(self, other: object, /) -> bool: ...
|
||||
def __ne__(self, other: object, /) -> bool: ...
|
||||
def __reduce__(self): ...
|
||||
def __setitem__(self, index, object, /) -> None: ...
|
||||
def __reduce__(self) -> tuple[Any, ...]: ...
|
||||
def __setitem__(self, index: int | slice, value: Any, /) -> None: ...
|
||||
|
||||
@final
|
||||
class ServiceDescriptor:
|
||||
file: Incomplete
|
||||
full_name: Incomplete
|
||||
index: Incomplete
|
||||
methods: Incomplete
|
||||
methods_by_name: Incomplete
|
||||
name: Incomplete
|
||||
def __new__(cls, *args, **kwargs) -> Self: ... # incomplete
|
||||
def CopyToProto(self, object, /): ...
|
||||
def FindMethodByName(self, object, /): ...
|
||||
def GetOptions(self): ...
|
||||
file: FileDescriptor
|
||||
full_name: str
|
||||
has_options: bool
|
||||
index: int
|
||||
methods: Sequence[MethodDescriptor]
|
||||
methods_by_name: Mapping[str, MethodDescriptor]
|
||||
name: str
|
||||
def __new__(cls, *args, **kwargs) -> Self: ...
|
||||
def CopyToProto(self, proto: ServiceDescriptorProto, /) -> None: ...
|
||||
def FindMethodByName(self, name: str, /) -> MethodDescriptor: ...
|
||||
def GetOptions(self) -> ServiceOptions: ...
|
||||
|
||||
@final
|
||||
class UnknownFieldSet:
|
||||
def __new__(cls, *args, **kwargs) -> Self: ... # incomplete
|
||||
def __getitem__(self, index, /): ...
|
||||
def __new__(cls, *args, **kwargs) -> Self: ...
|
||||
def __getitem__(self, index: int, /) -> Any: ... # Any: internal unknown field object
|
||||
def __len__(self) -> int: ...
|
||||
|
||||
def SetAllowOversizeProtos(object, /): ... # incomplete
|
||||
def SetAllowOversizeProtos(allow: bool, /) -> None: ...
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
from typing import TypeVar
|
||||
|
||||
from google.protobuf.any_pb2 import Any
|
||||
from google.protobuf.descriptor import Descriptor
|
||||
from google.protobuf.message import Message
|
||||
|
||||
_MessageT = TypeVar("_MessageT", bound=Message)
|
||||
|
||||
def pack(msg: Message, type_url_prefix: str | None = "type.googleapis.com/", deterministic: bool | None = None) -> Any: ...
|
||||
def unpack(any_msg: Any, msg: Message) -> bool: ...
|
||||
def unpack_as(any_msg: Any, message_type: type[_MessageT]) -> _MessageT: ...
|
||||
def type_name(any_msg: Any) -> str: ...
|
||||
def is_type(any_msg: Any, des: Descriptor) -> bool: ...
|
||||
@@ -1,36 +1,43 @@
|
||||
from collections.abc import Mapping, Sequence
|
||||
from typing import Any
|
||||
|
||||
from .descriptor_pb2 import (
|
||||
DescriptorProto,
|
||||
EnumDescriptorProto,
|
||||
EnumOptions,
|
||||
EnumValueOptions,
|
||||
FieldOptions,
|
||||
FileDescriptorProto,
|
||||
FileOptions,
|
||||
MessageOptions,
|
||||
MethodDescriptorProto,
|
||||
MethodOptions,
|
||||
OneofOptions,
|
||||
ServiceDescriptorProto,
|
||||
ServiceOptions,
|
||||
)
|
||||
from .descriptor_pool import DescriptorPool
|
||||
from .message import Message
|
||||
|
||||
class Error(Exception): ...
|
||||
class TypeTransformationError(Error): ...
|
||||
|
||||
class DescriptorMetaclass(type):
|
||||
def __instancecheck__(self, obj: Any) -> bool: ...
|
||||
def __instancecheck__(cls, obj: object) -> bool: ...
|
||||
|
||||
_internal_create_key: object
|
||||
_USE_C_DESCRIPTORS: bool
|
||||
|
||||
class DescriptorBase(metaclass=DescriptorMetaclass):
|
||||
has_options: Any
|
||||
has_options: bool
|
||||
def __init__(self, file, options, serialized_options, options_class_name) -> None: ...
|
||||
def GetOptions(self): ...
|
||||
def GetOptions(self) -> Any: ... # Any: overridden with specific *Options in subclasses
|
||||
|
||||
class _NestedDescriptorBase(DescriptorBase):
|
||||
name: Any
|
||||
full_name: Any
|
||||
file: Any
|
||||
containing_type: Any
|
||||
name: str
|
||||
full_name: str
|
||||
file: FileDescriptor
|
||||
containing_type: Descriptor | None
|
||||
def __init__(
|
||||
self,
|
||||
options,
|
||||
@@ -43,87 +50,89 @@ class _NestedDescriptorBase(DescriptorBase):
|
||||
serialized_end=None,
|
||||
serialized_options=None,
|
||||
) -> None: ...
|
||||
def CopyToProto(self, proto): ...
|
||||
def CopyToProto(self, proto: Any) -> None: ... # Any: overridden with specific *Proto in subclasses
|
||||
|
||||
class Descriptor(_NestedDescriptorBase):
|
||||
fields: Any
|
||||
fields_by_number: Any
|
||||
fields_by_name: Any
|
||||
nested_types: Any
|
||||
nested_types_by_name: Any
|
||||
enum_types: Any
|
||||
enum_types_by_name: Any
|
||||
enum_values_by_name: Any
|
||||
extensions: Any
|
||||
extensions_by_name: Any
|
||||
is_extendable: Any
|
||||
extension_ranges: Any
|
||||
oneofs: Any
|
||||
oneofs_by_name: Any
|
||||
fields: Sequence[FieldDescriptor]
|
||||
fields_by_number: Mapping[int, FieldDescriptor]
|
||||
fields_by_name: Mapping[str, FieldDescriptor]
|
||||
@property
|
||||
def fields_by_camelcase_name(self) -> Mapping[str, FieldDescriptor]: ...
|
||||
nested_types: Sequence[Descriptor]
|
||||
nested_types_by_name: Mapping[str, Descriptor]
|
||||
enum_types: Sequence[EnumDescriptor]
|
||||
enum_types_by_name: Mapping[str, EnumDescriptor]
|
||||
enum_values_by_name: dict[str, EnumValueDescriptor]
|
||||
extensions: Sequence[FieldDescriptor]
|
||||
extensions_by_name: Mapping[str, FieldDescriptor]
|
||||
is_extendable: bool
|
||||
extension_ranges: list[tuple[int, int]]
|
||||
oneofs: Sequence[OneofDescriptor]
|
||||
oneofs_by_name: Mapping[str, OneofDescriptor]
|
||||
def __init__(
|
||||
self,
|
||||
name: str,
|
||||
full_name: str,
|
||||
filename: Any,
|
||||
filename: str | None,
|
||||
containing_type: Descriptor | None,
|
||||
fields: list[FieldDescriptor],
|
||||
nested_types: list[FieldDescriptor],
|
||||
enum_types: list[EnumDescriptor],
|
||||
extensions: list[FieldDescriptor],
|
||||
options=None,
|
||||
serialized_options=None,
|
||||
options: MessageOptions | None = None,
|
||||
serialized_options: bytes | None = None,
|
||||
is_extendable: bool | None = True,
|
||||
extension_ranges=None,
|
||||
extension_ranges: list[tuple[int, int]] | None = None,
|
||||
oneofs: list[OneofDescriptor] | None = None,
|
||||
file: FileDescriptor | None = None,
|
||||
serialized_start=None,
|
||||
serialized_end=None,
|
||||
serialized_start: int | None = None,
|
||||
serialized_end: int | None = None,
|
||||
syntax: str | None = None,
|
||||
is_map_entry=False,
|
||||
create_key=None,
|
||||
is_map_entry: bool = False,
|
||||
create_key: object | None = None,
|
||||
): ...
|
||||
def EnumValueName(self, enum, value): ...
|
||||
def CopyToProto(self, proto): ...
|
||||
def EnumValueName(self, enum: str, value: int) -> str: ...
|
||||
def CopyToProto(self, proto: DescriptorProto) -> None: ...
|
||||
def GetOptions(self) -> MessageOptions: ...
|
||||
|
||||
class FieldDescriptor(DescriptorBase):
|
||||
TYPE_DOUBLE: Any
|
||||
TYPE_FLOAT: Any
|
||||
TYPE_INT64: Any
|
||||
TYPE_UINT64: Any
|
||||
TYPE_INT32: Any
|
||||
TYPE_FIXED64: Any
|
||||
TYPE_FIXED32: Any
|
||||
TYPE_BOOL: Any
|
||||
TYPE_STRING: Any
|
||||
TYPE_GROUP: Any
|
||||
TYPE_MESSAGE: Any
|
||||
TYPE_BYTES: Any
|
||||
TYPE_UINT32: Any
|
||||
TYPE_ENUM: Any
|
||||
TYPE_SFIXED32: Any
|
||||
TYPE_SFIXED64: Any
|
||||
TYPE_SINT32: Any
|
||||
TYPE_SINT64: Any
|
||||
MAX_TYPE: Any
|
||||
CPPTYPE_INT32: Any
|
||||
CPPTYPE_INT64: Any
|
||||
CPPTYPE_UINT32: Any
|
||||
CPPTYPE_UINT64: Any
|
||||
CPPTYPE_DOUBLE: Any
|
||||
CPPTYPE_FLOAT: Any
|
||||
CPPTYPE_BOOL: Any
|
||||
CPPTYPE_ENUM: Any
|
||||
CPPTYPE_STRING: Any
|
||||
CPPTYPE_MESSAGE: Any
|
||||
MAX_CPPTYPE: Any
|
||||
LABEL_OPTIONAL: Any
|
||||
LABEL_REQUIRED: Any
|
||||
LABEL_REPEATED: Any
|
||||
MAX_LABEL: Any
|
||||
MAX_FIELD_NUMBER: Any
|
||||
FIRST_RESERVED_FIELD_NUMBER: Any
|
||||
LAST_RESERVED_FIELD_NUMBER: Any
|
||||
TYPE_DOUBLE: int
|
||||
TYPE_FLOAT: int
|
||||
TYPE_INT64: int
|
||||
TYPE_UINT64: int
|
||||
TYPE_INT32: int
|
||||
TYPE_FIXED64: int
|
||||
TYPE_FIXED32: int
|
||||
TYPE_BOOL: int
|
||||
TYPE_STRING: int
|
||||
TYPE_GROUP: int
|
||||
TYPE_MESSAGE: int
|
||||
TYPE_BYTES: int
|
||||
TYPE_UINT32: int
|
||||
TYPE_ENUM: int
|
||||
TYPE_SFIXED32: int
|
||||
TYPE_SFIXED64: int
|
||||
TYPE_SINT32: int
|
||||
TYPE_SINT64: int
|
||||
MAX_TYPE: int
|
||||
CPPTYPE_INT32: int
|
||||
CPPTYPE_INT64: int
|
||||
CPPTYPE_UINT32: int
|
||||
CPPTYPE_UINT64: int
|
||||
CPPTYPE_DOUBLE: int
|
||||
CPPTYPE_FLOAT: int
|
||||
CPPTYPE_BOOL: int
|
||||
CPPTYPE_ENUM: int
|
||||
CPPTYPE_STRING: int
|
||||
CPPTYPE_MESSAGE: int
|
||||
MAX_CPPTYPE: int
|
||||
LABEL_OPTIONAL: int
|
||||
LABEL_REQUIRED: int
|
||||
LABEL_REPEATED: int
|
||||
MAX_LABEL: int
|
||||
MAX_FIELD_NUMBER: int
|
||||
FIRST_RESERVED_FIELD_NUMBER: int
|
||||
LAST_RESERVED_FIELD_NUMBER: int
|
||||
def __new__(
|
||||
cls,
|
||||
name,
|
||||
@@ -147,14 +156,12 @@ class FieldDescriptor(DescriptorBase):
|
||||
file=None,
|
||||
create_key=None,
|
||||
): ...
|
||||
name: Any
|
||||
full_name: Any
|
||||
index: Any
|
||||
number: Any
|
||||
type: Any
|
||||
cpp_type: Any
|
||||
@property
|
||||
def label(self): ...
|
||||
name: str
|
||||
full_name: str
|
||||
index: int
|
||||
number: int
|
||||
type: int
|
||||
cpp_type: int
|
||||
@property
|
||||
def is_required(self) -> bool: ...
|
||||
@property
|
||||
@@ -165,14 +172,15 @@ class FieldDescriptor(DescriptorBase):
|
||||
def has_presence(self) -> bool: ...
|
||||
@property
|
||||
def is_packed(self) -> bool: ...
|
||||
has_default_value: Any
|
||||
default_value: Any
|
||||
containing_type: Any
|
||||
message_type: Any
|
||||
enum_type: Any
|
||||
is_extension: Any
|
||||
extension_scope: Any
|
||||
containing_oneof: Any
|
||||
has_default_value: bool
|
||||
default_value: Any # Any: str, int, float, bytes, or bool
|
||||
containing_type: Descriptor | None
|
||||
message_type: Descriptor | None
|
||||
enum_type: EnumDescriptor | None
|
||||
is_extension: bool
|
||||
extension_scope: Descriptor | None
|
||||
containing_oneof: OneofDescriptor | None
|
||||
json_name: str
|
||||
def __init__(
|
||||
self,
|
||||
name,
|
||||
@@ -197,7 +205,7 @@ class FieldDescriptor(DescriptorBase):
|
||||
create_key=None,
|
||||
) -> None: ...
|
||||
@staticmethod
|
||||
def ProtoTypeToCppProtoType(proto_type): ...
|
||||
def ProtoTypeToCppProtoType(proto_type: int) -> int: ...
|
||||
def GetOptions(self) -> FieldOptions: ...
|
||||
|
||||
class EnumDescriptor(_NestedDescriptorBase):
|
||||
@@ -215,9 +223,9 @@ class EnumDescriptor(_NestedDescriptorBase):
|
||||
serialized_end=None,
|
||||
create_key=None,
|
||||
): ...
|
||||
values: Any
|
||||
values_by_name: Any
|
||||
values_by_number: Any
|
||||
values: Sequence[EnumValueDescriptor]
|
||||
values_by_name: Mapping[str, EnumValueDescriptor]
|
||||
values_by_number: Mapping[int, EnumValueDescriptor]
|
||||
def __init__(
|
||||
self,
|
||||
name,
|
||||
@@ -232,34 +240,36 @@ class EnumDescriptor(_NestedDescriptorBase):
|
||||
serialized_end=None,
|
||||
create_key=None,
|
||||
) -> None: ...
|
||||
def CopyToProto(self, proto): ...
|
||||
@property
|
||||
def is_closed(self) -> bool: ...
|
||||
def CopyToProto(self, proto: EnumDescriptorProto) -> None: ...
|
||||
def GetOptions(self) -> EnumOptions: ...
|
||||
|
||||
class EnumValueDescriptor(DescriptorBase):
|
||||
def __new__(cls, name, index, number, type=None, options=None, serialized_options=None, create_key=None): ...
|
||||
name: Any
|
||||
index: Any
|
||||
number: Any
|
||||
type: Any
|
||||
name: str
|
||||
index: int
|
||||
number: int
|
||||
type: EnumDescriptor
|
||||
def __init__(self, name, index, number, type=None, options=None, serialized_options=None, create_key=None) -> None: ...
|
||||
def GetOptions(self) -> EnumValueOptions: ...
|
||||
|
||||
class OneofDescriptor:
|
||||
class OneofDescriptor(DescriptorBase):
|
||||
def __new__(cls, name, full_name, index, containing_type, fields, options=None, serialized_options=None, create_key=None): ...
|
||||
name: Any
|
||||
full_name: Any
|
||||
index: Any
|
||||
containing_type: Any
|
||||
fields: Any
|
||||
name: str
|
||||
full_name: str
|
||||
index: int
|
||||
containing_type: Descriptor
|
||||
fields: Sequence[FieldDescriptor]
|
||||
def __init__(
|
||||
self, name, full_name, index, containing_type, fields, options=None, serialized_options=None, create_key=None
|
||||
) -> None: ...
|
||||
def GetOptions(self) -> OneofOptions: ...
|
||||
|
||||
class ServiceDescriptor(_NestedDescriptorBase):
|
||||
index: Any
|
||||
methods: Any
|
||||
methods_by_name: Any
|
||||
index: int
|
||||
methods: Sequence[MethodDescriptor]
|
||||
methods_by_name: Mapping[str, MethodDescriptor]
|
||||
def __init__(
|
||||
self,
|
||||
name: str,
|
||||
@@ -267,14 +277,14 @@ class ServiceDescriptor(_NestedDescriptorBase):
|
||||
index: int,
|
||||
methods: list[MethodDescriptor],
|
||||
options: ServiceOptions | None = None,
|
||||
serialized_options=None,
|
||||
serialized_options: bytes | None = None,
|
||||
file: FileDescriptor | None = None,
|
||||
serialized_start=None,
|
||||
serialized_end=None,
|
||||
create_key=None,
|
||||
serialized_start: int | None = None,
|
||||
serialized_end: int | None = None,
|
||||
create_key: object | None = None,
|
||||
): ...
|
||||
def FindMethodByName(self, name): ...
|
||||
def CopyToProto(self, proto): ...
|
||||
def FindMethodByName(self, name: str) -> MethodDescriptor: ...
|
||||
def CopyToProto(self, proto: ServiceDescriptorProto) -> None: ...
|
||||
def GetOptions(self) -> ServiceOptions: ...
|
||||
|
||||
class MethodDescriptor(DescriptorBase):
|
||||
@@ -292,12 +302,12 @@ class MethodDescriptor(DescriptorBase):
|
||||
serialized_options=None,
|
||||
create_key=None,
|
||||
): ...
|
||||
name: Any
|
||||
full_name: Any
|
||||
index: Any
|
||||
containing_service: Any
|
||||
input_type: Any
|
||||
output_type: Any
|
||||
name: str
|
||||
full_name: str
|
||||
index: int
|
||||
containing_service: ServiceDescriptor
|
||||
input_type: Descriptor
|
||||
output_type: Descriptor
|
||||
client_streaming: bool
|
||||
server_streaming: bool
|
||||
def __init__(
|
||||
@@ -314,6 +324,7 @@ class MethodDescriptor(DescriptorBase):
|
||||
serialized_options=None,
|
||||
create_key=None,
|
||||
) -> None: ...
|
||||
def CopyToProto(self, proto: MethodDescriptorProto) -> None: ...
|
||||
def GetOptions(self) -> MethodOptions: ...
|
||||
|
||||
class FileDescriptor(DescriptorBase):
|
||||
@@ -332,16 +343,16 @@ class FileDescriptor(DescriptorBase):
|
||||
create_key=None,
|
||||
): ...
|
||||
_options: Any
|
||||
pool: Any
|
||||
message_types_by_name: Any
|
||||
name: Any
|
||||
package: Any
|
||||
serialized_pb: Any
|
||||
enum_types_by_name: Any
|
||||
extensions_by_name: Any
|
||||
services_by_name: Any
|
||||
dependencies: Any
|
||||
public_dependencies: Any
|
||||
pool: DescriptorPool
|
||||
message_types_by_name: Mapping[str, Descriptor]
|
||||
name: str
|
||||
package: str
|
||||
serialized_pb: bytes
|
||||
enum_types_by_name: Mapping[str, EnumDescriptor]
|
||||
extensions_by_name: Mapping[str, FieldDescriptor]
|
||||
services_by_name: Mapping[str, ServiceDescriptor]
|
||||
dependencies: Sequence[FileDescriptor]
|
||||
public_dependencies: Sequence[FileDescriptor]
|
||||
def __init__(
|
||||
self,
|
||||
name,
|
||||
@@ -356,8 +367,15 @@ class FileDescriptor(DescriptorBase):
|
||||
pool=None,
|
||||
create_key=None,
|
||||
) -> None: ...
|
||||
def CopyToProto(self, proto): ...
|
||||
def CopyToProto(self, proto: FileDescriptorProto) -> None: ...
|
||||
def GetOptions(self) -> FileOptions: ...
|
||||
|
||||
def MakeDescriptor(desc_proto, package="", build_file_if_cpp=True, syntax=None, edition=None, file_desc=None): ...
|
||||
def _ParseOptions(message: Message, string: bytes) -> Message: ...
|
||||
def MakeDescriptor(
|
||||
desc_proto: DescriptorProto,
|
||||
package: str = "",
|
||||
build_file_if_cpp: bool = True,
|
||||
syntax: str | None = None,
|
||||
edition: str | None = None,
|
||||
file_desc: FileDescriptor | None = None,
|
||||
) -> Descriptor: ...
|
||||
|
||||
@@ -9,8 +9,8 @@ class DescriptorDatabaseConflictingDefinitionError(Error): ...
|
||||
|
||||
class DescriptorDatabase:
|
||||
def __init__(self) -> None: ...
|
||||
def Add(self, file_desc_proto) -> None: ...
|
||||
def FindFileByName(self, name): ...
|
||||
def FindFileContainingSymbol(self, symbol): ...
|
||||
def FindFileContainingExtension(self, extendee_name, extension_number) -> FileDescriptorProto | None: ...
|
||||
def FindAllExtensionNumbers(self, extendee_name) -> list[int]: ...
|
||||
def Add(self, file_desc_proto: FileDescriptorProto) -> None: ...
|
||||
def FindFileByName(self, name: str) -> FileDescriptorProto: ...
|
||||
def FindFileContainingSymbol(self, symbol: str) -> FileDescriptorProto: ...
|
||||
def FindFileContainingExtension(self, extendee_name: str, extension_number: int) -> FileDescriptorProto | None: ...
|
||||
def FindAllExtensionNumbers(self, extendee_name: str) -> list[int]: ...
|
||||
|
||||
@@ -1,22 +1,36 @@
|
||||
from _typeshed import Unused
|
||||
from typing import Any
|
||||
from typing_extensions import Self
|
||||
|
||||
from .descriptor import (
|
||||
Descriptor,
|
||||
EnumDescriptor,
|
||||
FieldDescriptor,
|
||||
FileDescriptor,
|
||||
MethodDescriptor,
|
||||
OneofDescriptor,
|
||||
ServiceDescriptor,
|
||||
)
|
||||
from .descriptor_pb2 import FeatureSetDefaults, FileDescriptorProto
|
||||
|
||||
class DescriptorPool:
|
||||
def __new__(cls, descriptor_db=None): ...
|
||||
def __new__(cls, descriptor_db: Any = None) -> Self: ...
|
||||
def __init__( # pyright: ignore[reportInconsistentConstructor]
|
||||
self, descriptor_db=None, use_deprecated_legacy_json_field_conflicts: Unused = False
|
||||
self, descriptor_db: Any = None, use_deprecated_legacy_json_field_conflicts: Unused = False
|
||||
) -> None: ...
|
||||
def Add(self, file_desc_proto): ...
|
||||
def AddSerializedFile(self, serialized_file_desc_proto): ...
|
||||
def FindFileByName(self, file_name): ...
|
||||
def FindFileContainingSymbol(self, symbol): ...
|
||||
def FindMessageTypeByName(self, full_name): ...
|
||||
def FindEnumTypeByName(self, full_name): ...
|
||||
def FindFieldByName(self, full_name): ...
|
||||
def FindOneofByName(self, full_name): ...
|
||||
def FindExtensionByName(self, full_name): ...
|
||||
def FindExtensionByNumber(self, message_descriptor, number): ...
|
||||
def FindAllExtensions(self, message_descriptor): ...
|
||||
def FindServiceByName(self, full_name): ...
|
||||
def FindMethodByName(self, full_name): ...
|
||||
def Add(self, file_desc_proto: FileDescriptorProto) -> None: ...
|
||||
def AddSerializedFile(self, serialized_file_desc_proto: bytes) -> FileDescriptor: ...
|
||||
def FindFileByName(self, file_name: str) -> FileDescriptor: ...
|
||||
def FindFileContainingSymbol(self, symbol: str) -> FileDescriptor: ...
|
||||
def FindMessageTypeByName(self, full_name: str) -> Descriptor: ...
|
||||
def FindEnumTypeByName(self, full_name: str) -> EnumDescriptor: ...
|
||||
def FindFieldByName(self, full_name: str) -> FieldDescriptor: ...
|
||||
def FindOneofByName(self, full_name: str) -> OneofDescriptor: ...
|
||||
def FindExtensionByName(self, full_name: str) -> FieldDescriptor: ...
|
||||
def FindExtensionByNumber(self, message_descriptor: Descriptor, number: int) -> FieldDescriptor: ...
|
||||
def FindAllExtensions(self, message_descriptor: Descriptor) -> list[FieldDescriptor]: ...
|
||||
def FindServiceByName(self, full_name: str) -> ServiceDescriptor: ...
|
||||
def FindMethodByName(self, full_name: str) -> MethodDescriptor: ...
|
||||
def SetFeatureSetDefaults(self, defaults: FeatureSetDefaults) -> None: ...
|
||||
|
||||
def Default(): ...
|
||||
def Default() -> DescriptorPool: ...
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
from datetime import timedelta
|
||||
|
||||
from google.protobuf.duration_pb2 import Duration
|
||||
|
||||
def from_json_string(value: str) -> Duration: ...
|
||||
def from_microseconds(micros: float) -> Duration: ...
|
||||
def from_milliseconds(millis: float) -> Duration: ...
|
||||
def from_nanoseconds(nanos: float) -> Duration: ...
|
||||
def from_seconds(seconds: float) -> Duration: ...
|
||||
def from_timedelta(td: timedelta) -> Duration: ...
|
||||
def to_json_string(duration: Duration) -> str: ...
|
||||
def to_microseconds(duration: Duration) -> int: ...
|
||||
def to_milliseconds(duration: Duration) -> int: ...
|
||||
def to_nanoseconds(duration: Duration) -> int: ...
|
||||
def to_seconds(duration: Duration) -> int: ...
|
||||
def to_timedelta(duration: Duration) -> timedelta: ...
|
||||
@@ -1,4 +1,9 @@
|
||||
from types import ModuleType
|
||||
from typing import Any
|
||||
|
||||
def BuildMessageAndEnumDescriptors(file_des, module: dict[str, Any]) -> None: ...
|
||||
def BuildTopDescriptorsAndMessages(file_des, module_name: str, module: dict[str, Any]) -> None: ...
|
||||
from google.protobuf.descriptor import FileDescriptor
|
||||
|
||||
def BuildMessageAndEnumDescriptors(file_des: FileDescriptor, module: dict[str, Any]) -> None: ...
|
||||
def BuildTopDescriptorsAndMessages(file_des: FileDescriptor, module_name: str, module: dict[str, Any]) -> None: ...
|
||||
def AddHelpersToExtensions(file_des: FileDescriptor) -> None: ...
|
||||
def BuildServices(file_des: FileDescriptor, module_name: str, module: ModuleType) -> None: ...
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
from collections.abc import Callable, Iterable, Iterator, MutableMapping, MutableSequence, Sequence
|
||||
from typing import Any, Protocol, SupportsIndex, TypeVar, overload, type_check_only
|
||||
from typing_extensions import Self
|
||||
|
||||
from google.protobuf.descriptor import Descriptor
|
||||
from google.protobuf.descriptor import Descriptor, FieldDescriptor
|
||||
from google.protobuf.internal.message_listener import MessageListener
|
||||
from google.protobuf.internal.python_message import GeneratedProtocolMessageType
|
||||
from google.protobuf.message import Message
|
||||
@@ -20,24 +19,26 @@ class _ValueChecker(Protocol[_T]):
|
||||
class BaseContainer(Sequence[_T]):
|
||||
__slots__ = ["_message_listener", "_values"]
|
||||
def __init__(self, message_listener: MessageListener) -> None: ...
|
||||
@overload
|
||||
def __getitem__(self, key: SupportsIndex) -> _T: ...
|
||||
@overload
|
||||
def __getitem__(self, key: slice) -> list[_T]: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __ne__(self, other: object) -> bool: ...
|
||||
def __hash__(self) -> int: ...
|
||||
# Same as list.sort, the extra sort_function kwarg errors in Python 3
|
||||
def sort(self, *, key: Callable[[_T], Any] | None = None, reverse: bool = False) -> None: ...
|
||||
def reverse(self) -> None: ...
|
||||
@overload
|
||||
def __getitem__(self, key: SupportsIndex) -> _T: ...
|
||||
@overload
|
||||
def __getitem__(self, key: slice) -> list[_T]: ...
|
||||
|
||||
class RepeatedScalarFieldContainer(BaseContainer[_ScalarV], MutableSequence[_ScalarV]):
|
||||
__slots__ = ["_type_checker"]
|
||||
def __init__(self, message_listener: MessageListener, type_checker: _ValueChecker[_ScalarV]) -> None: ...
|
||||
def __init__(
|
||||
self, message_listener: MessageListener, type_checker: _ValueChecker[_ScalarV], field: FieldDescriptor | None = None
|
||||
) -> None: ...
|
||||
def append(self, value: _ScalarV) -> None: ...
|
||||
def insert(self, key: int, value: _ScalarV) -> None: ...
|
||||
def extend(self, elem_seq: Iterable[_ScalarV] | None) -> None: ...
|
||||
def MergeFrom(self, other: Self | Iterable[_ScalarV]) -> None: ...
|
||||
def MergeFrom(self, other: RepeatedScalarFieldContainer[_ScalarV] | Iterable[_ScalarV]) -> None: ...
|
||||
def remove(self, elem: _ScalarV) -> None: ...
|
||||
def pop(self, key: int = -1) -> _ScalarV: ...
|
||||
@overload
|
||||
@@ -46,15 +47,17 @@ class RepeatedScalarFieldContainer(BaseContainer[_ScalarV], MutableSequence[_Sca
|
||||
def __setitem__(self, key: slice, value: Iterable[_ScalarV]) -> None: ...
|
||||
def __delitem__(self, key: int | slice) -> None: ...
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
def __deepcopy__(self, unused_memo: Any = None) -> RepeatedScalarFieldContainer[_ScalarV]: ...
|
||||
def __array__(self, dtype: Any = None, copy: bool | None = None) -> Any: ... # Any: numpy types
|
||||
|
||||
class RepeatedCompositeFieldContainer(BaseContainer[_MessageV], MutableSequence[_MessageV]):
|
||||
__slots__ = ["_message_descriptor"]
|
||||
def __init__(self, message_listener: MessageListener, message_descriptor: Descriptor) -> None: ...
|
||||
def add(self, **kwargs: Any) -> _MessageV: ...
|
||||
def add(self, **kwargs: Any) -> _MessageV: ... # Any: field names and values
|
||||
def append(self, value: _MessageV) -> None: ...
|
||||
def insert(self, key: int, value: _MessageV) -> None: ...
|
||||
def extend(self, elem_seq: Iterable[_MessageV]) -> None: ...
|
||||
def MergeFrom(self, other: Self | Iterable[_MessageV]) -> None: ...
|
||||
def MergeFrom(self, other: RepeatedCompositeFieldContainer[_MessageV] | Iterable[_MessageV]) -> None: ...
|
||||
def remove(self, elem: _MessageV) -> None: ...
|
||||
def pop(self, key: int = -1) -> _MessageV: ...
|
||||
@overload
|
||||
@@ -73,21 +76,22 @@ class ScalarMap(MutableMapping[_K, _ScalarV]):
|
||||
value_checker: _ValueChecker[_ScalarV],
|
||||
entry_descriptor: Descriptor,
|
||||
) -> None: ...
|
||||
def __setitem__(self, k: _K, v: _ScalarV) -> None: ...
|
||||
def __delitem__(self, v: _K) -> None: ...
|
||||
def __getitem__(self, k: _K) -> _ScalarV: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __iter__(self) -> Iterator[_K]: ...
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
def __getitem__(self, key: _K) -> _ScalarV: ...
|
||||
@overload
|
||||
def get(self, key: _K, default: None = None) -> _ScalarV | None: ...
|
||||
@overload
|
||||
def get(self, key: _K, default: _ScalarV) -> _ScalarV: ...
|
||||
@overload
|
||||
def get(self, key: _K, default: _T) -> _ScalarV | _T: ...
|
||||
def __setitem__(self, key: _K, value: _ScalarV) -> None: ...
|
||||
def __delitem__(self, key: _K) -> None: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __iter__(self) -> Iterator[_K]: ...
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
def setdefault(self, key: _K, value: _ScalarV | None = None) -> _ScalarV: ...
|
||||
def MergeFrom(self, other: Self): ...
|
||||
def MergeFrom(self, other: ScalarMap[_K, _ScalarV]) -> None: ...
|
||||
def InvalidateIterators(self) -> None: ...
|
||||
def clear(self) -> None: ...
|
||||
def GetEntryClass(self) -> GeneratedProtocolMessageType: ...
|
||||
|
||||
class MessageMap(MutableMapping[_K, _MessageV]):
|
||||
@@ -99,20 +103,37 @@ class MessageMap(MutableMapping[_K, _MessageV]):
|
||||
key_checker: _ValueChecker[_K],
|
||||
entry_descriptor: Descriptor,
|
||||
) -> None: ...
|
||||
def __setitem__(self, k: _K, v: _MessageV) -> None: ...
|
||||
def __delitem__(self, v: _K) -> None: ...
|
||||
def __getitem__(self, k: _K) -> _MessageV: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __iter__(self) -> Iterator[_K]: ...
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
def __getitem__(self, key: _K) -> _MessageV: ...
|
||||
def get_or_create(self, key: _K) -> _MessageV: ...
|
||||
@overload
|
||||
def get(self, key: _K, default: None = None) -> _MessageV | None: ...
|
||||
@overload
|
||||
def get(self, key: _K, default: _MessageV) -> _MessageV: ...
|
||||
@overload
|
||||
def get(self, key: _K, default: _T) -> _MessageV | _T: ...
|
||||
def get_or_create(self, key: _K) -> _MessageV: ...
|
||||
def __setitem__(self, key: _K, value: _MessageV) -> None: ...
|
||||
def __delitem__(self, key: _K) -> None: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __iter__(self) -> Iterator[_K]: ...
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
def setdefault(self, key: _K, value: _MessageV | None = None) -> _MessageV: ...
|
||||
def MergeFrom(self, other: Self): ...
|
||||
def MergeFrom(self, other: MessageMap[_K, _MessageV]) -> None: ...
|
||||
def InvalidateIterators(self) -> None: ...
|
||||
def clear(self) -> None: ...
|
||||
def GetEntryClass(self) -> GeneratedProtocolMessageType: ...
|
||||
|
||||
class UnknownFieldRef:
|
||||
def __init__(self, parent: UnknownFieldSet, index: int) -> None: ...
|
||||
@property
|
||||
def field_number(self) -> int: ...
|
||||
@property
|
||||
def wire_type(self) -> int: ...
|
||||
@property
|
||||
def data(self) -> Any: ... # Any: int, bytes, or UnknownFieldSet
|
||||
|
||||
class UnknownFieldSet:
|
||||
__slots__ = ["_values"]
|
||||
def __init__(self) -> None: ...
|
||||
def __getitem__(self, index: int) -> UnknownFieldRef: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __iter__(self) -> Iterator[UnknownFieldRef]: ...
|
||||
|
||||
@@ -8,7 +8,17 @@ from google.protobuf.message import Message
|
||||
_Decoder: TypeAlias = Callable[[str, int, int, Message, dict[FieldDescriptor, Any]], int]
|
||||
_NewDefault: TypeAlias = Callable[[Message], Message]
|
||||
|
||||
def ReadTag(buffer, pos): ...
|
||||
def IsDefaultScalarValue(value: Any) -> bool: ...
|
||||
def ReadTag(buffer: bytes, pos: int) -> tuple[bytes, int]: ...
|
||||
def DecodeTag(tag_bytes: bytes) -> tuple[int, int]: ...
|
||||
def EnumDecoder(
|
||||
field_number: int,
|
||||
is_repeated: bool,
|
||||
is_packed: bool,
|
||||
key: FieldDescriptor,
|
||||
new_default: _NewDefault,
|
||||
clear_if_default: bool = False,
|
||||
) -> _Decoder: ...
|
||||
|
||||
Int32Decoder: _Decoder
|
||||
Int64Decoder: _Decoder
|
||||
@@ -24,14 +34,6 @@ FloatDecoder: _Decoder
|
||||
DoubleDecoder: _Decoder
|
||||
BoolDecoder: _Decoder
|
||||
|
||||
def EnumDecoder(
|
||||
field_number: int,
|
||||
is_repeated: bool,
|
||||
is_packed: bool,
|
||||
key: FieldDescriptor,
|
||||
new_default: _NewDefault,
|
||||
clear_if_default: bool = False,
|
||||
) -> _Decoder: ...
|
||||
def StringDecoder(
|
||||
field_number: int,
|
||||
is_repeated: bool,
|
||||
@@ -58,4 +60,9 @@ def MessageDecoder(
|
||||
MESSAGE_SET_ITEM_TAG: bytes
|
||||
|
||||
def MessageSetItemDecoder(descriptor: Descriptor) -> _Decoder: ...
|
||||
def MapDecoder(field_descriptor, new_default, is_message_map) -> _Decoder: ...
|
||||
def UnknownMessageSetItemDecoder() -> _Decoder: ...
|
||||
def MapDecoder(field_descriptor: FieldDescriptor, new_default: _NewDefault, is_message_map: bool) -> _Decoder: ...
|
||||
|
||||
DEFAULT_RECURSION_LIMIT: int
|
||||
|
||||
def SetRecursionLimit(new_limit: int) -> None: ...
|
||||
|
||||
@@ -19,4 +19,5 @@ class _EnumTypeWrapper(type, Generic[_V]):
|
||||
def values(self) -> list[_V]: ...
|
||||
def items(self) -> list[tuple[str, _V]]: ...
|
||||
|
||||
class EnumTypeWrapper(_EnumTypeWrapper[int]): ...
|
||||
class EnumTypeWrapper(_EnumTypeWrapper[int]):
|
||||
ValueType = int
|
||||
|
||||
@@ -19,10 +19,10 @@ class _ExtensionDict(Generic[_ContainerMessageT]):
|
||||
def __getitem__(
|
||||
self, extension_handle: _ExtensionFieldDescriptor[_ContainerMessageT, _ExtenderMessageT]
|
||||
) -> _ExtenderMessageT: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __setitem__(
|
||||
self, extension_handle: _ExtensionFieldDescriptor[_ContainerMessageT, _ExtenderMessageT], value: _ExtenderMessageT
|
||||
) -> None: ...
|
||||
def __delitem__(self, extension_handle: _ExtensionFieldDescriptor[_ContainerMessageT, _ExtenderMessageT]) -> None: ...
|
||||
def __contains__(self, extension_handle: _ExtensionFieldDescriptor[_ContainerMessageT, _ExtenderMessageT]) -> bool: ...
|
||||
def __iter__(self) -> Iterator[_ExtensionFieldDescriptor[_ContainerMessageT, Any]]: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __contains__(self, extension_handle: _ExtensionFieldDescriptor[_ContainerMessageT, _ExtenderMessageT]) -> bool: ...
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
from google.protobuf.descriptor import Descriptor, FieldDescriptor as FieldDescriptor
|
||||
from google.protobuf.message import Message
|
||||
|
||||
class FieldMask:
|
||||
def ToJsonString(self) -> str: ...
|
||||
def FromJsonString(self, value: str) -> None: ...
|
||||
def IsValidForDescriptor(self, message_descriptor: Descriptor) -> bool: ...
|
||||
def AllFieldsFromDescriptor(self, message_descriptor: Descriptor) -> None: ...
|
||||
def CanonicalFormFromMask(self, mask: FieldMask) -> None: ...
|
||||
def Union(self, mask1: FieldMask, mask2: FieldMask) -> None: ...
|
||||
def Intersect(self, mask1: FieldMask, mask2: FieldMask) -> None: ...
|
||||
def MergeMessage(
|
||||
self, source: Message, destination: Message, replace_message_field: bool = False, replace_repeated_field: bool = False
|
||||
) -> None: ...
|
||||
@@ -1,5 +1,5 @@
|
||||
class MessageListener:
|
||||
def Modified(self) -> None: ...
|
||||
|
||||
class NullMessageListener(MessageListener):
|
||||
class NullMessageListener:
|
||||
def Modified(self) -> None: ...
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
from typing import Any
|
||||
|
||||
class GeneratedProtocolMessageType(type):
|
||||
def __new__(cls, name, bases, dictionary): ...
|
||||
def __init__(cls, name, bases, dictionary): ...
|
||||
def __new__(cls, name: str, bases: tuple[type, ...], dictionary: dict[str, Any]) -> GeneratedProtocolMessageType: ...
|
||||
def __init__(cls, name: str, bases: tuple[type, ...], dictionary: dict[str, Any]) -> None: ...
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
from _typeshed import OptExcInfo
|
||||
from collections.abc import Callable
|
||||
from typing import TypeVar
|
||||
from unittest import TestCase as _TestCase, TestResult
|
||||
|
||||
_T = TypeVar("_T")
|
||||
|
||||
class LocalTestResult(TestResult):
|
||||
parent_result: TestResult
|
||||
def __init__(self, parent_result: TestResult) -> None: ...
|
||||
def addError(self, test: _TestCase, error: OptExcInfo) -> None: ...
|
||||
def addFailure(self, test: _TestCase, error: OptExcInfo) -> None: ...
|
||||
def addSkip(self, test: _TestCase, reason: str) -> None: ...
|
||||
def addDuration(self, test: _TestCase, duration: float) -> None: ...
|
||||
|
||||
class ReferenceLeakCheckerMixin:
|
||||
NB_RUNS: int
|
||||
def run(self, result: TestResult | None = None) -> TestResult: ...
|
||||
|
||||
def SkipReferenceLeakChecker(reason: str) -> Callable[[_T], _T]: ...
|
||||
def TestCase(test_class: _T) -> _T: ...
|
||||
@@ -1,7 +1,16 @@
|
||||
from typing import Generic, TypeVar
|
||||
from collections.abc import Callable
|
||||
from typing import Any, Generic, TypeVar
|
||||
|
||||
from google.protobuf.descriptor import EnumDescriptor, FieldDescriptor
|
||||
|
||||
_T = TypeVar("_T")
|
||||
|
||||
def TruncateToFourByteFloat(original: float) -> float: ...
|
||||
def ToShortestFloat(original: float) -> float: ...
|
||||
def GetTypeChecker(
|
||||
field: FieldDescriptor,
|
||||
) -> TypeChecker[Any] | IntValueChecker | EnumValueChecker | UnicodeValueChecker | DoubleValueChecker | BoolValueChecker: ...
|
||||
|
||||
class TypeChecker(Generic[_T]):
|
||||
def __init__(self, *acceptable_types: _T): ...
|
||||
def CheckValue(self, proposed_value: _T) -> _T: ...
|
||||
@@ -9,3 +18,38 @@ class TypeChecker(Generic[_T]):
|
||||
class TypeCheckerWithDefault(TypeChecker[_T]):
|
||||
def __init__(self, default_value: _T, *acceptable_types: _T): ...
|
||||
def DefaultValue(self) -> _T: ...
|
||||
|
||||
class BoolValueChecker:
|
||||
def CheckValue(self, proposed_value: bool) -> bool: ...
|
||||
def DefaultValue(self) -> bool: ...
|
||||
|
||||
class IntValueChecker:
|
||||
def CheckValue(self, proposed_value: int) -> int: ...
|
||||
def DefaultValue(self) -> int: ...
|
||||
|
||||
class EnumValueChecker:
|
||||
def __init__(self, enum_type: EnumDescriptor) -> None: ...
|
||||
def CheckValue(self, proposed_value: int) -> int: ...
|
||||
def DefaultValue(self) -> int: ...
|
||||
|
||||
class UnicodeValueChecker:
|
||||
def CheckValue(self, proposed_value: str) -> str: ...
|
||||
def DefaultValue(self) -> str: ...
|
||||
|
||||
class Int32ValueChecker(IntValueChecker): ...
|
||||
class Uint32ValueChecker(IntValueChecker): ...
|
||||
class Int64ValueChecker(IntValueChecker): ...
|
||||
class Uint64ValueChecker(IntValueChecker): ...
|
||||
|
||||
class DoubleValueChecker:
|
||||
def CheckValue(self, proposed_value: float) -> float: ...
|
||||
def DefaultValue(self) -> float: ...
|
||||
|
||||
class FloatValueChecker(DoubleValueChecker):
|
||||
def CheckValue(self, proposed_value: float) -> float: ...
|
||||
|
||||
TYPE_TO_BYTE_SIZE_FN: dict[int, Callable[..., int]]
|
||||
TYPE_TO_ENCODER: dict[int, Callable[..., Any]]
|
||||
TYPE_TO_SIZER: dict[int, Callable[..., Any]]
|
||||
TYPE_TO_DECODER: dict[int, Callable[..., Any]]
|
||||
FIELD_TYPE_TO_WIRE_TYPE: dict[int, int]
|
||||
|
||||
@@ -1,19 +1,21 @@
|
||||
from _typeshed import Incomplete, SupportsItems
|
||||
from _typeshed import SupportsItems
|
||||
from collections.abc import Iterable, Iterator, KeysView, Mapping, Sequence
|
||||
from datetime import datetime, timedelta, tzinfo
|
||||
from typing import Any as tAny
|
||||
from typing_extensions import TypeAlias
|
||||
|
||||
from google.protobuf import struct_pb2
|
||||
from google.protobuf.descriptor import Descriptor
|
||||
from google.protobuf.message import Message as _Message
|
||||
|
||||
class Any:
|
||||
__slots__ = ()
|
||||
type_url: str
|
||||
value: Incomplete
|
||||
def Pack(self, msg, type_url_prefix: str = "type.googleapis.com/", deterministic=None) -> None: ...
|
||||
def Unpack(self, msg) -> bool: ...
|
||||
value: bytes
|
||||
def Pack(self, msg: _Message, type_url_prefix: str = "type.googleapis.com/", deterministic: bool | None = None) -> None: ...
|
||||
def Unpack(self, msg: _Message) -> bool: ...
|
||||
def TypeName(self) -> str: ...
|
||||
def Is(self, descriptor) -> bool: ...
|
||||
def Is(self, descriptor: Descriptor) -> bool: ...
|
||||
|
||||
class Timestamp:
|
||||
__slots__ = ()
|
||||
@@ -32,13 +34,17 @@ class Timestamp:
|
||||
def FromSeconds(self, seconds: int) -> None: ...
|
||||
def ToDatetime(self, tzinfo: tzinfo | None = None) -> datetime: ...
|
||||
def FromDatetime(self, dt: datetime) -> None: ...
|
||||
def __add__(self, value: Duration | timedelta) -> datetime: ...
|
||||
def __radd__(self, value: tAny) -> datetime: ...
|
||||
def __sub__(self, value: Timestamp | Duration | timedelta) -> datetime | timedelta: ...
|
||||
def __rsub__(self, dt: datetime) -> timedelta: ...
|
||||
|
||||
class Duration:
|
||||
__slots__ = ()
|
||||
def ToJsonString(self) -> str: ...
|
||||
seconds: int
|
||||
nanos: int
|
||||
def FromJsonString(self, value: tAny) -> None: ...
|
||||
def FromJsonString(self, value: str) -> None: ...
|
||||
def ToNanoseconds(self) -> int: ...
|
||||
def ToMicroseconds(self) -> int: ...
|
||||
def ToMilliseconds(self) -> int: ...
|
||||
@@ -49,18 +55,22 @@ class Duration:
|
||||
def FromSeconds(self, seconds: int) -> None: ...
|
||||
def ToTimedelta(self) -> timedelta: ...
|
||||
def FromTimedelta(self, td: timedelta) -> None: ...
|
||||
def __add__(self, value: Timestamp | timedelta) -> datetime | timedelta: ...
|
||||
def __radd__(self, value: tAny) -> datetime | timedelta: ...
|
||||
def __sub__(self, value: Duration | timedelta) -> timedelta: ...
|
||||
def __rsub__(self, value: datetime | timedelta) -> datetime | timedelta: ...
|
||||
|
||||
class FieldMask:
|
||||
__slots__ = ()
|
||||
def ToJsonString(self) -> str: ...
|
||||
def FromJsonString(self, value: tAny) -> None: ...
|
||||
def IsValidForDescriptor(self, message_descriptor: tAny): ...
|
||||
def AllFieldsFromDescriptor(self, message_descriptor: tAny) -> None: ...
|
||||
def CanonicalFormFromMask(self, mask: tAny) -> None: ...
|
||||
def Union(self, mask1: tAny, mask2: tAny) -> None: ...
|
||||
def Intersect(self, mask1: tAny, mask2: tAny) -> None: ...
|
||||
def FromJsonString(self, value: str) -> None: ...
|
||||
def IsValidForDescriptor(self, message_descriptor: Descriptor) -> bool: ...
|
||||
def AllFieldsFromDescriptor(self, message_descriptor: Descriptor) -> None: ...
|
||||
def CanonicalFormFromMask(self, mask: FieldMask) -> None: ...
|
||||
def Union(self, mask1: FieldMask, mask2: FieldMask) -> None: ...
|
||||
def Intersect(self, mask1: FieldMask, mask2: FieldMask) -> None: ...
|
||||
def MergeMessage(
|
||||
self, source: tAny, destination: tAny, replace_message_field: bool = False, replace_repeated_field: bool = False
|
||||
self, source: _Message, destination: _Message, replace_message_field: bool = False, replace_repeated_field: bool = False
|
||||
) -> None: ...
|
||||
|
||||
_StructValue: TypeAlias = struct_pb2.Struct | struct_pb2.ListValue | str | float | bool | None
|
||||
|
||||
@@ -1,50 +1,50 @@
|
||||
from typing import Any
|
||||
from google.protobuf.message import Message
|
||||
|
||||
TAG_TYPE_BITS: Any
|
||||
TAG_TYPE_MASK: Any
|
||||
WIRETYPE_VARINT: Any
|
||||
WIRETYPE_FIXED64: Any
|
||||
WIRETYPE_LENGTH_DELIMITED: Any
|
||||
WIRETYPE_START_GROUP: Any
|
||||
WIRETYPE_END_GROUP: Any
|
||||
WIRETYPE_FIXED32: Any
|
||||
INT32_MAX: Any
|
||||
INT32_MIN: Any
|
||||
UINT32_MAX: Any
|
||||
INT64_MAX: Any
|
||||
INT64_MIN: Any
|
||||
UINT64_MAX: Any
|
||||
FORMAT_UINT32_LITTLE_ENDIAN: Any
|
||||
FORMAT_UINT64_LITTLE_ENDIAN: Any
|
||||
FORMAT_FLOAT_LITTLE_ENDIAN: Any
|
||||
FORMAT_DOUBLE_LITTLE_ENDIAN: Any
|
||||
TAG_TYPE_BITS: int
|
||||
TAG_TYPE_MASK: int
|
||||
WIRETYPE_VARINT: int
|
||||
WIRETYPE_FIXED64: int
|
||||
WIRETYPE_LENGTH_DELIMITED: int
|
||||
WIRETYPE_START_GROUP: int
|
||||
WIRETYPE_END_GROUP: int
|
||||
WIRETYPE_FIXED32: int
|
||||
INT32_MAX: int
|
||||
INT32_MIN: int
|
||||
UINT32_MAX: int
|
||||
INT64_MAX: int
|
||||
INT64_MIN: int
|
||||
UINT64_MAX: int
|
||||
FORMAT_UINT32_LITTLE_ENDIAN: str
|
||||
FORMAT_UINT64_LITTLE_ENDIAN: str
|
||||
FORMAT_FLOAT_LITTLE_ENDIAN: str
|
||||
FORMAT_DOUBLE_LITTLE_ENDIAN: str
|
||||
|
||||
def PackTag(field_number, wire_type): ...
|
||||
def UnpackTag(tag): ...
|
||||
def ZigZagEncode(value): ...
|
||||
def ZigZagDecode(value): ...
|
||||
def Int32ByteSize(field_number, int32): ...
|
||||
def Int32ByteSizeNoTag(int32): ...
|
||||
def Int64ByteSize(field_number, int64): ...
|
||||
def UInt32ByteSize(field_number, uint32): ...
|
||||
def UInt64ByteSize(field_number, uint64): ...
|
||||
def SInt32ByteSize(field_number, int32): ...
|
||||
def SInt64ByteSize(field_number, int64): ...
|
||||
def Fixed32ByteSize(field_number, fixed32): ...
|
||||
def Fixed64ByteSize(field_number, fixed64): ...
|
||||
def SFixed32ByteSize(field_number, sfixed32): ...
|
||||
def SFixed64ByteSize(field_number, sfixed64): ...
|
||||
def FloatByteSize(field_number, flt): ...
|
||||
def DoubleByteSize(field_number, double): ...
|
||||
def BoolByteSize(field_number, b): ...
|
||||
def EnumByteSize(field_number, enum): ...
|
||||
def StringByteSize(field_number, string): ...
|
||||
def BytesByteSize(field_number, b): ...
|
||||
def GroupByteSize(field_number, message): ...
|
||||
def MessageByteSize(field_number, message): ...
|
||||
def MessageSetItemByteSize(field_number, msg): ...
|
||||
def TagByteSize(field_number): ...
|
||||
def PackTag(field_number: int, wire_type: int) -> int: ...
|
||||
def UnpackTag(tag: int) -> tuple[int, int]: ...
|
||||
def ZigZagEncode(value: int) -> int: ...
|
||||
def ZigZagDecode(value: int) -> int: ...
|
||||
def Int32ByteSize(field_number: int, int32: int) -> int: ...
|
||||
def Int32ByteSizeNoTag(int32: int) -> int: ...
|
||||
def Int64ByteSize(field_number: int, int64: int) -> int: ...
|
||||
def UInt32ByteSize(field_number: int, uint32: int) -> int: ...
|
||||
def UInt64ByteSize(field_number: int, uint64: int) -> int: ...
|
||||
def SInt32ByteSize(field_number: int, int32: int) -> int: ...
|
||||
def SInt64ByteSize(field_number: int, int64: int) -> int: ...
|
||||
def Fixed32ByteSize(field_number: int, fixed32: int) -> int: ...
|
||||
def Fixed64ByteSize(field_number: int, fixed64: int) -> int: ...
|
||||
def SFixed32ByteSize(field_number: int, sfixed32: int) -> int: ...
|
||||
def SFixed64ByteSize(field_number: int, sfixed64: int) -> int: ...
|
||||
def FloatByteSize(field_number: int, flt: float) -> int: ...
|
||||
def DoubleByteSize(field_number: int, double: float) -> int: ...
|
||||
def BoolByteSize(field_number: int, b: bool) -> int: ...
|
||||
def EnumByteSize(field_number: int, enum: int) -> int: ...
|
||||
def StringByteSize(field_number: int, string: str) -> int: ...
|
||||
def BytesByteSize(field_number: int, b: bytes) -> int: ...
|
||||
def GroupByteSize(field_number: int, message: Message) -> int: ...
|
||||
def MessageByteSize(field_number: int, message: Message) -> int: ...
|
||||
def MessageSetItemByteSize(field_number: int, msg: Message) -> int: ...
|
||||
def TagByteSize(field_number: int) -> int: ...
|
||||
|
||||
NON_PACKABLE_TYPES: Any
|
||||
NON_PACKABLE_TYPES: tuple[int, ...]
|
||||
|
||||
def IsTypePackable(field_type): ...
|
||||
def IsTypePackable(field_type: int) -> bool: ...
|
||||
|
||||
@@ -6,8 +6,9 @@ from google.protobuf.message import Message
|
||||
_MessageT = TypeVar("_MessageT", bound=Message)
|
||||
|
||||
class Error(Exception): ...
|
||||
class ParseError(Error): ...
|
||||
class SerializeToJsonError(Error): ...
|
||||
class ParseError(Error): ...
|
||||
class EnumStringValueParseError(ParseError): ...
|
||||
|
||||
def MessageToJson(
|
||||
message: Message,
|
||||
@@ -16,7 +17,6 @@ def MessageToJson(
|
||||
sort_keys: bool = False,
|
||||
use_integers_for_enums: bool = False,
|
||||
descriptor_pool: DescriptorPool | None = None,
|
||||
float_precision: int | None = None,
|
||||
ensure_ascii: bool = True,
|
||||
always_print_fields_with_no_presence: bool = False,
|
||||
) -> str: ...
|
||||
@@ -26,7 +26,6 @@ def MessageToDict(
|
||||
preserving_proto_field_name: bool = False,
|
||||
use_integers_for_enums: bool = False,
|
||||
descriptor_pool: DescriptorPool | None = None,
|
||||
float_precision: int | None = None,
|
||||
) -> dict[str, Any]: ...
|
||||
def Parse(
|
||||
text: bytes | str,
|
||||
@@ -36,7 +35,7 @@ def Parse(
|
||||
max_recursion_depth: int = 100,
|
||||
) -> _MessageT: ...
|
||||
def ParseDict(
|
||||
js_dict: Any,
|
||||
js_dict: dict[str, Any],
|
||||
message: _MessageT,
|
||||
ignore_unknown_fields: bool = False,
|
||||
descriptor_pool: DescriptorPool | None = None,
|
||||
|
||||
@@ -15,8 +15,9 @@ class Message:
|
||||
__slots__: tuple[str, ...] = ()
|
||||
DESCRIPTOR: Descriptor | _upb_Descriptor
|
||||
def __deepcopy__(self, memo: Any = None) -> Self: ...
|
||||
def __eq__(self, other_msg): ...
|
||||
def __ne__(self, other_msg): ...
|
||||
def __eq__(self, other_msg: object) -> bool: ...
|
||||
def __ne__(self, other_msg: object) -> bool: ...
|
||||
def __contains__(self, field_name_or_key: str) -> bool: ...
|
||||
def MergeFrom(self, other_msg: Self) -> None: ...
|
||||
def CopyFrom(self, other_msg: Self) -> None: ...
|
||||
def Clear(self) -> None: ...
|
||||
@@ -26,15 +27,7 @@ class Message:
|
||||
def ParseFromString(self, serialized: bytes) -> int: ...
|
||||
def SerializeToString(self, *, deterministic: bool = ...) -> bytes: ...
|
||||
def SerializePartialToString(self, *, deterministic: bool = ...) -> bytes: ...
|
||||
def ListFields(self) -> Sequence[tuple[FieldDescriptor, Any]]: ...
|
||||
def HasExtension(self, field_descriptor: _ExtensionFieldDescriptor[Self, Any]) -> bool: ...
|
||||
def ClearExtension(self, field_descriptor: _ExtensionFieldDescriptor[Self, Any]) -> None: ...
|
||||
# The TypeVar must be bound to `Message` or we get mypy errors, so we cannot use `Self` for `Extensions`
|
||||
@property
|
||||
def Extensions(self) -> _ExtensionDict[Self]: ...
|
||||
def ByteSize(self) -> int: ...
|
||||
@classmethod
|
||||
def FromString(cls, s: bytes) -> Self: ...
|
||||
def ListFields(self) -> Sequence[tuple[FieldDescriptor, Any]]: ... # Any: str, int, float, bytes, bool, or Message
|
||||
# Intentionally left out typing on these three methods, because they are
|
||||
# stringly typed and it is not useful to call them on a Message directly.
|
||||
# We prefer more specific typing on individual subclasses of Message
|
||||
@@ -42,5 +35,15 @@ class Message:
|
||||
def HasField(self, field_name: Any) -> bool: ...
|
||||
def ClearField(self, field_name: Any) -> None: ...
|
||||
def WhichOneof(self, oneof_group: Any) -> Any: ...
|
||||
def HasExtension(self, field_descriptor: _ExtensionFieldDescriptor[Self, Any]) -> bool: ...
|
||||
def ClearExtension(self, field_descriptor: _ExtensionFieldDescriptor[Self, Any]) -> None: ...
|
||||
# The TypeVar must be bound to `Message` or we get mypy errors, so we cannot use `Self` for `Extensions`
|
||||
@property
|
||||
def Extensions(self) -> _ExtensionDict[Self]: ...
|
||||
def UnknownFields(self) -> Any: ... # Any: subclasses return UnknownFieldSet
|
||||
def DiscardUnknownFields(self) -> None: ...
|
||||
def ByteSize(self) -> int: ...
|
||||
@classmethod
|
||||
def FromString(cls, s: bytes) -> Self: ...
|
||||
# TODO: check kwargs
|
||||
def __new__(cls, *args, **kwargs) -> Self: ...
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
from collections.abc import Iterable
|
||||
from typing import Any
|
||||
|
||||
from google.protobuf.descriptor import Descriptor
|
||||
from google.protobuf.descriptor_pb2 import FileDescriptorProto
|
||||
from google.protobuf.descriptor_pool import DescriptorPool
|
||||
from google.protobuf.message import Message
|
||||
|
||||
class MessageFactory:
|
||||
pool: Any
|
||||
def __init__(self, pool: DescriptorPool | None = None) -> None: ...
|
||||
|
||||
def GetMessageClass(descriptor: Descriptor) -> type[Message]: ...
|
||||
def GetMessageClassesForFiles(files: Iterable[str], pool: DescriptorPool) -> dict[str, type[Message]]: ...
|
||||
|
||||
class MessageFactory:
|
||||
pool: DescriptorPool
|
||||
def __init__(self, pool: DescriptorPool | None = None) -> None: ...
|
||||
|
||||
def GetMessages(file_protos: Iterable[FileDescriptorProto], pool: DescriptorPool | None = None) -> dict[str, type[Message]]: ...
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
from io import BytesIO
|
||||
from typing import TypeVar
|
||||
|
||||
from google.protobuf.message import Message
|
||||
|
||||
_MessageT = TypeVar("_MessageT", bound=Message)
|
||||
|
||||
def serialize(message: Message, deterministic: bool | None = None) -> bytes: ...
|
||||
def parse(message_class: type[_MessageT], payload: bytes) -> _MessageT: ...
|
||||
def serialize_length_prefixed(message: Message, output: BytesIO) -> None: ...
|
||||
def parse_length_prefixed(message_class: type[_MessageT], input_bytes: BytesIO) -> _MessageT: ...
|
||||
def byte_size(message: Message) -> int: ...
|
||||
def clear_message(message: Message) -> None: ...
|
||||
def clear_field(message: Message, field_name: str) -> None: ...
|
||||
@@ -0,0 +1,8 @@
|
||||
from collections import OrderedDict
|
||||
|
||||
from google.protobuf.descriptor_pool import DescriptorPool
|
||||
from google.protobuf.message import Message
|
||||
|
||||
def MakeSimpleProtoClass(
|
||||
fields: dict[str, int] | OrderedDict[str, int], full_name: str | None = None, pool: DescriptorPool | None = None
|
||||
) -> type[Message]: ...
|
||||
@@ -0,0 +1,21 @@
|
||||
from typing import Any, TypeVar
|
||||
|
||||
from google.protobuf.descriptor_pool import DescriptorPool
|
||||
from google.protobuf.message import Message
|
||||
|
||||
_MessageT = TypeVar("_MessageT", bound=Message)
|
||||
|
||||
def serialize(
|
||||
message: Message,
|
||||
always_print_fields_with_no_presence: bool = False,
|
||||
preserving_proto_field_name: bool = False,
|
||||
use_integers_for_enums: bool = False,
|
||||
descriptor_pool: DescriptorPool | None = None,
|
||||
) -> dict[str, Any]: ...
|
||||
def parse(
|
||||
message_class: type[_MessageT],
|
||||
js_dict: dict[str, Any],
|
||||
ignore_unknown_fields: bool = False,
|
||||
descriptor_pool: DescriptorPool | None = None,
|
||||
max_recursion_depth: int = 100,
|
||||
) -> _MessageT: ...
|
||||
@@ -0,0 +1,32 @@
|
||||
from collections.abc import Callable
|
||||
from typing import TypeVar
|
||||
from typing_extensions import TypeAlias
|
||||
|
||||
from google.protobuf.descriptor_pool import DescriptorPool
|
||||
from google.protobuf.message import Message
|
||||
|
||||
_MessageT = TypeVar("_MessageT", bound=Message)
|
||||
_MsgFormatter: TypeAlias = Callable[[Message, int, bool], str | None]
|
||||
|
||||
def serialize(
|
||||
message: Message,
|
||||
as_utf8: bool = True,
|
||||
as_one_line: bool = False,
|
||||
use_short_repeated_primitives: bool = False,
|
||||
pointy_brackets: bool = False,
|
||||
use_index_order: bool = False,
|
||||
use_field_number: bool = False,
|
||||
descriptor_pool: DescriptorPool | None = None,
|
||||
indent: int = 0,
|
||||
message_formatter: _MsgFormatter | None = None,
|
||||
print_unknown_fields: bool = False,
|
||||
force_colon: bool = False,
|
||||
) -> str: ...
|
||||
def parse(
|
||||
message_class: type[_MessageT],
|
||||
text: str | bytes,
|
||||
allow_unknown_extension: bool = False,
|
||||
allow_field_number: bool = False,
|
||||
descriptor_pool: DescriptorPool | None = None,
|
||||
allow_unknown_field: bool = False,
|
||||
) -> _MessageT: ...
|
||||
@@ -1,2 +1,10 @@
|
||||
class GeneratedProtocolMessageType(type):
|
||||
def __new__(cls, name, bases, dictionary): ...
|
||||
from typing import Any
|
||||
|
||||
from google._upb._message import MessageMeta
|
||||
|
||||
MESSAGE_CLASS_CACHE: dict[str, Any]
|
||||
|
||||
class GeneratedProtocolMessageType(MessageMeta):
|
||||
def __new__( # noqa: Y034
|
||||
cls, name: str, bases: tuple[type, ...], dictionary: dict[str, Any]
|
||||
) -> GeneratedProtocolMessageType: ...
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
from typing import Any
|
||||
|
||||
class GeneratedServiceType(type):
|
||||
def __init__(cls, name: str, bases: tuple[type, ...], dictionary: dict[str, Any]) -> None: ...
|
||||
|
||||
class GeneratedServiceStubType(GeneratedServiceType):
|
||||
def __init__(cls, name: str, bases: tuple[type, ...], dictionary: dict[str, Any]) -> None: ...
|
||||
@@ -1,10 +1,11 @@
|
||||
from collections.abc import Iterable
|
||||
|
||||
from google.protobuf.descriptor import Descriptor, EnumDescriptor, FileDescriptor, ServiceDescriptor
|
||||
from google.protobuf.descriptor_pool import DescriptorPool
|
||||
from google.protobuf.message import Message
|
||||
from google.protobuf.message_factory import MessageFactory
|
||||
|
||||
class SymbolDatabase(MessageFactory):
|
||||
class SymbolDatabase:
|
||||
def __init__(self, pool: DescriptorPool | None = None) -> None: ...
|
||||
def RegisterMessage(self, message: type[Message] | Message) -> type[Message] | Message: ...
|
||||
def RegisterMessageDescriptor(self, message_descriptor: Descriptor) -> None: ...
|
||||
def RegisterEnumDescriptor(self, enum_descriptor: EnumDescriptor) -> EnumDescriptor: ...
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
def CEscape(text: bytes, as_utf8: bool) -> str: ...
|
||||
def CUnescape(text: str) -> bytes: ...
|
||||
@@ -9,6 +9,8 @@ from .message import Message
|
||||
|
||||
_M = TypeVar("_M", bound=Message) # message type (of self)
|
||||
|
||||
__all__ = ["MessageToString", "Parse", "PrintMessage", "PrintField", "PrintFieldValue", "Merge", "MessageToBytes"]
|
||||
|
||||
class Error(Exception): ...
|
||||
|
||||
class ParseError(Error):
|
||||
@@ -19,8 +21,8 @@ class ParseError(Error):
|
||||
class TextWriter:
|
||||
def __init__(self, as_utf8: bool) -> None: ...
|
||||
def write(self, val: str) -> int: ...
|
||||
def getvalue(self) -> str: ...
|
||||
def close(self) -> None: ...
|
||||
def getvalue(self) -> str: ...
|
||||
|
||||
_MessageFormatter: TypeAlias = Callable[[Message, int, bool], str | None]
|
||||
|
||||
@@ -31,8 +33,6 @@ def MessageToString(
|
||||
use_short_repeated_primitives: bool = False,
|
||||
pointy_brackets: bool = False,
|
||||
use_index_order: bool = False,
|
||||
float_format: str | None = None,
|
||||
double_format: str | None = None,
|
||||
use_field_number: bool = False,
|
||||
descriptor_pool: DescriptorPool | None = None,
|
||||
indent: int = 0,
|
||||
@@ -49,8 +49,6 @@ def MessageToBytes(
|
||||
use_short_repeated_primitives: bool = False,
|
||||
pointy_brackets: bool = False,
|
||||
use_index_order: bool = False,
|
||||
float_format: str | None = None,
|
||||
double_format: str | None = None,
|
||||
use_field_number: bool = False,
|
||||
descriptor_pool: DescriptorPool | None = None,
|
||||
indent: int = 0,
|
||||
@@ -67,8 +65,6 @@ def PrintMessage(
|
||||
use_short_repeated_primitives: bool = False,
|
||||
pointy_brackets: bool = False,
|
||||
use_index_order: bool = False,
|
||||
float_format: str | None = None,
|
||||
double_format: str | None = None,
|
||||
use_field_number: bool = False,
|
||||
descriptor_pool: DescriptorPool | None = None,
|
||||
message_formatter: _MessageFormatter | None = None,
|
||||
@@ -85,8 +81,6 @@ def PrintField(
|
||||
use_short_repeated_primitives: bool = False,
|
||||
pointy_brackets: bool = False,
|
||||
use_index_order: bool = False,
|
||||
float_format: str | None = None,
|
||||
double_format: str | None = None,
|
||||
message_formatter: _MessageFormatter | None = None,
|
||||
print_unknown_fields: bool = False,
|
||||
force_colon: bool = False,
|
||||
@@ -101,8 +95,6 @@ def PrintFieldValue(
|
||||
use_short_repeated_primitives: bool = False,
|
||||
pointy_brackets: bool = False,
|
||||
use_index_order: bool = False,
|
||||
float_format: str | None = None,
|
||||
double_format: str | None = None,
|
||||
message_formatter: _MessageFormatter | None = None,
|
||||
print_unknown_fields: bool = False,
|
||||
force_colon: bool = False,
|
||||
@@ -116,8 +108,6 @@ class _Printer:
|
||||
use_short_repeated_primitives: bool
|
||||
pointy_brackets: bool
|
||||
use_index_order: bool
|
||||
float_format: str | None
|
||||
double_format: str | None
|
||||
use_field_number: bool
|
||||
descriptor_pool: DescriptorPool | None
|
||||
message_formatter: _MessageFormatter | None
|
||||
@@ -132,8 +122,6 @@ class _Printer:
|
||||
use_short_repeated_primitives: bool = False,
|
||||
pointy_brackets: bool = False,
|
||||
use_index_order: bool = False,
|
||||
float_format: str | None = None,
|
||||
double_format: str | None = None,
|
||||
use_field_number: bool = False,
|
||||
descriptor_pool: DescriptorPool | None = None,
|
||||
message_formatter: _MessageFormatter | None = None,
|
||||
@@ -208,6 +196,8 @@ class Tokenizer:
|
||||
def ConsumeString(self) -> str: ...
|
||||
def ConsumeByteString(self) -> bytes: ...
|
||||
def ConsumeEnum(self, field: FieldDescriptor) -> int: ...
|
||||
def ConsumeUrlChars(self) -> str: ...
|
||||
def TryConsumeUrlChars(self) -> bool: ...
|
||||
def ParseErrorPreviousToken(self, message: Message) -> _ParseError: ...
|
||||
def ParseError(self, message: Message) -> _ParseError: ...
|
||||
def NextToken(self) -> None: ...
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
from datetime import datetime, tzinfo
|
||||
|
||||
from google.protobuf.timestamp_pb2 import Timestamp
|
||||
|
||||
def from_json_string(value: str) -> Timestamp: ...
|
||||
def from_microseconds(micros: float) -> Timestamp: ...
|
||||
def from_milliseconds(millis: float) -> Timestamp: ...
|
||||
def from_nanoseconds(nanos: float) -> Timestamp: ...
|
||||
def from_seconds(seconds: float) -> Timestamp: ...
|
||||
def from_current_time() -> Timestamp: ...
|
||||
def to_json_string(ts: Timestamp) -> str: ...
|
||||
def to_microseconds(ts: Timestamp) -> int: ...
|
||||
def to_milliseconds(ts: Timestamp) -> int: ...
|
||||
def to_nanoseconds(ts: Timestamp) -> int: ...
|
||||
def to_seconds(ts: Timestamp) -> int: ...
|
||||
def to_datetime(ts: Timestamp, tz: tzinfo | None = None) -> datetime: ...
|
||||
@@ -0,0 +1,9 @@
|
||||
from typing import Any, final
|
||||
|
||||
from google.protobuf.message import Message
|
||||
|
||||
@final
|
||||
class UnknownFieldSet:
|
||||
def __new__(cls, msg: Message) -> UnknownFieldSet: ... # noqa: Y034
|
||||
def __getitem__(self, index: int) -> Any: ... # Any: internal unknown field object
|
||||
def __len__(self) -> int: ...
|
||||
Reference in New Issue
Block a user