Commit Graph

3557 Commits

Author SHA1 Message Date
Sebastian Rittau
a615a17976 Update black and work around an isort bug (#4242) 2020-06-19 08:32:05 -07:00
Mikhail Golubev
30bbf02cf1 Add PEP 613 TypeAlias stub to typing_extensions (#4243) 2020-06-19 14:49:04 +02:00
Bruce Merry
e05fbabdeb Introduce ReadableBuffer and WriteableBuffer Union aliases (#4232)
Since typing doesn't yet have a way to express buffer protocol objects
(python/typing#593), various interfaces have ended up with a mish-mash
of options: some list just bytes (or just bytearray, when writable),
some include mmap, some include memoryview, I think none of them include
array.array even though it's explicitly mentioned as bytes-like, etc. I
ran into problems because RawIOBase.readinto didn't allow for
memoryview.

To allow for some uniformity until the fundamental issue is resolved,
I've introduced _typeshed.ReadableBuffer and _typeshed.WriteableBuffer,
and applied them in stdlib/3/io.pyi as an example. If these get rolled
out in more places, it will mean that we have only one place where they
have to get tweaked in future, or swapped out for a public protocol.

This unfortunately does have the potential to break code that inherits
from RawIOBase/BufferedIOBase and overrides these methods, because the
base method is now more general and so the override now needs to accept
these types as well (which is why I've also updated gzip and lzma).
However, it should be a reasonably easy fix, and will make the
downstream annotations more correct.
2020-06-19 12:45:12 +02:00
Luciano Ramalho
1350e710cc max, min overloads with Protocol: fix #4051 (#4227) 2020-06-19 12:37:43 +02:00
Sebastian Rittau
32c638cc88 Run the unused stubtest check only on python/typeshed (#4240)
Without this check, it is run on daily on every personal fork.
2020-06-18 10:47:05 -07:00
Vlad Emelianov
d21370965a Allow Warning message in showwarning and formatwarning (#4239) 2020-06-17 17:44:09 -07:00
Sebastian Rittau
68a7b9b178 Collate all stubtest runs into a single output (#4231) 2020-06-17 11:48:44 -07:00
Jakub Stasiak
37be717886 Add stubs for cryptography's Fernet.[encrypt|decrypt]_at_time() (#4238) 2020-06-17 16:11:42 +02:00
Martijn Pieters
5c739ef4c3 os.fsencode(PathLike[AnyStr]) produces AnyStr (#4233)
PathLike is generic over AnyStr of 7587e7f1c1. Also see 89de36afa4, which changed this to `Any` before `AnyStr` was available.
2020-06-16 15:57:58 -07:00
Sebastian Rittau
51cf2f51b8 Add IO protocols to _typeshed (#4230) 2020-06-14 20:44:48 +02:00
Sebastian Rittau
ef74bee249 Protocol naming guidelines (#4229)
Closes: #4174
2020-06-14 17:00:19 +02:00
Sebastian Rittau
89d3a55f1a Preparations for the Big Reformat (#4228)
A few comments between imports were removed or moved to the top of the
import block, due to behavioral differences between black and isort. See
psf/black#251 for details.

In two instances @overloads at the top of the file needed to be moved
due to psf/black#1490.
2020-06-14 07:58:26 -07:00
Sebastian Rittau
53431cab1d Remove unused stubtest entries (#4225)
Rename job
2020-06-12 06:57:23 -07:00
Jelle Zijlstra
f67ea2031a xml.etree: use _typeshed (#4221) 2020-06-11 12:41:57 -07:00
Sebastian Rittau
cf3b74a0bf Move stubtest CI to GitHub Actions (#4223)
This ensures that the Python version used matches the one used in the
scheduled extraneous stubtest whitelist check.

See also PR #4206.
2020-06-11 12:39:06 -07:00
Jelle Zijlstra
8100c0be89 subprocess: use AnyPath (#4218) 2020-06-11 09:15:10 +02:00
Jelle Zijlstra
d0b85d7efe remove _types (#4220) 2020-06-11 09:10:52 +02:00
Shantanu
ecb43149f7 builtins: NotImplemented is not callable (#4222)
Fixes #3315

Co-authored-by: hauntsaninja <>
2020-06-10 22:05:16 -07:00
Jelle Zijlstra
44a852dff5 Literal: always import from typing_extensions for simplicity (#4219) 2020-06-10 21:23:58 -07:00
Jelle Zijlstra
43e93f803f use _typeshed's Path aliases (#4214) 2020-06-10 20:57:09 -07:00
Shantanu
86f03f2d7b stubtest: remove unused whitelist entries (#4217)
Co-authored-by: hauntsaninja <>
2020-06-11 01:32:42 +02:00
Dmitry Marakasov
c14e56bcbb Add rv annotaton to send_static_file() (#4216) 2020-06-10 22:32:27 +02:00
Jelle Zijlstra
d261f14886 add constructors for configparser errors (#4215)
Fixes #4058

Co-authored-by: Shantanu <hauntsaninja@users.noreply.github.com>
2020-06-10 12:32:18 -07:00
Jelle Zijlstra
ea577cec1f move OpenTextMode and friends to _typeshed (#4213) 2020-06-10 15:36:21 +02:00
Mikhail Golubev
85281b636e Add __class_getitem__ to builtins generified in PEP 585 (#4184)
* Add __class_getitem__ to builtins generified in PEP 585

* Declare types.GenericAlias and use it in __class_getitem__
2020-06-09 20:10:07 -07:00
Sebastian Rittau
afe1e543b3 Make multiprocessing.Namespace accept any attribute (#4204)
Update multiprocessing.dummy.Namespace as well

Closes: #4186
2020-06-09 12:34:36 -07:00
Shantanu
72c8907760 tkinter: fix version availability (#4207)
Co-authored-by: hauntsaninja <>
2020-06-09 12:20:48 +02:00
Sam Bull
5f70d3721a Update root dbm module. (#4199) 2020-06-09 12:20:09 +02:00
Eric Masseran
40f6856a80 Update the InternalServerError constructor type (#4210) 2020-06-09 12:11:30 +02:00
Phillip Huang
f4b23e4a80 Fix cgi.FieldStorage's __iter__ return type (#4209)
Co-authored-by: Phillip Huang <phillip@dropbox.com>
2020-06-08 20:40:14 -07:00
Sebastian Rittau
206bff44ed Remove BinaryIO.write() (#4203)
write() is inherited from IO[bytes], where it's defined as
`def write(self, s: AnyStr) -> int: ...`. If AnyStr is bytes,
this should accept bytes, bytearray, and memoryview, so the
overload is unnecessary.

Closes: #4201
2020-06-08 13:40:41 -07:00
Christopher Head
51267a4b12 Add tkinter Event class (#4200) 2020-06-08 12:46:16 -07:00
Sebastian Rittau
3d84c52a4c Do not stop other checks if one check fails (#4205) 2020-06-08 07:25:52 -07:00
Shantanu
f2f65bcf8d profile/cProfile: minor improvements (#4202)
Co-authored-by: hauntsaninja <>
2020-06-08 11:45:55 +02:00
Shantanu
df6136c4ac logging: various fixes (#4196)
* logging.disable: update for py37

* RootLogger: fix __init__

* shutdown: add undocumented parameter

* MemoryHandler: add flushOnClose in py36

* NTEventLogHandler: fix dllname type

* makeSocket: add undocumented parameter

* SysLogHandler: fix socktype type

Co-authored-by: hauntsaninja <>
2020-06-07 14:05:29 -07:00
Jaromir Latal
4ab1d6f0ae [stdlib][logging] Make level default in logging.disable for 3.7+ (#4197) 2020-06-07 13:09:22 -07:00
Jaromir Latal
c36e4517f7 [stdlib][asyncio] Accept optional context in (Timer)Handle (#4190) 2020-06-07 06:33:46 -07:00
Christopher Head
948c1a63e6 Relax asyncio.TimerHandle.__init__ args parameter (#4193)
Just like the Handle class, the TimerHandle class can take any sequence
here, not just a list.
2020-06-06 18:33:23 -07:00
Luciano Ramalho
bb9e1a649c using type var to work around List invariance (#4192) 2020-06-06 18:32:15 -07:00
Christopher Head
7931635b52 Add sys.{get,set}_asyncgen_hooks (#4195) 2020-06-06 15:44:48 -07:00
Christopher Head
5b36051f77 tkinter: fix variable parameter to wait_variable (#4194)
The tkinter `wait_variable` function can be called with either the name
of a variable (a `str`) or an actual variable object (a `Variable`).
2020-06-06 14:41:42 -07:00
Vegard Stikbakke
34b9cfcdcf curses.bkgset -> bkgdset (#4191) 2020-06-06 08:45:37 -07:00
Rich Li
415da3ddd4 Redis client and others (#4178)
Co-authored-by: Richard Lindsley <rich.lindsley@gmail.com>
2020-06-06 08:07:45 -07:00
Eric N. Vander Weele
4199352287 Fix typing.ForwardRef.__eq__ stub (#4177)
The return type of `__eq___` should be `bool`.

Otherwise, `mypy --disallow-any-unimported --no-silence-site-packages`
fails because the return type becomes `Union[bool, Any]` due to an
unfollowed import.
2020-06-06 08:04:05 -07:00
Shantanu
7c5a4c96ca stubtest_unused: fix for py36 and earlier (#4187)
Co-authored-by: hauntsaninja <>
2020-06-06 16:50:50 +02:00
Jaromir Latal
9ab4ec568d [stdlib][asyncio] Widen asyncio.events.handle arguments type (#4188)
Co-authored-by: Jaromir Latal <jaro@fb.com>
2020-06-06 16:48:02 +02:00
Jaromir Latal
52bf411f2b [stdlib][asyncio] Allow optional policy in (#4189)
Co-authored-by: Jaromir Latal <jaro@fb.com>
2020-06-06 16:47:04 +02:00
Mikhail Golubev
231998a0a1 Fix a typo in the section about type hinting context managers (#4185) 2020-06-05 08:43:43 -07:00
karl ding
3f141751d7 cProfile: Fix Profile __init__ keyword arguments (#4183)
The CPython _lsprof module implementation uses the keyword arguments
'timer' and 'timeunit' instead of 'custom_timer' and 'time_unit' for
__init__. In profiler_init, the keyword argument parsing looks like the
following:

    static char *kwlist[] = {"timer", "timeunit",
                                   "subcalls", "builtins", 0};

This is the case ever since _lsprof was added in version 2.5.
2020-06-05 07:40:51 -07:00
Shantanu
db819480a5 logging: fix argument names (#4181)
* logging: fix argument names

* logging: filter method improvements

Co-authored-by: hauntsaninja <>
2020-06-04 19:32:03 -07:00