Skip to content

Commit 6858213

Browse files
committed
Merge branch 'main' of github.com:Spider84pr/typeshed into auth
2 parents ce035d2 + 250bf77 commit 6858213

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+280
-226
lines changed

stdlib/_frozen_importlib.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def __import__(
1313
name: str,
1414
globals: Mapping[str, object] | None = None,
1515
locals: Mapping[str, object] | None = None,
16-
fromlist: Sequence[str] = (),
16+
fromlist: Sequence[str] | None = (),
1717
level: int = 0,
1818
) -> ModuleType: ...
1919
def spec_from_loader(

stdlib/builtins.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2015,7 +2015,7 @@ def __import__(
20152015
name: str,
20162016
globals: Mapping[str, object] | None = None,
20172017
locals: Mapping[str, object] | None = None,
2018-
fromlist: Sequence[str] = (),
2018+
fromlist: Sequence[str] | None = (),
20192019
level: int = 0,
20202020
) -> types.ModuleType: ...
20212021
def __build_class__(func: Callable[[], CellType | Any], name: str, /, *bases: Any, metaclass: Any = ..., **kwds: Any) -> Any: ...

stdlib/email/headerregistry.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class DateHeader:
4141
max_count: ClassVar[Literal[1] | None]
4242
def init(self, name: str, *, parse_tree: TokenList, defects: Iterable[MessageDefect], datetime: _datetime) -> None: ...
4343
@property
44-
def datetime(self) -> _datetime: ...
44+
def datetime(self) -> _datetime | None: ...
4545
@staticmethod
4646
def value_parser(value: str) -> UnstructuredTokenList: ...
4747
@classmethod

stdlib/types.pyi

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -462,8 +462,13 @@ class CoroutineType(Coroutine[_YieldT_co, _SendT_nd_contra, _ReturnT_nd_co]):
462462
def cr_await(self) -> Any | None: ...
463463
@property
464464
def cr_code(self) -> CodeType: ...
465-
@property
466-
def cr_frame(self) -> FrameType: ...
465+
if sys.version_info >= (3, 12):
466+
@property
467+
def cr_frame(self) -> FrameType | None: ...
468+
else:
469+
@property
470+
def cr_frame(self) -> FrameType: ...
471+
467472
@property
468473
def cr_running(self) -> bool: ...
469474
@property

stubs/PySocks/sockshandler.pyi

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import sys
44
import urllib.request
55
from _typeshed import Incomplete, SupportsKeysAndGetItem
66
from typing import Any, TypeVar
7-
from typing_extensions import override
87

98
import socks
109

@@ -33,7 +32,6 @@ class SocksiPyConnection(http.client.HTTPConnection): # undocumented
3332
source_address: tuple[str, int] | None = None,
3433
blocksize: int = 8192,
3534
) -> None: ...
36-
@override
3735
def connect(self) -> None: ...
3836

3937
class SocksiPyConnectionS(http.client.HTTPSConnection): # undocumented
@@ -77,7 +75,6 @@ class SocksiPyConnectionS(http.client.HTTPSConnection): # undocumented
7775
blocksize: int = 8192,
7876
) -> None: ...
7977

80-
@override
8178
def connect(self) -> None: ...
8279

8380
class SocksiPyHandler(urllib.request.HTTPHandler, urllib.request.HTTPSHandler):
@@ -96,7 +93,5 @@ class SocksiPyHandler(urllib.request.HTTPHandler, urllib.request.HTTPSHandler):
9693
blocksize: int = 8192,
9794
**kwargs: Any, # any additional arguments to `SocksiPyConnection` or `SocksiPyConnectionS`
9895
) -> None: ...
99-
@override
10096
def http_open(self, req: urllib.request.Request) -> http.client.HTTPResponse: ... # undocumented
101-
@override
10297
def https_open(self, req: urllib.request.Request) -> http.client.HTTPResponse: ... # undocumented

stubs/grpcio/@tests/test_cases/check_aio.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from __future__ import annotations
22

3-
from typing import Any, cast
3+
from typing import cast
44
from typing_extensions import assert_type
55

