2917 Commits

Author SHA1 Message Date
Sebastian Rittau
27dfbf68aa Use __new__ instead of __init__ for some builtin classes (#4555)
Closes #4514 #2630 #2686
2020-09-30 00:00:06 -07:00
karl ding
e3352c654d fcntl: Add fcntl.F_OFD_XXXX constants (#4585)
Add support for the following open file description lock constants:

  - F_OFD_GETLK
  - F_OFD_SETLK
  - F_OFD_SETLKW
2020-09-29 22:05:40 -07:00
PythonCoderAS
353a65071b Use Optional in random.pyi (#4584) 2020-09-26 23:41:17 -07:00
Shantanu
076983eec4 PathLike: make runtime_checkable (#4582)
I made PathLike a protocol in #4447, but it should also be
runtime_checkable.

Caught by mypy_primer:
src/werkzeug/utils.py:646: error: Only @runtime_checkable protocols can be used with instance and class checks
2020-09-27 07:50:56 +02:00
Shantanu
d6d2249edc builtins: rename _LT (#4579)
Having an obscure type variable name is causing some pretty inscrutable
errors. For instance:
```
xarray/core/utils.py:466: error: Value of type variable "_LT" of "sorted" cannot be "K"
tornado/simple_httpclient.py:324: error: Value of type variable "_LT" of "min" cannot be "Optional[float]"
```

I think having a more descriptive type variable name here is better for
user experience and helps address the "why" of an error.
2020-09-26 07:33:26 +02:00
Unrud
c5cc223313 Fix typo in constant name EAI_ADDRFAMILY (#4577) 2020-09-25 14:17:08 -07:00
Sténio Jacinto
675ab77538 Add missing methods in urllib.request (#4571) 2020-09-25 00:28:30 -07:00
Jake Bailey
de70d0199d Fix distutils.log function signatures (#4573) 2020-09-24 17:27:50 -07:00
Sebastian Rittau
0cd7dd7009 Fix _patch.__call__() (#4568)
_patch.call() reused the type variable _T, which is generic over
_patch. It was meant to use a separate type variable for the argument,
which is returned.

Fixes #4566
2020-09-23 14:35:19 -07:00
Shantanu
b33896bcbc asyncio.run: fix type of debug (#4567) 2020-09-22 10:43:35 +02:00
Sebastian Rittau
f14d6eaa89 Improve unittest.mock.patch() types (#4277) 2020-09-21 15:26:39 +02:00
Eric Traut
c41f3e9bf9 Define NoneType class in _typeshed
Type checkers can use this to handle protocol matching for None (e.g. `foo: Hashable = None`).

Co-authored-by: Eric Traut <erictr@microsoft.com>
2020-09-20 15:42:23 -07:00
Sebastian Rittau
5d467a7756 Add more constants and attributes to posix (#4552)
The constants were found by running dir(posix) on a Debian 10.5 (x86_64)
system.

Resolves #616.
2020-09-19 23:19:36 -07:00
Sebastian Rittau
9a6b500909 Add various missing undocumented functions (#4554)
Mostly addresses #2149
2020-09-19 22:59:35 -07:00
Sebastian Rittau
fe69ffcb0f Add a few missing stdlib modules (#4550) 2020-09-18 11:28:25 -04:00
Sebastian Rittau
4e88557666 Complete msvcrt (#4548) 2020-09-18 09:20:26 -04:00
Sebastian Rittau
4e2e02b266 Fix cls argument name of CodecInfo.__new__() (#4549) 2020-09-17 12:04:54 -07:00
proost
b1865639c2 set difference strictly (#3886)
Fixes #1840
2020-09-17 17:49:07 +02:00
Jonathan Slenders
822e427693 Added annotations for msvcrt.getch. (#4547) 2020-09-17 10:55:44 +02:00
Shantanu
8642d2aa97 pkgutil, sys: make types more precise (#4536)
Co-authored-by: hauntsaninja <>
2020-09-16 10:38:27 +02:00
Cebtenzzre
1334840323 Make os.fchdir, os.fsync, and os.fdatasync accept FileDescriptorLike (#4544)
For the fd passed to these functions, CPython accepts not just an int,
but also anything with a fileno() method.

Fixes #4539
2020-09-15 16:30:34 -07:00
Nikolaus Waxweiler
d402f55334 load*: Return Any instead of Dict-types (#4543)
A plist file can contain more object types than dictionaries.
2020-09-15 16:29:59 -07:00
Yuri Khan
87b758b0da Relax type of xml.etree.ElementTree.XMLParser target argument (#4538)
The target argument can be an arbitrary object.
If it has certain methods, they are used by XMLParser,
missing methods are ignored.

Ideally, we'd be able to type the potentially missing
methods correctly, but currently the type system is
unable to do so.

Fixes #4537
2020-09-14 12:50:12 +02:00
Shantanu
dc0b4262c3 builtins: minor improvements (#4535)
Co-authored-by: hauntsaninja <>
2020-09-13 18:08:48 +02:00
Steve Dignam
b388662302 gc: add freeze, unfreeze, get_freeze_count (#4532)
These were introduced in Python 3.7

https://docs.python.org/3/library/gc.html
2020-09-11 23:17:31 +02:00
Shantanu
462c830194 codecs: various fixes (#4526)
Co-authored-by: hauntsaninja <>
2020-09-11 14:09:33 -07:00
Shantanu
861d6425b4 io: various fixes (#4525)
Co-authored-by: hauntsaninja <>
2020-09-11 08:30:03 +02:00
Adam Lichtl
1bc7689cbc Add type hints for pstats.SortKey available in Python >= 3.7 (#4523) 2020-09-10 22:34:43 -07:00
Sergei Lebedev
6bf894bb82 Made contextvars import in asyncio.base_futures conditional (#4524)
contextvars are only available in 3.7+.
2020-09-10 13:44:21 -07:00
Changsheng
d1923d153a Mark the return type of signal._HANDLER Any instead of None (#4518)
Closes #4517
2020-09-09 09:45:39 -07:00
Jake Bailey
f0bbc3bf2d Add special case for integers raised to a power of 2 (#4473) 2020-09-04 21:05:45 -07:00
Shantanu
ccfc1850e9 platform: update for py39 (#4506)
platform.DEVNULL seemed undocumented, but is eg, still mentioned in the
header comment of platform.py. So feels surprising this was removed
without much warning.

Co-authored-by: hauntsaninja <>
2020-08-31 15:28:37 -07:00
Shantanu
2d476d091b hmac: minor improvements (#4500) 2020-08-31 15:24:45 -07:00
Shantanu
5884ee2977 inspect: minor improvements (#4499)
Co-authored-by: hauntsaninja <>
2020-08-31 14:23:01 -07:00
Shantanu
c8c62b32ac socket: fix platform availability (#4507)
also fix another CI merge race issue

Co-authored-by: hauntsaninja <>
2020-08-31 14:20:46 -07:00
Shantanu
48c8939ce6 concurrent.futures: update for py39, minor fixes (#4503)
Note the new parameter doesn't actually exist on the base class, even
though it's documented as that being the case. Asked about it in https://bugs.python.org/issue39349

Co-authored-by: hauntsaninja <>
2020-08-31 22:04:49 +02:00
Shantanu
846e858bdc socket: add send_fds, recv_fds (#4501) 2020-08-31 22:03:30 +02:00
Nils K
802c8fbea4 Add missing default_section to RawConfigParser (#4505) 2020-08-31 14:55:30 +02:00
Shantanu
fdd01b0036 os._AddedDllDirectory: add __init__ (#4498) 2020-08-31 11:52:28 +02:00
Jérome Perrin
26ca4e75d8 subprocess: make env accept None also on python2 (#4504)
This was made for python3 in https://github.com/python/typeshed/pull/1291 but
this is also the case on python2
2020-08-30 20:58:20 -07:00
Shantanu
d07e65c53e weakref: small improvements (#4495)
Co-authored-by: hauntsaninja <>
2020-08-30 06:43:58 -07:00
Shantanu
ad5bc751f3 xml.etree.ElementTree: mark some removals (#4496)
Co-authored-by: hauntsaninja <>
2020-08-30 06:41:50 -07:00
Shantanu
193c7cb932 asyncio.tasks: update for py39 removals (#4493)
Co-authored-by: hauntsaninja <>
2020-08-29 22:07:20 -07:00
Shantanu
48c922e54a functools: use protocol for cmp_to_key return type (#4492)
Co-authored-by: hauntsaninja <>
2020-08-29 17:25:11 -07:00
Eric Traut
bbd8c96e34 Added some missing types from various stdlib stubs (#4466) 2020-08-29 16:45:36 -07:00
Eric Traut
f15db8950e Added missing "math.comb" function, introduced in Python 3.8. (#4489) 2020-08-28 08:39:24 -07:00
MapleCCC
cfe832b907 Fix type annotation of ast.NodeTransformer.generic_visit(). It always returns an ast.ASt object. (#4483) 2020-08-26 10:24:17 -07:00
Jelle Zijlstra
5f9fd3d127 upgrade black version (#4486)
Manually removed a number of trailing commas to prevent black from unnecessarily
exploding some collections.
2020-08-26 18:36:01 +02:00
Akuli
e3e395b28c fix assigning to tkinter.Tk().report_callback_exception (#4484) 2020-08-26 13:56:07 +02:00
Akuli
27e0ea0199 use Any for ignored callback return types in tkinter (#4485) 2020-08-26 13:54:44 +02:00