Commit Graph

923 Commits

Author SHA1 Message Date
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
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
Shantanu 462c830194 codecs: various fixes (#4526)
Co-authored-by: hauntsaninja <>
2020-09-11 14:09:33 -07:00
Adam Lichtl 1bc7689cbc Add type hints for pstats.SortKey available in Python >= 3.7 (#4523) 2020-09-10 22:34:43 -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 2d476d091b hmac: minor improvements (#4500) 2020-08-31 15:24:45 -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 846e858bdc socket: add send_fds, recv_fds (#4501) 2020-08-31 22:03:30 +02: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
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
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 c065982b7a support anything with .keys() and __getitem__ in dict.__init__ (#4470) 2020-08-24 13:03:38 +02:00
Guido van Rossum 351a971b1d Add token.EXACT_TOKEN_TYPES for 3.8+ 2020-08-23 15:42:01 -07:00
Mario Ishac 4bbe161479 Made methodcaller's name argument positional (#4476) 2020-08-22 15:13:02 -07:00
Shantanu f23ce60668 stubtest: fix on windows (#4455)
Co-authored-by: Akuli
2020-08-17 14:55:58 -07:00
Shantanu b438ccc3bc PathLike: change to Protocol (#4447)
Co-authored-by: hauntsaninja <>
2020-08-16 05:15:51 -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
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
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 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
frehoy 7894269bb5 Proposed fix for tarfile.add() accepting Path name and arcname (#4369)
Co-authored-by: Akuli <akuviljanen17@gmail.com>
2020-07-31 16:55:45 +02:00
karl ding 8f50cd9d0e Add missing syslog facility codes (#4366)
Add support for the following syslog facilities:

  - LOG_NTP
  - LOG_SECURITY
  - LOG_CONSOLE
  - LOG_SOLCRON

In addition, reorder the entries to match the CPython implementation to
make it easier to read.
2020-07-27 12:34:12 +02:00
Vegard Stikbakke 51fd8b2a06 Fix Filter.filter return type - bool, not int (#4358) 2020-07-24 20:25:06 +02:00
Peter Law 29dec525e7 Add pydoc_data (#4351)
This appears to be used by jedi at least, so it would be great to
have stubs for it.
2020-07-21 18:14:03 -07:00
Philipp Hahn e44ac21d98 optparse: option_class is Type[Option] (#4338)
It's a `class`, not an `instance`.

<https://docs.python.org/2.7/library/optparse.html#optparse.OptionParser>
2020-07-17 20:50:02 +02:00
Sebastian Rittau 5e76f51930 Upgrade to isort 5 (#4323)
This now also reformats imports not at the top of files.
2020-07-16 07:01:57 -07:00
Shantanu 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
Sebastian Rittau 9ad8ed3b75 Introduce Mapping-like protocols (#4325)
typing.Mapping is not a protocol, which has caused problems in the past.
(E.g. python/typeshed#3569, see also python/typeshed#3576.) This
introduces a few narrow protocols to _typeshed.pyi that can be used in
place of Mapping.

Not all uses of Mapping can be replaced. For example, cgi.FieldStorage
explictly checks whether the supplied headers argument is a Mapping
instance.
2020-07-11 17:11:08 -07:00
Jonathan Slenders 028f0d5293 Fix: TarFile.tarinfo is a Type instead of instance. (#4322)
Co-authored-by: Jonathan Slenders <jslender@cisco.com>
2020-07-10 12:22:04 +02:00
Alex Grönholm ad89dee03b Fixed return type of getaddrinfo() everywhere (#4304) 2020-07-10 10:46:28 +02:00
Joshua Oreman e6736cde8d ctypes: allow cast() 1st argument to be int and 2nd argument to be Type[py_object] (#4311) 2020-07-10 10:44:23 +02:00
Alex Grönholm f9d469ac2b Fixed parameter and return types of getnameinfo() everywhere (#4305) 2020-07-03 15:46:02 +02:00
wouter bolsterlee 83e955b52f Use correct return type annotation for BaseException.with_traceback (#4298)
The return type of the BaseException.with_traceback() method [1] is not
specific enough. The return type is guaranteed to be of the same type as
‘self’, which is usually a subclass of BaseException.

In fact, .with_traceback() returns ‘self’:

    try:
        raise ValueError
    except Exception as exc:
        assert exc.with_traceback(None) is exc

Fix the annotation to reflect this using the self-type annotation
technique described in PEP484 [2], which is supported by (at least)
mypy [3].

[1] https://docs.python.org/3/library/exceptions.html#BaseException.with_traceback
[2] https://www.python.org/dev/peps/pep-0484/#annotating-instance-and-class-methods
[3] https://github.com/python/mypy/issues/1212
2020-06-30 11:40:25 -07:00