Commit Graph

2839 Commits

Author SHA1 Message Date
Shantanu 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
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
Kaushal Rohit 021c219e6e concurrent.futures.wait: use _Collection (#4618) 2020-10-06 17:48:40 -07:00
Oleg Höfling bfa52e204f loosen the wrapper type restriction in functools.update_wrapper (#4627) 2020-10-06 17:59:42 +02: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
Andrew Mitchell d34a45daa9 sre parse_template allows byte sources (#4604)
Resolves #4331
2020-10-04 16:45:59 +02:00
Shantanu 52974e0a2b asyncio.Semaphore: type some internals (#4605)
Co-authored-by: hauntsaninja <>
2020-10-04 12:53:02 +02:00
愚氓 a94eb4b64c Fix type in FrameType.f_trace (#4600) 2020-10-03 13:34:31 -07:00
Kaushal Rohit 6e7ac975b4 concurrent.futures.wait: changed Iterable to Sequence (#4597) 2020-10-02 22:51:14 -07: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
Shantanu d140885898 statvfs_result: type structseq better (#4587)
Fixes #4572

Co-authored-by: hauntsaninja <>
2020-10-02 03:02:36 -07:00
Sebastian Rittau 2157c4a448 Fix patch() used as decorator (#4592)
Closes: #4591
2020-10-02 09:05:25 +02:00
Andrew Mitchell 8427e09424 ast.get_docstring: fix return type (#4595)
Resolves #4575
2020-10-01 18:48:09 -07:00
karl ding e8bcb14f09 tracemalloc: Add new functions from Python 3.9 (#4593)
Add tracemalloc.reset_peak()
2020-10-01 17:38:11 +02: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
karl ding db29dd949c gc: Add typing for gc.is_finalized() (#4589) 2020-09-30 21:25:19 -07: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
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