Shantanu and hauntsaninja
27c16169f3
typing: remove __class_getitem__ from Protocols ( #4741 )
...
Co-authored-by: hauntsaninja <>
2020-11-03 08:13:43 +01:00
Shantanu
65603f829f
xxlimited: add stubs ( #4736 )
2020-11-01 12:54:17 -08:00
Shantanu and hauntsaninja
620989bac5
typeshed: update stubtest version ( #4739 )
...
* typeshed: update stubtest version
Includes changes from https://github.com/python/mypy/pull/9680
I've already fixed all the true positives on typeshed.
* attempt to fix windows' _WarnFunction
Co-authored-by: hauntsaninja <>
2020-11-01 12:35:21 +01:00
Shantanu and hauntsaninja
d379d4ce48
posix: fix WIF* definitions ( #4737 )
...
Co-authored-by: hauntsaninja <>
2020-10-31 18:36:34 -07:00
Shantanu and hauntsaninja
2702f8c32e
ctypes: fix argument names ( #4735 )
...
Co-authored-by: hauntsaninja <>
2020-10-31 18:34:25 -07:00
Shantanu and hauntsaninja
c58a93b928
mypy_primer: speed up, clean up ( #4730 )
...
We use tee and no longer try to delete the file based on exit code,
since we use data.trim now.
mypy_primer started failing silently because of changes in aiohttp, so
now we'll fail if the exit codes are not 0 or 1.
Note mypy_primer has --project-date to get around the problem of
breaking changes in projects, but I want to try and keep mypy_primer up
to date / get a feel for how bad this problem actually is.
Co-authored-by: hauntsaninja <>
2020-10-30 09:16:11 +01:00
Shantanu and hauntsaninja
3f35c92e7f
concurrent.futures: use DoneAndNotDoneFutures ( #4729 )
...
Fixes #1976
Co-authored-by: hauntsaninja <>
2020-10-29 22:56:30 +01:00
Shantanu and hauntsaninja
96d7d77a04
mypy_test_suite: run a subset of tests ( #4723 )
...
Only a subset of mypy's test suite should be relevant to typeshed:
https://github.com/python/mypy/pull/9638
This should make things faster.
(Also the -n12 argument to pytest is weird; note mypy's pytest.ini
automatically specificies -nauto which is what we should want)
Resolves https://github.com/python/typeshed/issues/4333
Co-authored-by: hauntsaninja <>
2020-10-28 08:44:19 +01:00
Shantanu and hauntsaninja
25b3004ad8
mypy_primer: post a more informative message ( #4719 )
...
Co-authored-by: hauntsaninja <>
2020-10-27 07:47:59 +01:00
Shantanu and hauntsaninja
fc171339ce
mypy_primer: attempt to fix workflow ( #4718 )
...
This will take some merge and debug...
Co-authored-by: hauntsaninja <>
2020-10-26 13:03:08 -07:00
Shantanu and hauntsaninja
1bd808a458
mypy_primer: post failures as comments ( #4672 )
...
Co-authored-by: hauntsaninja <>
2020-10-26 10:58:49 +01:00
Shantanu and hauntsaninja
8581da07fe
builtins: remove unused imports ( #4715 )
...
Co-authored-by: hauntsaninja <>
2020-10-26 08:06:34 +01:00
Shantanu and hauntsaninja
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
Shantanu and hauntsaninja
8d4a4f9e74
mypy_selftest: rename to mypy_self_check ( #4712 )
...
This better disambiguates it from mypy_test_suite and is more inline
with how mypy refers to it internally.
Co-authored-by: hauntsaninja <>
2020-10-25 21:31:43 +01:00
Shantanu and hauntsaninja
48970d31de
tests / scripts: blacken and isort ( #4704 )
...
I often run black and isort in typeshed root and then have to undo these
changes.
Co-authored-by: hauntsaninja <>
2020-10-25 11:21:03 +01:00
Shantanu and hauntsaninja
2f1367332b
stubtest unused: match stubtest version, add fix ( #4705 )
...
In #4696 I bumped stubtest to a commit that hasn't been released. We
should have these stubtest versions match. In
https://github.com/python/mypy/pull/9426 I changed the output of
stubtest here; it's good to get this change in before I forget and this
action silently stops working.
Co-authored-by: hauntsaninja <>
2020-10-25 11:19:15 +01:00
Shantanu and hauntsaninja
6ff5b88ca7
typeshed: remove crufty comments ( #4699 )
...
Co-authored-by: hauntsaninja <>
2020-10-23 09:40:06 +02:00
Shantanu and hauntsaninja
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 and hauntsaninja
74bb849789
update stubtest ( #4696 )
...
Co-authored-by: hauntsaninja <>
2020-10-22 11:09:39 -07:00
Shantanu and hauntsaninja
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
Shantanu and hauntsaninja
10d3c6c325
Remove bad namedtuple to fix CI ( #4684 )
...
Co-authored-by: hauntsaninja <>
2020-10-18 00:25:09 -07:00
Shantanu and hauntsaninja
7603acd8b8
Upgrade flake8-pyi to fix CI ( #4683 )
...
This fixes things on Python 3.9, which we've started using since #4656
Co-authored-by: hauntsaninja <>
2020-10-17 23:43:00 -07:00
Shantanu and hauntsaninja
7e378a7554
PEP 584: add or operators to dict ( #4671 )
...
Co-authored-by: hauntsaninja <>
2020-10-15 13:42:01 +02:00
Shantanu and hauntsaninja
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
Shantanu and hauntsaninja
86ca46fa0a
mypy_primer: add to CI ( #4629 )
...
Co-authored-by: hauntsaninja <>
2020-10-12 14:41:51 -07:00
Shantanu and hauntsaninja
228f74d76a
io: loosen writelines type to iterable ( #4642 )
...
This came up in https://github.com/python/mypy/pull/9275
Co-authored-by: hauntsaninja <>
2020-10-09 21:25:33 -07:00
Shantanu and hauntsaninja
e428f2d479
pep 484: last reexports ( #4609 )
...
Co-authored-by: hauntsaninja <>
2020-10-04 23:51:04 +02:00
Shantanu and hauntsaninja
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
Shantanu and hauntsaninja
cca6e53d86
crypto: delete stubs ( #4606 )
...
Crypto is a package that comes from pycrypto, which was last updated in
2013. It proudly supports Python 2.1 through 3.3.
There's a near drop-in replacement from pycryptodome, which seems well
maintained. pycryptodome has provided stubs for the last two years.
I propose we get rid of the whole thing. pycrypto seems about as dead as
software can get. These stubs have received two fixes since 2016.
https://github.com/python/typeshed/issues/2952
https://pycryptodome.readthedocs.io/en/latest/src/vs_pycrypto.html
https://github.com/Legrandin/pycryptodome/blob/master/Changelog.rst#371-25-november-2018
Co-authored-by: hauntsaninja <>
2020-10-04 13:05:47 -07:00
Shantanu and hauntsaninja
52974e0a2b
asyncio.Semaphore: type some internals ( #4605 )
...
Co-authored-by: hauntsaninja <>
2020-10-04 12:53:02 +02:00
Shantanu and hauntsaninja
7afc733054
pep 484: more reexports ( #4607 )
...
There are still a couple more, but hopefully this fixes CI. It's a
little bit of a chore to track down some of these; it looks like master
differs from latest release for a number of them.
Co-authored-by: hauntsaninja <>
2020-10-03 20:22:31 -07:00
Shantanu and hauntsaninja
e0a3644850
py39.txt: remove no longer needed comment ( #4603 )
...
See #4598
Co-authored-by: hauntsaninja <>
2020-10-03 13:56:56 -07:00
Shantanu and hauntsaninja
76cd654987
stubtest whitelist: fix ( #4599 )
...
This should take care of #4598
Co-authored-by: hauntsaninja <>
2020-10-02 21:38:59 -07:00
Shantanu and hauntsaninja
d140885898
statvfs_result: type structseq better ( #4587 )
...
Fixes #4572
Co-authored-by: hauntsaninja <>
2020-10-02 03:02:36 -07:00
Shantanu
8879858871
markdown: improve preprocessors type ( #4588 )
...
* markdown: improve preprocessors type
https://github.com/Python-Markdown/markdown/blob/b701c34ebd7b2d0eb319517b9a275ddf0c89608d/markdown/preprocessors.py#L46
* Apply suggestions from code review
2020-09-30 14:34:24 -07:00
Shantanu and hauntsaninja
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
Shantanu and hauntsaninja
bf48bfd37c
retry: loosen delay to float ( #4583 )
...
Caught by mypy_primer:
paasta_tools/mesos/master.py:150: error: Argument "delay" to "retry" has incompatible type "float"; expected "int"
Co-authored-by: hauntsaninja <>
2020-09-27 07:51:18 +02: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 and hauntsaninja
734d91f90b
update-stubtest-whitelist: fix type errors ( #4581 )
...
Co-authored-by: hauntsaninja <>
2020-09-26 07:33:57 +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
Shantanu and hauntsaninja
12e82874d2
upgrade isort ( #4576 )
...
Co-authored-by: hauntsaninja <>
2020-09-25 13:57:15 -07:00
Shantanu and hauntsaninja
cb6549fa8f
markdown: add more stubs ( #4574 )
...
Co-authored-by: hauntsaninja <>
2020-09-25 22:29:21 +02:00
Shantanu
b33896bcbc
asyncio.run: fix type of debug ( #4567 )
2020-09-22 10:43:35 +02:00
Shantanu and hauntsaninja
8642d2aa97
pkgutil, sys: make types more precise ( #4536 )
...
Co-authored-by: hauntsaninja <>
2020-09-16 10:38:27 +02:00
Shantanu and hauntsaninja
dc0b4262c3
builtins: minor improvements ( #4535 )
...
Co-authored-by: hauntsaninja <>
2020-09-13 18:08:48 +02:00
Shantanu and hauntsaninja
462c830194
codecs: various fixes ( #4526 )
...
Co-authored-by: hauntsaninja <>
2020-09-11 14:09:33 -07:00
Shantanu and hauntsaninja
861d6425b4
io: various fixes ( #4525 )
...
Co-authored-by: hauntsaninja <>
2020-09-11 08:30:03 +02:00
Shantanu and hauntsaninja
2330083732
stubtest: fix whitelists ( #4513 )
...
Downstream of the reintroduction of py39 to CI / running the unused whitelist entry flow in #4512
Co-authored-by: hauntsaninja <>
2020-09-05 01:10:52 -07:00
Shantanu and hauntsaninja
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 and hauntsaninja
5884ee2977
inspect: minor improvements ( #4499 )
...
Co-authored-by: hauntsaninja <>
2020-08-31 14:23:01 -07:00
Shantanu and hauntsaninja
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 and hauntsaninja
e9becf1da6
py39: enable in CI ( #4494 )
...
Github Actions now supports prerelease builds
https://github.com/actions/setup-python/issues/20
Co-authored-by: hauntsaninja <>
2020-08-31 22:05:57 +02:00
Shantanu and hauntsaninja
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
Shantanu
fdd01b0036
os._AddedDllDirectory: add __init__ ( #4498 )
2020-08-31 11:52:28 +02:00
Shantanu and hauntsaninja
d07e65c53e
weakref: small improvements ( #4495 )
...
Co-authored-by: hauntsaninja <>
2020-08-30 06:43:58 -07:00
Shantanu and hauntsaninja
ad5bc751f3
xml.etree.ElementTree: mark some removals ( #4496 )
...
Co-authored-by: hauntsaninja <>
2020-08-30 06:41:50 -07:00
Shantanu and hauntsaninja
193c7cb932
asyncio.tasks: update for py39 removals ( #4493 )
...
Co-authored-by: hauntsaninja <>
2020-08-29 22:07:20 -07:00
Shantanu and hauntsaninja
48c922e54a
functools: use protocol for cmp_to_key return type ( #4492 )
...
Co-authored-by: hauntsaninja <>
2020-08-29 17:25:11 -07:00
Shantanu
723fcb368a
pathlib.Path.open: bring on the overloads ( #4407 )
2020-08-21 20:36:43 -07:00
Shantanu and Akuli
f23ce60668
stubtest: fix on windows ( #4455 )
...
Co-authored-by: Akuli
2020-08-17 14:55:58 -07:00
Shantanu and hauntsaninja
b438ccc3bc
PathLike: change to Protocol ( #4447 )
...
Co-authored-by: hauntsaninja <>
2020-08-16 05:15:51 -07:00
Shantanu and hauntsaninja
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
Shantanu and hauntsaninja
bc6da51495
asyncio: export submodules ( #4346 )
...
Resolves #4345
Co-authored-by: hauntsaninja <>
2020-07-21 09:34:00 +02:00
Shantanu
d998d37954
multiprocessing: revert changes to queue classes ( #4314 )
...
Partial revert of #4289 . Fixes #4313
2020-07-16 15:03:25 -07:00
Shantanu and hauntsaninja
5ecdc08bb1
tarfile: fix arg name ( #4326 )
...
And update whitelist since #4322 fixed a thing
Co-authored-by: hauntsaninja <>
2020-07-12 20:27:43 +02:00
Shantanu
fe58699ca5
collections/typing: fix various arg names ( #4258 )
...
This feels nervous, but if it passes unit tests it's unlikely to break
anything
2020-06-28 12:27:21 -07:00
Shantanu
64327e02e9
keyword: update for py39 ( #4272 )
2020-06-26 20:50:16 +02:00
Shantanu and hauntsaninja
afcb46655a
graphlib: add in py39 ( #4268 )
...
Co-authored-by: hauntsaninja <>
2020-06-26 20:49:50 +02:00
Shantanu and hauntsaninja
9a16b02187
argparse: fix for latest py39 ( #4267 )
...
https://github.com/python/typeshed/pull/4144 and
https://github.com/python/cpython/pull/11478#pullrequestreview-423968410
resulted in the issue being fixed upstream.
Co-authored-by: hauntsaninja <>
2020-06-26 12:55:23 +02:00
Shantanu and hauntsaninja
cc150f1d76
compileall: update for py39 again ( #4269 )
...
Co-authored-by: hauntsaninja <>
2020-06-26 12:46:18 +02:00
Shantanu and hauntsaninja
fc8b0ed94e
builtins: remove __class_getitem__ from type ( #4270 )
...
Co-authored-by: hauntsaninja <>
2020-06-26 12:45:22 +02:00
Shantanu
2ba6939788
imaplib: update for py39 ( #4271 )
2020-06-26 12:40:27 +02:00
Shantanu and hauntsaninja
1c3f526fbf
pickle: improve positional-arg accuracy in py39 and others ( #4273 )
...
Although technically data in loads is not positional-only in py38, but
we decided that that doesn't matter
Co-authored-by: hauntsaninja <>
2020-06-26 12:29:47 +02:00
Shantanu and hauntsaninja
70459abb44
Revert "zip: add some overloads for heterogeneous tuples ( #3830 )" ( #4254 )
...
This reverts commit e857ad6ba9 .
Co-authored-by: hauntsaninja <>
2020-06-25 08:46:02 -07:00
Shantanu and hauntsaninja
9723afef8a
stubtest whitelists: update ( #4257 )
...
Co-authored-by: hauntsaninja <>
2020-06-23 08:55:40 +02:00
Shantanu and hauntsaninja
ecb43149f7
builtins: NotImplemented is not callable ( #4222 )
...
Fixes #3315
Co-authored-by: hauntsaninja <>
2020-06-10 22:05:16 -07:00
Shantanu and hauntsaninja
86f03f2d7b
stubtest: remove unused whitelist entries ( #4217 )
...
Co-authored-by: hauntsaninja <>
2020-06-11 01:32:42 +02:00
Shantanu and hauntsaninja
72c8907760
tkinter: fix version availability ( #4207 )
...
Co-authored-by: hauntsaninja <>
2020-06-09 12:20:48 +02:00
Shantanu and hauntsaninja
f2f65bcf8d
profile/cProfile: minor improvements ( #4202 )
...
Co-authored-by: hauntsaninja <>
2020-06-08 11:45:55 +02:00
Shantanu and hauntsaninja
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
Shantanu and hauntsaninja
7c5a4c96ca
stubtest_unused: fix for py36 and earlier ( #4187 )
...
Co-authored-by: hauntsaninja <>
2020-06-06 16:50:50 +02:00
Shantanu and hauntsaninja
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
Shantanu
7aabfcc65a
array: update for py39 ( #4180 )
2020-06-04 18:32:24 -07:00
Shantanu
5369e813a9
argparse: fix error __init__, add BooleanOptionalAction for py39 ( #4144 )
2020-06-04 16:00:52 -07:00
Shantanu and hauntsaninja
c879392b02
CI: remove py39 ( #4154 )
...
I can't find a way to pin it to beta, and if they're going to make
changes that will break typeshed CI we shouldn't run it in CI.
I would like to make this run with Travis' allow_failures, but I can't
seem to make it work.
Co-authored-by: hauntsaninja <>
2020-06-01 22:42:23 -07:00
Shantanu and hauntsaninja
de2c2947fe
windows: fix splitunc param name ( #4143 )
...
Co-authored-by: hauntsaninja <>
2020-05-29 20:37:19 -04:00
Shantanu and hauntsaninja
6590a36776
stubtest whitelists: clean up duplicate entries ( #4142 )
...
Co-authored-by: hauntsaninja <>
2020-05-29 18:32:26 -04:00
Shantanu and hauntsaninja
62304eb02f
asyncio: update cancels for py39 ( #4135 )
...
Co-authored-by: hauntsaninja <>
2020-05-28 13:42:31 -07:00
Shantanu and hauntsaninja
da2aa297a2
pathlib: update for py39 ( #4134 )
...
Co-authored-by: hauntsaninja <>
2020-05-28 13:41:53 -07:00
Shantanu
feb43f7237
asyncio: add asyncio.threads for py39 ( #4136 )
2020-05-28 13:37:46 -07:00
Shantanu and hauntsaninja
2f0e3dbed2
statistics: add zscore in py39 ( #4130 )
...
Co-authored-by: hauntsaninja <>
2020-05-27 22:09:46 -07:00
Shantanu and hauntsaninja
1c0403cf83
random: various fixes ( #4128 )
...
* random.sample: make counts keyword-only
* random: mark positional-only args
* random.triangular: fix type of mode
* random: add randbytes
Co-authored-by: hauntsaninja <>
2020-05-27 22:05:55 -07:00
Shantanu
eca19f00fb
bdb: various fixes ( #4127 )
2020-05-27 21:42:45 -07:00
Shantanu and hauntsaninja
e8d0cadf7b
aifc: update for py39 ( #4126 )
...
Co-authored-by: hauntsaninja <>
2020-05-27 21:42:32 -07:00
Shantanu
c3c6abc153
gettext: various fixes ( #4125 )
2020-05-27 21:26:58 -07:00
Shantanu and hauntsaninja
22fd5e916a
wsgiref: fix arg name, make close an instance variable ( #4123 )
...
Co-authored-by: hauntsaninja <>
2020-05-27 21:06:11 -07:00
Shantanu
e9531e0c18
_tracemalloc: precise types, deduplicate tracemalloc ( #4083 )
2020-05-27 20:36:21 -07:00
Shantanu and hauntsaninja
5cf2fb703a
tempfile: fix TemporaryFile on Windows ( #4112 )
...
Co-authored-by: hauntsaninja <>
2020-05-27 20:22:01 -07:00