Skip to content

Commit b1b8b0c

Browse files
authored
Sync typeshed (python#19772)
Source commit: python/typeshed@2480d7e
1 parent a856e55 commit b1b8b0c

File tree

191 files changed

+3640
-2564
lines changed

Some content is hidden

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

191 files changed

+3640
-2564
lines changed

misc/typeshed_patches/0001-Revert-Remove-redundant-inheritances-from-Iterator.patch

Lines changed: 51 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
From c217544146d36899d50e828d627652a0d8f63bb7 Mon Sep 17 00:00:00 2001
1+
From 438dbb1300b77331940d7db8f010e97305745116 Mon Sep 17 00:00:00 2001
22
From: Marc Mueller <[email protected]>
33
Date: Sat, 21 Dec 2024 22:36:38 +0100
44
Subject: [PATCH] Revert Remove redundant inheritances from Iterator in
@@ -15,7 +15,7 @@ Subject: [PATCH] Revert Remove redundant inheritances from Iterator in
1515
7 files changed, 34 insertions(+), 34 deletions(-)
1616

1717
diff --git a/mypy/typeshed/stdlib/_asyncio.pyi b/mypy/typeshed/stdlib/_asyncio.pyi
18-
index ed56f33af..5253e967e 100644
18+
index d663f5d93..f43178e4d 100644
1919
--- a/mypy/typeshed/stdlib/_asyncio.pyi
2020
+++ b/mypy/typeshed/stdlib/_asyncio.pyi
2121
@@ -1,6 +1,6 @@
@@ -26,59 +26,59 @@ index ed56f33af..5253e967e 100644
2626
from contextvars import Context
2727
from types import FrameType, GenericAlias
2828
from typing import Any, Literal, TextIO, TypeVar
29-
@@ -10,7 +10,7 @@ _T = TypeVar("_T")
30-
_T_co = TypeVar("_T_co", covariant=True)
29+
@@ -11,7 +11,7 @@ _T_co = TypeVar("_T_co", covariant=True)
3130
_TaskYieldType: TypeAlias = Future[object] | None
3231

32+
@disjoint_base
3333
-class Future(Awaitable[_T]):
3434
+class Future(Awaitable[_T], Iterable[_T]):
3535
_state: str
3636
@property
3737
def _exception(self) -> BaseException | None: ...
3838
diff --git a/mypy/typeshed/stdlib/builtins.pyi b/mypy/typeshed/stdlib/builtins.pyi
39-
index 0575be3c8..d9be595fe 100644
39+
index f2dd00079..784ee7eac 100644
4040
--- a/mypy/typeshed/stdlib/builtins.pyi
4141
+++ b/mypy/typeshed/stdlib/builtins.pyi
42-
@@ -1186,7 +1186,7 @@ class frozenset(AbstractSet[_T_co]):
43-
def __hash__(self) -> int: ...
42+
@@ -1209,7 +1209,7 @@ class frozenset(AbstractSet[_T_co]):
4443
def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
4544

45+
@disjoint_base
4646
-class enumerate(Generic[_T]):
4747
+class enumerate(Iterator[tuple[int, _T]]):
4848
def __new__(cls, iterable: Iterable[_T], start: int = 0) -> Self: ...
4949
def __iter__(self) -> Self: ...
5050
def __next__(self) -> tuple[int, _T]: ...
51-
@@ -1380,7 +1380,7 @@ else:
52-
51+
@@ -1405,7 +1405,7 @@ else:
5352
exit: _sitebuiltins.Quitter
5453

54+
@disjoint_base
5555
-class filter(Generic[_T]):
5656
+class filter(Iterator[_T]):
5757
@overload
5858
def __new__(cls, function: None, iterable: Iterable[_T | None], /) -> Self: ...
5959
@overload
60-
@@ -1444,7 +1444,7 @@ license: _sitebuiltins._Printer
60+
@@ -1469,7 +1469,7 @@ license: _sitebuiltins._Printer
6161

6262
def locals() -> dict[str, Any]: ...
63-
63+
@disjoint_base
6464
-class map(Generic[_S]):
6565
+class map(Iterator[_S]):
6666
# 3.14 adds `strict` argument.
6767
if sys.version_info >= (3, 14):
6868
@overload
69-
@@ -1750,7 +1750,7 @@ def pow(base: _SupportsSomeKindOfPow, exp: complex, mod: None = None) -> complex
70-
69+
@@ -1776,7 +1776,7 @@ def pow(base: _SupportsSomeKindOfPow, exp: complex, mod: None = None) -> complex
7170
quit: _sitebuiltins.Quitter
7271

72+
@disjoint_base
7373
-class reversed(Generic[_T]):
7474
+class reversed(Iterator[_T]):
7575
@overload
7676
def __new__(cls, sequence: Reversible[_T], /) -> Iterator[_T]: ... # type: ignore[misc]
7777
@overload
78-
@@ -1814,7 +1814,7 @@ def vars(object: type, /) -> types.MappingProxyType[str, Any]: ...
78+
@@ -1840,7 +1840,7 @@ def vars(object: type, /) -> types.MappingProxyType[str, Any]: ...
7979
@overload
8080
def vars(object: Any = ..., /) -> dict[str, Any]: ...
81-
81+
@disjoint_base
8282
-class zip(Generic[_T_co]):
8383
+class zip(Iterator[_T_co]):
8484
if sys.version_info >= (3, 10):
@@ -131,157 +131,163 @@ index 910d63814..eb942bc55 100644
131131
# encoding and errors are added
132132
@overload
133133
diff --git a/mypy/typeshed/stdlib/itertools.pyi b/mypy/typeshed/stdlib/itertools.pyi
134-
index d0085dd72..7d05b1318 100644
134+
index fe4ccbdf8..73745fe92 100644
135135
--- a/mypy/typeshed/stdlib/itertools.pyi
136136
+++ b/mypy/typeshed/stdlib/itertools.pyi
137-
@@ -27,7 +27,7 @@ _Predicate: TypeAlias = Callable[[_T], object]
138-
137+
@@ -28,7 +28,7 @@ _Predicate: TypeAlias = Callable[[_T], object]
139138
# Technically count can take anything that implements a number protocol and has an add method
140139
# but we can't enforce the add method
140+
@disjoint_base
141141
-class count(Generic[_N]):
142142
+class count(Iterator[_N]):
143143
@overload
144144
def __new__(cls) -> count[int]: ...
145145
@overload
146-
@@ -37,12 +37,12 @@ class count(Generic[_N]):
147-
def __next__(self) -> _N: ...
146+
@@ -39,13 +39,13 @@ class count(Generic[_N]):
148147
def __iter__(self) -> Self: ...
149148

149+
@disjoint_base
150150
-class cycle(Generic[_T]):
151151
+class cycle(Iterator[_T]):
152152
def __new__(cls, iterable: Iterable[_T], /) -> Self: ...
153153
def __next__(self) -> _T: ...
154154
def __iter__(self) -> Self: ...
155155

156+
@disjoint_base
156157
-class repeat(Generic[_T]):
157158
+class repeat(Iterator[_T]):
158159
@overload
159160
def __new__(cls, object: _T) -> Self: ...
160161
@overload
161-
@@ -51,7 +51,7 @@ class repeat(Generic[_T]):
162-
def __iter__(self) -> Self: ...
162+
@@ -55,7 +55,7 @@ class repeat(Generic[_T]):
163163
def __length_hint__(self) -> int: ...
164164

165+
@disjoint_base
165166
-class accumulate(Generic[_T]):
166167
+class accumulate(Iterator[_T]):
167168
@overload
168169
def __new__(cls, iterable: Iterable[_T], func: None = None, *, initial: _T | None = ...) -> Self: ...
169170
@overload
170-
@@ -59,7 +59,7 @@ class accumulate(Generic[_T]):
171-
def __iter__(self) -> Self: ...
171+
@@ -64,7 +64,7 @@ class accumulate(Generic[_T]):
172172
def __next__(self) -> _T: ...
173173

174+
@disjoint_base
174175
-class chain(Generic[_T]):
175176
+class chain(Iterator[_T]):
176177
def __new__(cls, *iterables: Iterable[_T]) -> Self: ...
177178
def __next__(self) -> _T: ...
178179
def __iter__(self) -> Self: ...
179-
@@ -68,22 +68,22 @@ class chain(Generic[_T]):
180-
def from_iterable(cls: type[Any], iterable: Iterable[Iterable[_S]], /) -> chain[_S]: ...
180+
@@ -74,25 +74,25 @@ class chain(Generic[_T]):
181181
def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...
182182

183+
@disjoint_base
183184
-class compress(Generic[_T]):
184185
+class compress(Iterator[_T]):
185186
def __new__(cls, data: Iterable[_T], selectors: Iterable[Any]) -> Self: ...
186187
def __iter__(self) -> Self: ...
187188
def __next__(self) -> _T: ...
188189

190+
@disjoint_base
189191
-class dropwhile(Generic[_T]):
190192
+class dropwhile(Iterator[_T]):
191193
def __new__(cls, predicate: _Predicate[_T], iterable: Iterable[_T], /) -> Self: ...
192194
def __iter__(self) -> Self: ...
193195
def __next__(self) -> _T: ...
194196

197+
@disjoint_base
195198
-class filterfalse(Generic[_T]):
196199
+class filterfalse(Iterator[_T]):
197200
def __new__(cls, function: _Predicate[_T] | None, iterable: Iterable[_T], /) -> Self: ...
198201
def __iter__(self) -> Self: ...
199202
def __next__(self) -> _T: ...
200203

204+
@disjoint_base
201205
-class groupby(Generic[_T_co, _S_co]):
202206
+class groupby(Iterator[tuple[_T_co, Iterator[_S_co]]], Generic[_T_co, _S_co]):
203207
@overload
204208
def __new__(cls, iterable: Iterable[_T1], key: None = None) -> groupby[_T1, _T1]: ...
205209
@overload
206-
@@ -91,7 +91,7 @@ class groupby(Generic[_T_co, _S_co]):
207-
def __iter__(self) -> Self: ...
210+
@@ -101,7 +101,7 @@ class groupby(Generic[_T_co, _S_co]):
208211
def __next__(self) -> tuple[_T_co, Iterator[_S_co]]: ...
209212

213+
@disjoint_base
210214
-class islice(Generic[_T]):
211215
+class islice(Iterator[_T]):
212216
@overload
213217
def __new__(cls, iterable: Iterable[_T], stop: int | None, /) -> Self: ...
214218
@overload
215-
@@ -99,19 +99,19 @@ class islice(Generic[_T]):
216-
def __iter__(self) -> Self: ...
219+
@@ -110,20 +110,20 @@ class islice(Generic[_T]):
217220
def __next__(self) -> _T: ...
218221

222+
@disjoint_base
219223
-class starmap(Generic[_T_co]):
220224
+class starmap(Iterator[_T_co]):
221225
def __new__(cls, function: Callable[..., _T], iterable: Iterable[Iterable[Any]], /) -> starmap[_T]: ...
222226
def __iter__(self) -> Self: ...
223227
def __next__(self) -> _T_co: ...
224228

229+
@disjoint_base
225230
-class takewhile(Generic[_T]):
226231
+class takewhile(Iterator[_T]):
227232
def __new__(cls, predicate: _Predicate[_T], iterable: Iterable[_T], /) -> Self: ...
228233
def __iter__(self) -> Self: ...
229234
def __next__(self) -> _T: ...
230235

231236
def tee(iterable: Iterable[_T], n: int = 2, /) -> tuple[Iterator[_T], ...]: ...
232-
237+
@disjoint_base
233238
-class zip_longest(Generic[_T_co]):
234239
+class zip_longest(Iterator[_T_co]):
235240
# one iterable (fillvalue doesn't matter)
236241
@overload
237242
def __new__(cls, iter1: Iterable[_T1], /, *, fillvalue: object = ...) -> zip_longest[tuple[_T1]]: ...
238-
@@ -189,7 +189,7 @@ class zip_longest(Generic[_T_co]):
239-
def __iter__(self) -> Self: ...
243+
@@ -202,7 +202,7 @@ class zip_longest(Generic[_T_co]):
240244
def __next__(self) -> _T_co: ...
241245

246+
@disjoint_base
242247
-class product(Generic[_T_co]):
243248
+class product(Iterator[_T_co]):
244249
@overload
245250
def __new__(cls, iter1: Iterable[_T1], /) -> product[tuple[_T1]]: ...
246251
@overload
247-
@@ -274,7 +274,7 @@ class product(Generic[_T_co]):
248-
def __iter__(self) -> Self: ...
252+
@@ -288,7 +288,7 @@ class product(Generic[_T_co]):
249253
def __next__(self) -> _T_co: ...
250254

255+
@disjoint_base
251256
-class permutations(Generic[_T_co]):
252257
+class permutations(Iterator[_T_co]):
253258
@overload
254259
def __new__(cls, iterable: Iterable[_T], r: Literal[2]) -> permutations[tuple[_T, _T]]: ...
255260
@overload
256-
@@ -288,7 +288,7 @@ class permutations(Generic[_T_co]):
257-
def __iter__(self) -> Self: ...
261+
@@ -303,7 +303,7 @@ class permutations(Generic[_T_co]):
258262
def __next__(self) -> _T_co: ...
259263

264+
@disjoint_base
260265
-class combinations(Generic[_T_co]):
261266
+class combinations(Iterator[_T_co]):
262267
@overload
263268
def __new__(cls, iterable: Iterable[_T], r: Literal[2]) -> combinations[tuple[_T, _T]]: ...
264269
@overload
265-
@@ -302,7 +302,7 @@ class combinations(Generic[_T_co]):
266-
def __iter__(self) -> Self: ...
270+
@@ -318,7 +318,7 @@ class combinations(Generic[_T_co]):
267271
def __next__(self) -> _T_co: ...
268272

273+
@disjoint_base
269274
-class combinations_with_replacement(Generic[_T_co]):
270275
+class combinations_with_replacement(Iterator[_T_co]):
271276
@overload
272277
def __new__(cls, iterable: Iterable[_T], r: Literal[2]) -> combinations_with_replacement[tuple[_T, _T]]: ...
273278
@overload
274-
@@ -317,13 +317,13 @@ class combinations_with_replacement(Generic[_T_co]):
275-
def __next__(self) -> _T_co: ...
279+
@@ -334,14 +334,14 @@ class combinations_with_replacement(Generic[_T_co]):
276280

277281
if sys.version_info >= (3, 10):
282+
@disjoint_base
278283
- class pairwise(Generic[_T_co]):
279284
+ class pairwise(Iterator[_T_co]):
280285
def __new__(cls, iterable: Iterable[_T], /) -> pairwise[tuple[_T, _T]]: ...
281286
def __iter__(self) -> Self: ...
282287
def __next__(self) -> _T_co: ...
283288

284289
if sys.version_info >= (3, 12):
290+
@disjoint_base
285291
- class batched(Generic[_T_co]):
286292
+ class batched(Iterator[tuple[_T_co, ...]], Generic[_T_co]):
287293
if sys.version_info >= (3, 13):
@@ -307,18 +313,18 @@ index b79f9e773..f276372d0 100644
307313
def __iter__(self) -> Self: ...
308314
def next(self, timeout: float | None = None) -> _T: ...
309315
diff --git a/mypy/typeshed/stdlib/sqlite3/__init__.pyi b/mypy/typeshed/stdlib/sqlite3/__init__.pyi
310-
index bcfea3a13..5a659deac 100644
316+
index 6b0f1ba94..882cd143c 100644
311317
--- a/mypy/typeshed/stdlib/sqlite3/__init__.pyi
312318
+++ b/mypy/typeshed/stdlib/sqlite3/__init__.pyi
313-
@@ -405,7 +405,7 @@ class Connection:
314-
self, type: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None, /
319+
@@ -407,7 +407,7 @@ class Connection:
315320
) -> Literal[False]: ...
316321