66
import grpc.aio
@@ -9,7 +9,7 @@
99
client_interceptors: list[grpc.aio.ClientInterceptor] = []
1010
grpc.aio.insecure_channel("target", interceptors=client_interceptors)
1111

12-
server_interceptors: list[grpc.aio.ServerInterceptor[Any, Any]] = []
12+
server_interceptors: list[grpc.aio.ServerInterceptor] = []
1313
grpc.aio.server(interceptors=server_interceptors)
1414

1515

stubs/grpcio/@tests/test_cases/check_handler_inheritance.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from __future__ import annotations
22

3-
from typing import cast
3+
from typing import Any, cast
44
from typing_extensions import assert_type
55

66
import grpc
@@ -19,11 +19,11 @@ def unary_unary_call(rq: Request, ctx: grpc.ServicerContext) -> Response:
1919
return Response()
2020

2121

22-
class ServiceHandler(grpc.ServiceRpcHandler[Request, Response]):
22+
class ServiceHandler(grpc.ServiceRpcHandler):
2323
def service_name(self) -> str:
2424
return "hello"
2525

26-
def service(self, handler_call_details: grpc.HandlerCallDetails) -> grpc.RpcMethodHandler[Request, Response] | None:
26+
def service(self, handler_call_details: grpc.HandlerCallDetails) -> grpc.RpcMethodHandler[Any, Any] | None:
2727
rpc = grpc.RpcMethodHandler[Request, Response]()
2828
rpc.unary_unary = unary_unary_call
2929
return rpc
Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,35 @@
11
from __future__ import annotations
22

33
from collections.abc import Callable
4+
from concurrent.futures.thread import ThreadPoolExecutor
5+
from typing import Awaitable, TypeVar
46

57
import grpc
8+
import grpc.aio
69

10+
RequestT = TypeVar("RequestT")
11+
ResponseT = TypeVar("ResponseT")
712

8-
class Request:
9-
pass
1013

14+
class NoopInterceptor(grpc.ServerInterceptor):
15+
def intercept_service(
16+
self,
17+
continuation: Callable[[grpc.HandlerCallDetails], grpc.RpcMethodHandler[RequestT, ResponseT] | None],
18+
handler_call_details: grpc.HandlerCallDetails,
19+
) -> grpc.RpcMethodHandler[RequestT, ResponseT] | None:
20+
return continuation(handler_call_details)
1121

12-
class Response:
13-
pass
1422

23+
grpc.server(interceptors=[NoopInterceptor()], thread_pool=ThreadPoolExecutor())
1524

16-
class NoopInterceptor(grpc.ServerInterceptor[Request, Response]):
17-
def intercept_service(
25+
26+
class NoopAioInterceptor(grpc.aio.ServerInterceptor):
27+
async def intercept_service(
1828
self,
19-
continuation: Callable[[grpc.HandlerCallDetails], grpc.RpcMethodHandler[Request, Response] | None],
29+
continuation: Callable[[grpc.HandlerCallDetails], Awaitable[grpc.RpcMethodHandler[RequestT, ResponseT]]],
2030
handler_call_details: grpc.HandlerCallDetails,
21-
) -> grpc.RpcMethodHandler[Request, Response] | None:
22-
return continuation(handler_call_details)
31+
) -> grpc.RpcMethodHandler[RequestT, ResponseT]:
32+
return await continuation(handler_call_details)
33+
34+
35+
grpc.aio.server(interceptors=[NoopAioInterceptor()])

