Commit Graph

964 Commits

Author SHA1 Message Date
Mahmoud Abduljawad
2c314617f9 Added missing path atribute to TarInfo class (#4884) 2021-01-01 19:47:54 +01:00
Ivan Levkivskyi
4141dd1176 Few more fixes for issues found by testing on internal codebases (#4876)
Few unrelated (but quite obvious) fixes here.

Co-authored-by: Ivan Levkivskyi <ilevkivskyi@dropbox.com>
2020-12-30 17:32:14 +00:00
Ivan Levkivskyi
fb753c4226 Loosen some types to avoid pain in real-life situations (#4870)
In this diff:
* Loosen `set.__[i]sub__()` to allow typical use cases (that work at runtime). Namely, allow removing `unicode` from a set of `str`, and allow removing optional values from non-optional sets.
* Avoid using union return types in `cryptography` deserialization functions.
* Tune `SupportsItems` so that `dict` implements it on Python 2.

Co-authored-by: Ivan Levkivskyi <ilevkivskyi@dropbox.com>
2020-12-29 18:31:14 +00:00
Ash Berlin-Taylor
3e10b44bb4 copy.deepcopy memo type is Any, not input type (#4828) 2020-12-16 17:38:11 +01:00
Jun Jia
35d73ef277 type of argument_default should be Any (#4811) 2020-12-14 19:17:19 +01:00
Sebastian Rittau
1c6ac09b82 Add EllipsisType, NoneType, and NotImplementedType (Python 3.10) (#4822) 2020-12-14 18:38:35 +01:00
Eric Traut
c4d8507ff7 Removed unused import symbols from stdlib stubs and fixed a few other errors detected by pyright. I did a similar pass several months ago; these were introduced since then. (#4803)
Co-authored-by: Eric Traut <erictr@microsoft.com>
2020-12-06 18:44:18 +01:00
Ran Benita
1958f3ec67 threading: properly export excepthook, ExceptHookArgs (#4797)
An `import X as Y` where X != Y no longer exports, so
27a45df479 caused them to be un-exported.
2020-12-02 14:58:52 +01:00
an onion
095464874a Added partial type stubs for stdlib xml (#4777)
Added empty stubs for xml.dom.minidom.parse and xml.dom.minidom.parseString, and other modules under xml.dom

Co-authored-by: Stephanie Ding <sym@fb.com>
Co-authored-by: Shantanu <hauntsaninja@users.noreply.github.com>
2020-11-20 19:02:35 -08:00
Ran Benita
27a45df479 threading: fix ExceptHookArgs being a function instead of a type (#4768)
The previous typing meant `threading.ExceptHookArgs` could not be used
to type a value.

The new typing follows what cpython does in the happy path (`_thread`
exists rather than the pure-python fallback being used).

Fixes #4767.
2020-11-14 14:50:34 +01:00
Stefano Chiodino
ca45cb21a8 Update zipfile.pyi (#4753) 2020-11-10 12:01:06 +01:00
Shantanu
2702f8c32e ctypes: fix argument names (#4735)
Co-authored-by: hauntsaninja <>
2020-10-31 18:34:25 -07:00
Jelle Zijlstra
301325b55b Make _GeneratorContextManager covariant (#4733)
Fixes  #4732
2020-10-30 17:31:55 -07:00
Sebastian Rittau
4603728a15 Clean up files with former forced consistency (#4717)
Replace Text with str in Python 3 code
2020-10-27 07:52:35 +01:00
Vincent Barbaresi
de98690e72 update math and gzip stubs for Python 3.8 (#4710)
I ran stubtest and spotted 2 things missing in 3.8 stdlib

- added BadGzipFile exception for gzip:
https://docs.python.org/3/library/gzip.html#gzip.BadGzipFile

- added math.perm() method:
https://docs.python.org/3/library/math.html#math.perm
2020-10-25 19:58:09 -07:00
Shantanu
1dd1b701c9 _typeshed: add SupportsLessThan, SupportsLessThanT (#4711)
And use it everywhere. Note there seemed to be a discrepancy between
heapq in Python 2 and 3, so I changed that. It should probably be more
widely used within heapq, but leaving that out of scope for this PR.

Co-authored-by: hauntsaninja <>
2020-10-25 15:04:43 -07:00
Paul
820cc11256 Provide types for ArgumentError members. (#4700) 2020-10-24 17:02:58 -07:00
Shantanu
6ff5b88ca7 typeshed: remove crufty comments (#4699)
Co-authored-by: hauntsaninja <>
2020-10-23 09:40:06 +02:00
Sebastian Rittau
3de732e188 Split distutils for Python 2 and 3 (#4685)
Addresses #4679, but also starts addressing #4674.
2020-10-22 19:24:17 -07:00
Utsav
6f943d43ea Added __class_getitem__ (#4695)
Resolves #4682

Co-authored-by: hauntsaninja <>
2020-10-22 14:05:04 -07:00
Sebastian Rittau
5927e5ca30 Remove most consistency checks and split builtins.pyi into py2/3 files (#4686)
Split builtins.pyi in Python 2 and 3 versions

Partly addresses #4674
2020-10-22 13:39:06 -07:00
Shantanu
b0f4900c9f fractions: make Fraction satisfy SupportsRound (#4697)
Helps with https://github.com/python/mypy/issues/9628

Co-authored-by: hauntsaninja <>
2020-10-22 12:12:27 -07:00
Shantanu
faf827bc36 mark some positional-only arguments (#4693)
https://github.com/python/mypy/pull/9626 will make stubtest a little bit
stricter about positional-only arguments for dunders like __init__

Co-authored-by: hauntsaninja <>
2020-10-22 13:31:23 +02:00
Dominic Davis-Foster
dcbeed5b5a Add stub for readline.set_auto_history (#4688) 2020-10-20 14:27:07 -07:00
Shantanu
7e378a7554 PEP 584: add or operators to dict (#4671)
Co-authored-by: hauntsaninja <>
2020-10-15 13:42:01 +02:00
Shantanu
3a16ebb463 builtins: int can accept __trunc__-able (#4665)
Refer to https://docs.python.org/3/reference/datamodel.html#object.__trunc__
Fixes https://github.com/python/mypy/issues/9588

Co-authored-by: hauntsaninja <>
2020-10-14 09:47:47 +02:00
Cebtenzzre
58ee9c0ae5 termios: Fix type of tcgetattr and tcsetattr attributes (#4662)
Returning a union from tcgetattr forces the caller to use isinstance or
a type: ignore comment if they modify the returned list. Return
List[Any] instead.

The cc field has ints at cc[termios.VTIME] and cc[termios.VMIN] if
lflag & termios.ICANON is zero. Change _Attr to allow this.

Fixes #4661
2020-10-12 18:24:09 -07:00
Rebecca Chen
fff7a10ae7 Add a version guard for importing enum in pstats. (#4635)
* Add a version guard for importing enum.

I'm trying to pull the latest version of typeshed into Google, and
pytype chokes on pstats in Python 2 because the enum module was
introduced in 3.4.

* Move the enum import into the branch that defines SortKey.
2020-10-08 16:09:24 -07:00
Sebastian Rittau
35f4ade96f Replace bool.__init__() with __new__() (#4614)
Fixes #4612
2020-10-09 00:20:03 +02:00
Peter Law
fa0ba1eda8 Add various undocumented functions from ftplib (#4633)
Fixes #4632
2020-10-08 22:20:48 +02:00
Kaushal Rohit
36f2ffa07e Added missing SysLogHandler types (#4630) 2020-10-07 19:02:54 -07:00
nicolas-harraudeau-sonarsource
cc71b6a4ed Fix "cgi.parse_qsl" return type (#4621)
Fixes #4620
2020-10-06 10:28:33 +02:00
Shantanu
e428f2d479 pep 484: last reexports (#4609)
Co-authored-by: hauntsaninja <>
2020-10-04 23:51:04 +02:00
Shantanu
723a23abfc contextlib: get rid of a TODO (#4610)
This dates back three years to https://github.com/python/typeshed/pull/1249

It seems pretty unused in practice, so I think this is fine:
https://grep.app/search?q=from%20contextlib%20import%20ContextManager&case=true
https://grep.app/search?q=contextlib.ContextManager&case=true

Co-authored-by: hauntsaninja <>
2020-10-04 23:49:49 +02:00
karl ding
ce3c9e05c0 imaplib: Add new functions from Python 3.9 (#4596)
Add imaplib.IMAP4.unselect()
2020-10-02 19:58:24 -07:00
karl ding
9cbb2c7820 math: Add new functions from Python 3.9 (#4590)
Add support for new math functions added in Python 3.9:

  - gcd
  - lcm
  - nextafter
  - ulp
2020-10-01 10:54:41 +02:00
Shantanu
e3889c776e pep 484: explicit reexport as intended (#4586)
See discussion on typing-sig.
This doesn't take care of some third_party libraries, will follow up on
those.

Co-authored-by: hauntsaninja <>
2020-09-30 10:04:23 -07:00
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
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
Jake Bailey
de70d0199d Fix distutils.log function signatures (#4573) 2020-09-24 17:27:50 -07: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
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