322+
@disjoint_base
317323
-class Cursor:
318324
+class Cursor(Iterator[Any]):
319325
arraysize: int
320326
@property
321327
def connection(self) -> Connection: ...
322328
--
323-
2.50.1
329+
2.51.0
324330

mypy/typeshed/stdlib/_ast.pyi

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ from ast import (
108108
unaryop as unaryop,
109109
withitem as withitem,
110110
)
111-
from typing import Literal
111+
from typing import Final
112112

113113
if sys.version_info >= (3, 12):
114114
from ast import (
@@ -137,9 +137,9 @@ if sys.version_info >= (3, 10):
137137
pattern as pattern,
138138
)
139139

140-
PyCF_ALLOW_TOP_LEVEL_AWAIT: Literal[8192]
141-
PyCF_ONLY_AST: Literal[1024]
142-
PyCF_TYPE_COMMENTS: Literal[4096]
140+
PyCF_ALLOW_TOP_LEVEL_AWAIT: Final = 8192
141+
PyCF_ONLY_AST: Final = 1024
142+
PyCF_TYPE_COMMENTS: Final = 4096
143143

144144
if sys.version_info >= (3, 13):
145-
PyCF_OPTIMIZED_AST: Literal[33792]
145+
PyCF_OPTIMIZED_AST: Final = 33792