stubs/grpcio/grpc/__init__.pyi

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@ def composite_channel_credentials(
108108

109109
def server(
110110
thread_pool: futures.ThreadPoolExecutor,
111-
handlers: list[GenericRpcHandler[Any, Any]] | None = None,
112-
interceptors: list[ServerInterceptor[Any, Any]] | None = None,
111+
handlers: list[GenericRpcHandler] | None = None,
112+
interceptors: list[ServerInterceptor] | None = None,
113113
options: _Options | None = None,
114114
maximum_concurrent_rpcs: int | None = None,
115115
compression: Compression | None = None,
@@ -173,7 +173,7 @@ def stream_stream_rpc_method_handler(
173173
) -> RpcMethodHandler[_TRequest, _TResponse]: ...
174174
def method_handlers_generic_handler(
175175
service: str, method_handlers: dict[str, RpcMethodHandler[Any, Any]]
176-
) -> GenericRpcHandler[Any, Any]: ...
176+
) -> GenericRpcHandler: ...
177177

178178
# Channel Ready Future:
179179

@@ -264,7 +264,7 @@ class Channel(abc.ABC):
264264

265265
class Server(abc.ABC):
266266
@abc.abstractmethod
267-
def add_generic_rpc_handlers(self, generic_rpc_handlers: Iterable[GenericRpcHandler[Any, Any]]) -> None: ...
267+
def add_generic_rpc_handlers(self, generic_rpc_handlers: Iterable[GenericRpcHandler]) -> None: ...
268268

269269
# Returns an integer port on which server will accept RPC requests.
270270
@abc.abstractmethod
@@ -493,17 +493,19 @@ class HandlerCallDetails(abc.ABC):
493493
method: str
494494
invocation_metadata: _Metadata
495495

496-
class GenericRpcHandler(abc.ABC, Generic[_TRequest, _TResponse]):
496+
class GenericRpcHandler(abc.ABC):
497+
# The return type depends on the handler call details.
497498
@abc.abstractmethod
498-
def service(self, handler_call_details: HandlerCallDetails) -> RpcMethodHandler[_TRequest, _TResponse] | None: ...
499+
def service(self, handler_call_details: HandlerCallDetails) -> RpcMethodHandler[Any, Any] | None: ...
499500

500-
class ServiceRpcHandler(GenericRpcHandler[_TRequest, _TResponse], metaclass=abc.ABCMeta):
501+
class ServiceRpcHandler(GenericRpcHandler, metaclass=abc.ABCMeta):
501502
@abc.abstractmethod
502503
def service_name(self) -> str: ...
503504

504505
# Service-Side Interceptor:
505506

506-
class ServerInterceptor(abc.ABC, Generic[_TRequest, _TResponse]):
507+
class ServerInterceptor(abc.ABC):
508+
# This method (not the class) is generic over _TRequest and _TResponse.
507509
@abc.abstractmethod
508510
def intercept_service(
509511
self,

stubs/grpcio/grpc/aio/__init__.pyi

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ def secure_channel(
6565

6666
def server(
6767
migration_thread_pool: futures.Executor | None = None,
68-
handlers: Sequence[GenericRpcHandler[Any, Any]] | None = None,
69-
interceptors: Sequence[ServerInterceptor[Any, Any]] | None = None,
68+
handlers: Sequence[GenericRpcHandler] | None = None,
69+
interceptors: Sequence[ServerInterceptor] | None = None,
7070
options: _Options | None = None,
7171
maximum_concurrent_rpcs: int | None = None,
7272
compression: Compression | None = None,
@@ -125,7 +125,7 @@ class Channel(abc.ABC):
125125

126126
class Server(metaclass=abc.ABCMeta):
127127
@abc.abstractmethod
128-
def add_generic_rpc_handlers(self, generic_rpc_handlers: Iterable[GenericRpcHandler[Any, Any]]) -> None: ...
128+
def add_generic_rpc_handlers(self, generic_rpc_handlers: Iterable[GenericRpcHandler]) -> None: ...
129129

130130
# Returns an integer port on which server will accept RPC requests.
131131
@abc.abstractmethod
@@ -355,7 +355,8 @@ class StreamStreamClientInterceptor(Generic[_TRequest, _TResponse], metaclass=ab
355355

356356
# Server-Side Interceptor:
357357

358-
class ServerInterceptor(Generic[_TRequest, _TResponse], metaclass=abc.ABCMeta):
358+
class ServerInterceptor(metaclass=abc.ABCMeta):
359+
# This method (not the class) is generic over _TRequest and _TResponse.
359360
@abc.abstractmethod
360361
async def intercept_service(
361362
self,

0 commit comments

Comments
 (0)