Akuli
e9ecea0033
Add options to tkinter widgets ( #4363 )
...
In tkinter, `widget['foo'] = bar` and `widget.config(foo=bar)` do the same thing, but they will now type-check differently: the `widget['foo'] = bar` syntax allows 'foo' to be any string (e.g. a variable, not necessarily a Literal) and bar to be any object, while `widget.config(foo=bar)` checks the existence of the option and the type of bar. Similarly, cget takes a Literal argument but __getitem__ takes a string.
Testing script can still be found at c42a72c53e
2020-08-17 13:59:51 -07:00
Eric Traut
f20c565eb3
Added support in typing.pyi for PEP 612 (ParamSpec and Concatenate) ( #4446 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-17 13:49:58 -07:00
Akuli
e1c4d2a713
more permissive type for tkinter fonts ( #4453 )
2020-08-17 15:52:16 +02:00
Akuli
0ebe4c2b65
fix eval and call return types ( #4451 )
2020-08-16 12:30:04 -07:00
Shantanu
b438ccc3bc
PathLike: change to Protocol ( #4447 )
...
Co-authored-by: hauntsaninja <>
2020-08-16 05:15:51 -07:00
Shantanu
3be7918eb2
deprecated: support use as decorator ( #4449 )
...
As opposed to just a decorator factory
Co-authored-by: hauntsaninja <>
2020-08-15 21:25:13 -07:00
Eric Traut
e2d335b6ef
Contributed stubs for "retry" package ( #4428 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
Co-authored-by: hauntsaninja <>
2020-08-15 18:29:15 -07:00
Eric Traut
002a444dff
Added missing type annotations for fractions and numbers modules. ( #4401 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-15 18:28:14 -07:00
Selim Belhaouane
8059ea72f8
Fix type for path in ZipFile.extract ( #4445 )
2020-08-14 15:15:43 -07:00
Christopher Schramm
fddc78293a
Extend function pointer type returned by CDLL ( #4444 )
...
CDLL.__getattr__ and __getitem__ return function pointers that have a __name__ attribute set, so "CDLL(lib).fun.__name__" is valid code but currently not covered.
2020-08-13 17:35:36 +02:00
Rebecca Chen
f9acd5aa3b
Mark http.server.SimpleHTTPRequestHandler's directory arg as optional. ( #4443 )
...
`directory` has a default value:
https://docs.python.org/3/library/http.server.html#http.server.SimpleHTTPRequestHandler .
2020-08-12 17:59:00 -07:00
Toru Ogawa
7643f1e16c
Add unsafe_ functions to yaml ( #4440 )
...
Close #4439
2020-08-12 15:25:26 +02:00
Sebastian Kreft
3bd5471744
fix: add get_origin to typing_extensions ( #4438 )
...
Fixes #4430
2020-08-11 13:45:54 -07:00
Jukka Lehtosalo
276d0428b9
Avoid false positivies from urlparse (Python 2) ( #4437 )
...
PR #3887 changed some `str` types to `Union[str, unicode]`. The `str`
types were too narrow, but the new types are too general, resulting in
around 80 false positives in a Dropbox internal repository.
I think that it's better to narrow down the types back some to avoid
the false positives, as these are commonly used functions.
Test cases:
```
from urlparse import urlunparse, urlunsplit, urljoin, urlparse, urlsplit
reveal_type(urlunparse(('1', '2', '3', '4', '5', '6'))) # str
reveal_type(urlunparse(['1', '2', '3', '4', '5', '6'])) # str
reveal_type(urlunparse((u'1', '2', '3', '4', '5', '6'))) # unicode
reveal_type(urlunparse([u'1', '2', '3', '4', '5', '6'])) # unicode
reveal_type(urlunsplit(('1', '2', '3', '4', '5'))) # str
reveal_type(urlunsplit(['1', '2', '3', '4', '5'])) # str
reveal_type(urlunsplit((u'1', '2', '3', '4', '5'))) # unicode
reveal_type(urlunsplit([u'1', '2', '3', '4', '5'])) # unicode
reveal_type(urljoin('x', 'y')) # str
reveal_type(urljoin(u'x', 'y')) # unicode
reveal_type(urljoin('x', u'y')) # unicode
reveal_type(urlparse('x').path) # str
reveal_type(urlparse(u'x').path) # str
reveal_type(urlparse(u'x').username) # Optional[str]
reveal_type(urlsplit('x').path) # str
reveal_type(urlsplit(u'x').path) # str
```
2020-08-11 13:03:06 +01:00
Ian Woloschin
5c049cd136
Add __name__ & __qualname__ to Coroutine ( #4404 )
2020-08-10 20:44:14 -07:00
Eric Traut
0ee7b26ce1
Contributed stubs for slugify package ( #4429 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com >
2020-08-10 13:34:47 -07:00
Eric Traut
9a4df32d86
Contributed stubs for cachetools package ( #4422 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
Co-authored-by: hauntsaninja <>
2020-08-10 13:34:22 -07:00
Eric Traut
224da619f5
Contributed stubs for markdown package ( #4426 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
Co-authored-by: hauntsaninja <>
2020-08-10 13:33:31 -07:00
Eric Traut
cac35d0631
Contributed stubs for freezegun package ( #4425 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-10 13:33:09 -07:00
Eric Traut
4b9de7752e
Contributed stubs for filelock package ( #4424 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-10 13:32:51 -07:00
Eric Traut
03a333871a
Added stubs for deprecated package ( #4423 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-10 13:32:35 -07:00
Jukka Lehtosalo
866b0c3bf0
ConfigParser: accept readline() that takes no arguments ( #4433 )
...
At runtime readline() is called without arguments, so requiring
an optional argument may result in false positives.
2020-08-10 15:55:32 +01:00
Jukka Lehtosalo
0cd2350595
Add back md5.md5 ( #4432 )
...
This was accidentally removed in #4287 .
2020-08-10 12:52:13 +01:00
Eric Traut
f46fb7ff59
Added some missing type annotations in stdlib stubs. ( #4418 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-08 20:49:37 +02:00
Eric Traut
030e5ad1dd
Added missing type annotations for itsdangerous. ( #4416 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-08 20:48:22 +02:00
Akuli
954ce8c703
create _tkinter stub ( #4372 )
2020-08-08 14:14:52 +02:00
Eric Traut
adcd691d93
Added missing type annotations in gflags.pyi; removed some functions and methods that no longer exist in the library. ( #4417 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-08 11:34:46 +02:00
Eric Traut
2fa7a8d8c3
Added missing type annotations for mock.pyi. ( #4415 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-08 11:33:01 +02:00
Eric Traut
e4b48edbba
Fix a couple of type name collisions ( #4419 )
...
PEP 484 indicates that all type annotations within a stub file are supposed to be considered forward references even if they are not quoted. This means a type checker needs to use scope-based symbol resolution without regard for code flow order. Lookups will find same-named symbols within the same scope even if they are declared after the type annotation. This change fixes a couple of cases where this occurs and confuses pyright.
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-08 11:29:23 +02:00
github-actions[bot]
17db12866b
Remove unused stubtest whitelist entries ( #4420 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-08-07 22:54:07 -07:00
Jukka Lehtosalo
199b262f63
Add back six.moves.urllib.parse.unquote (Python 2) ( #4414 )
...
This was accidentally removed in #4287 .
2020-08-07 17:56:54 +01:00
Jukka Lehtosalo
57a1a3937a
Add back six.StringIO (Python 2) ( #4413 )
...
This was accidentally removed in #4287 .
2020-08-07 17:41:48 +01:00
Jukka Lehtosalo
7c444365f2
Add back six.moves.range (Python 2) ( #4411 )
...
This was accidentally removed in #4287 .
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com >
2020-08-07 17:20:34 +01:00
Jukka Lehtosalo
29c71ff52a
Add back tornado stubs for Python 2 only ( #4412 )
...
Tornado ships with inline annotations, but it no longer is Python 2
compatible. I think that it makes sense to keep the legacy stubs for
Python 2 compatibility, at least for a while longer.
This restores stubs removed in #4321 , but moves them to
`third_party/2`.
2020-08-07 08:54:57 -07:00
Sebastian Rittau
4233008b4a
TypeVar(bound) accepts strings for forward references ( #4410 )
2020-08-07 08:31:31 -07:00
Eric Traut
439ea4bd8b
Added missing import for case.pyi ( #4403 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-06 19:51:52 -07:00
Anders Kaseorg
bb685daad1
Update orjson.pyi from upstream ( #4405 )
...
https://github.com/ijl/orjson/blob/master/orjson.pyi
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2020-08-06 19:40:26 -07:00
Eric Traut
baaffed1ac
Added missing type annotations in various stdlib stubs. ( #4402 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-06 18:27:21 -07:00
Andreas Poehlmann
10a5b070ab
Fix contextlib.ContextDecorator.__call__ types ( #4399 )
...
The decorated function returned by ContextDecorator.__call__ has
the same call signature as the original function.
Closes #4382 .
2020-08-06 17:26:54 -07:00
Eric Traut
de4ea8681d
Removed imported symbols that are not accessed or re-exported (third_party part 4 of 4) ( #4391 )
...
* Removed imported symbols that are not accessed or re-exported from within third_party stubs (part 4). These were all identified as unused symbols by the pyright type checker and language server.
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-06 22:11:22 +02:00
Sam Bull
cea32bdc70
Add UserAgent attributes. ( #4398 )
2020-08-06 19:08:37 +02:00
Eric Traut
0b3494f712
Replaced parameter name "self" with "cls" for a few class methods ( #4393 )
...
* Replaced parameter name "self" with "cls" for a few class methods. Pyright emits a warning if a class method doesn't follow the PEP 8 standard where the first parameter is named "cls" for a class method. This change eliminates these warnings.
* Missed a file.
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-06 09:09:21 +02:00
Eric Traut
f60074f3d2
Fixed symbol redefinition in cgi.pyi stub ( #4394 )
...
* PEP 484 says that type checkers should assume that all types used in a stub should use forward declarations even though they are not quoted. This stub is using the symbol "type" within the context of a class scope. The "type" symbol is declared within this scope, so pyright assumes that the forward declaration should be used. The solution is to define a symbol with a different name in the outer scope to avoid the name conflict.
* Fixed import sort order.
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-06 09:05:45 +02:00
Eric Traut
65450d81ff
Fix multi-part module import errors ( #4395 )
...
* Pyright detects and reports cases where a multi-part module name is accessed but is not explicitly imported. These are dangerous because they rely on import resolution ordering within a program, which can easily change. This change eliminates errors detected by pyright.
* Fixed regression caught by CI test.
* Fixed black formatting issues.
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-06 09:03:54 +02:00
Eric Traut
04c74640f0
Removed imported symbols that are not accessed or re-exported ( #4387 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-05 22:49:17 -07:00
Eric Traut
e17c6a752e
Fixed base classes to avoid "Cannot create consistent method ordering" error. Like the Python interpreter, the pyright type checker reports an error when a class is defined in a way that a deterministic MRO cannot be established. This set of changes eliminates these errors. ( #4392 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-05 19:42:48 -07:00
Eric Traut
fe970d1134
Removed imported symbols that are not accessed or re-exported from within third_party stubs (part 3) ( #4390 )
...
These were all identified as unused symbols by the pyright type checker and language server.
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-05 18:51:20 -07:00
Eric Traut
b3929cbcc9
Removed imported symbols that are not accessed or re-exported from within third_party stubs (part 2). ( #4389 )
...
These were all identified as unused symbols by the pyright type checker and language server.
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-05 18:50:31 -07:00
Eric Traut
94a7a62c65
Removed imported symbols that are not accessed or re-exported from within third_party stubs (part 1). These were all identified as unused symbols by the pyright type checker and language server. ( #4388 )
...
Co-authored-by: Eric Traut <erictr@microsoft.com >
2020-08-05 18:49:35 -07:00
Adam Hitchcock
3b6925b955
mark deque.rotate arg as having a default ( #4386 )
2020-08-05 17:35:22 -07:00