mypy/typeshed/stdlib/_asyncio.pyi

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ from collections.abc import Awaitable, Callable, Coroutine, Generator, Iterable
44
from contextvars import Context
55
from types import FrameType, GenericAlias
66
from typing import Any, Literal, TextIO, TypeVar
7-
from typing_extensions import Self, TypeAlias
7+
from typing_extensions import Self, TypeAlias, disjoint_base
88

99
_T = TypeVar("_T")
1010
_T_co = TypeVar("_T_co", covariant=True)
1111
_TaskYieldType: TypeAlias = Future[object] | None
1212

13+
@disjoint_base
1314
class Future(Awaitable[_T], Iterable[_T]):
1415
_state: str
1516
@property
@@ -20,7 +21,7 @@ class Future(Awaitable[_T], Iterable[_T]):
2021
@_log_traceback.setter
2122
def _log_traceback(self, val: Literal[False]) -> None: ...
2223
_asyncio_future_blocking: bool # is a part of duck-typing contract for `Future`
23-
def __init__(self, *, loop: AbstractEventLoop | None = ...) -> None: ...
24+
def __init__(self, *, loop: AbstractEventLoop | None = None) -> None: ...
2425
def __del__(self) -> None: ...
2526
def get_loop(self) -> AbstractEventLoop: ...
2627
@property
@@ -49,14 +50,15 @@ else:
4950
# While this is true in general, here it's sort-of okay to have a covariant subclass,
5051
# since the only reason why `asyncio.Future` is invariant is the `set_result()` method,
5152
# and `asyncio.Task.set_result()` always raises.
53+
@disjoint_base
5254
class Task(Future[_T_co]): # type: ignore[type-var] # pyright: ignore[reportInvalidTypeArguments]
5355
if sys.version_info >= (3, 12):
5456
def __init__(
5557
self,
5658
coro: _TaskCompatibleCoro[_T_co],
5759
*,
5860
loop: AbstractEventLoop | None = None,
59-
name: str | None = ...,
61+
name: str | None = None,
6062
context: Context | None = None,
6163
eager_start: bool = False,
6264
) -> None: ...
@@ -66,12 +68,12 @@ class Task(Future[_T_co]): # type: ignore[type-var] # pyright: ignore[reportIn
6668
coro: _TaskCompatibleCoro[_T_co],
6769
*,
6870
loop: AbstractEventLoop | None = None,
69-
name: str | None = ...,
71+
name: str | None = None,
7072
context: Context | None = None,
7173
) -> None: ...
7274
else:
7375
def __init__(
74-
self, coro: _TaskCompatibleCoro[_T_co], *, loop: AbstractEventLoop | None = None, name: str | None = ...
76+
self, coro: _TaskCompatibleCoro[_T_co], *, loop: AbstractEventLoop | None = None, name: str | None = None
7577
) -> None: ...
7678

7779
if sys.version_info >= (3, 12):

0 commit comments

Comments
 (0)