Commit Graph
100 Commits
Author SHA1 Message Date
Shantanuandhauntsaninja e0f9242e76 io: StringIO seems happy enough to take None (#3973)
Didn't check C code, but the _pyio implementation explicitly checks for
None

Co-authored-by: hauntsaninja <>
2020-05-12 18:33:48 -07:00
Shantanuandhauntsaninja 111f3f02ef socket: fix default mode for makefile (#3978)
Fixes #3977

Co-authored-by: hauntsaninja <>
2020-05-12 18:22:25 -07:00
Shantanuandhauntsaninja 637dba1beb concurrent.futures: fix BrokenProcessPool base (#3972)
Co-authored-by: hauntsaninja <>
2020-05-11 21:52:55 -07:00
Shantanu e857ad6ba9 zip: add some overloads for heterogeneous tuples (#3830)
Technically this is a lie, since we return a heterogeneous iterator, not
a tuple. But since we don't have a way of typing heterogeneous
iterators, this is the best we can do.

Fixes https://github.com/python/mypy/issues/8454
2020-05-03 21:02:26 -07:00
Shantanuandhauntsaninja fec46043ed asyncio: various fixes (#3947)
* asyncio: remove BaseChildWatcher from top level

* asyncio.sleep: loop is keyword-only

* asyncio: remove Server from top level

* asyncio: add FastChildWatcher to top level

* asyncio.constants: fix version availability

* asyncio: fix arg name for _wakeup

* asyncio: fix arg name for wrap_future

* asyncio.streams: add Optional to various arguments

It might be possible to further improve some of these with overloads.

* stubtest: fix whitelist

Co-authored-by: hauntsaninja <>
2020-04-30 17:04:36 -07:00
Shantanuandhauntsaninja 88440b768c http: add py39 status codes (#3955)
Co-authored-by: hauntsaninja <>
2020-04-29 20:47:28 -07:00
Shantanuandhauntsaninja aa84ff750e asyncio: remove private methods that don't exist (#3938)
Co-authored-by: hauntsaninja <>
2020-04-23 19:20:57 -07:00
Shantanu 496d758769 typing: minor changes (#3933)
* typing: fix argument names of cast
* typing: use private _Alias class

For py37 and above, this is _GenericAlias, for py36 and below it's
_TypeAlias. I don't think we need to make typing.pyi definitions
correspond more precisely, but we should avoid leaking a
typing.TypeAlias class
2020-04-22 19:38:47 +02:00
Shantanu 0532e72e7f asyncio: mark positional-only args (#3934) 2020-04-22 19:34:30 +02:00
Shantanu ec57251010 asyncio.events: various fixes (#3931)
- connect_accepted_socket isn't a member of AbstractEventLoop, only
BaseEventLoop
- fix types of arguments with defaults. some of these functions could
have their signatures improved with overloads to reduce false negatives
- correctly mark a positional-only argument
- remove abstractmethod from methods that don't have abstractmethod and
go unimplemented in practice
2020-04-20 17:56:24 -07:00
Shantanu 626a0f3f73 asyncio.subprocess: loop is Optional (#3930) 2020-04-20 12:20:08 +02:00
Shantanuandhauntsaninja e56adddc48 dataclasses: change hash to unsafe_hash, add a minor overload (#3892)
Co-authored-by: hauntsaninja <>
2020-04-03 17:23:05 -07:00
Shantanu 591522fb6a functools.singledispatchmethod: add __call__ for better results (#3899)
It doesn't actually have __call__, it does some descriptor stuff, but
this makes things work. _SingleDispatchCallable has a __call__ too,
which is what this mirrors.

Fixes #3898
2020-04-03 17:17:26 -07:00
Shantanu ab6811aa4f yaml: fix python version availability (#3891) 2020-03-31 17:05:39 +02:00
Shantanuandhauntsaninja 68238e0c9e stubtest whitelists: use regexes, add comments (#3883)
Co-authored-by: hauntsaninja <>
2020-03-27 10:27:16 -07:00
Shantanu 4de4cd0428 locale: various improvements (#3860)
- fix delocalize return type
- fix arg names
- add missing args
2020-03-22 08:53:32 -07:00
Shantanuandhauntsaninja 1422fce882 pstats: fix stream type, add class var (#3862)
Co-authored-by: hauntsaninja <>
2020-03-18 17:49:54 -07:00
Shantanuandhauntsaninja 2be4dcae03 pydoc: various improvements (#3863)
Co-authored-by: hauntsaninja <>
2020-03-18 17:47:17 -07:00
Shantanu 56e2e475e9 plistlib: fix arg name, add exception (#3861) 2020-03-18 10:38:19 +01:00
Shantanu 814cf53597 doctest: fix testmod types (#3859) 2020-03-17 19:44:51 +01:00
Shantanu 4ccc757d1a macpath: fix arg names, remove nonexistent functions (#3853)
* macpath: fix arg names
* macpath: remove commonpath, relpath
2020-03-17 15:05:23 +01:00
Shantanuandhauntsaninja 1b13e94108 yaml: mark keyword-only args (#3854)
Co-authored-by: hauntsaninja <>
2020-03-16 15:51:12 -07:00
Shantanu c50fce6ef3 travis: update stubtest version (#3835)
* stubtest whitelists: add json.loads
2020-03-15 12:52:12 +01:00
Shantanuandhauntsaninja 4b360ca2c8 TypedDict: fix keys, values, items return value (#3529)
Fixes #3473

Co-authored-by: hauntsaninja <>
2020-03-13 21:03:22 -07:00
Shantanu d8b081130d email.mime: add policy arguments (#3827) 2020-03-08 16:06:55 +01:00
Shantanu 60c59a560e select: various fixes (#3833) 2020-03-07 13:06:16 +01:00
Shantanu 2d3635f10d os: fix platform availability (#3832) 2020-03-07 12:59:55 +01:00
Shantanu de4305760d configparser: add undocumented parameter to SectionProxy.get (#3826) 2020-03-07 12:46:32 +01:00
Shantanu c478d3aa98 asyncio: add arguments to subprocess_shell (#3825) 2020-03-07 12:45:30 +01:00
Shantanuandhauntsaninja 2d82e1fb8b zipfile.ZipFile: fix fp, extract (#3828)
* zipfile: fp is None in a lot of error cases

* zipfile: pwd can be None in extract

Co-authored-by: hauntsaninja <>
2020-03-06 14:57:06 -08:00
Shantanu 89afe1e014 statistics: fix median_grouped, NormalDist.samples (#3818) 2020-03-06 11:34:04 +01:00
Shantanu 98c6bf8272 argparse: allow passing a callable to ArgumentParser (#3821)
Fixes #3806
2020-03-06 11:24:50 +01:00
Shantanu e2a409291d asyncore: various fixes (#3820) 2020-03-06 11:23:03 +01:00
Shantanu af09df9b48 textwrap: various fixes (#3819) 2020-03-06 11:12:24 +01:00
Shantanu 3c770a7a17 pdb: various fixes (#3817) 2020-03-06 11:07:52 +01:00
Shantanu 6b4fd79808 builtins: add mod to various power functions (#3816) 2020-03-06 11:07:05 +01:00
Shantanu b208f21fbd imghdr: h can be None (#3815) 2020-03-06 11:03:11 +01:00
Shantanu 009e650a1d string: various fixes (#3814) 2020-03-06 11:02:18 +01:00
Shantanu 11d300587e urllib: various fixes (#3813) 2020-03-06 11:01:19 +01:00
Shantanu b94d23c608 struct: fix arg names, mark positional-only args (#3792) 2020-02-29 14:42:04 +01:00
Shantanu 83833116bd datetime: mark positional-only args (#3791) 2020-02-29 14:18:34 +01:00
Shantanu 558d88ef92 cgi: various improvements (#3790)
- add max_num_fields to FieldStorage
- fix various types based on default values
2020-02-29 14:18:06 +01:00
Shantanu e4b4cd99c0 ssl: various fixes (#3789)
* ssl: fix arg names, mark positional-only args
* ssl: add undocumented parameter to do_handshake
* ssl: fix type of password in load_cert_chain
* ssl: add session parameter to wrap_socket, wrap_bio in py36 on
* ssl: update whitelists
2020-02-29 14:08:47 +01:00
Shantanu aa6e3efcca README.md: better document test_stubtest pitfall (#3793)
Document that the test will likely fail locally, to help cases like #3782
2020-02-29 13:58:47 +01:00
Shantanu 1704d7f58c stubtest: remove entry from whitelist (#3776)
travis seems to have just updated from 3.7.5 to 3.7.6 and 3.8.0 to
3.8.1. The stubs match the newer versions, so we remove the previously
whitelisted error.
2020-02-25 10:57:45 +01:00
Shantanu ab36ecb784 io: add open_code for py38 (#3769) 2020-02-22 12:53:16 +01:00
Shantanu ed2d3543c7 functools: add singledispatchmethod (#3764) 2020-02-21 21:36:47 -08:00
Shantanu 1b7eadce95 fcntl: various improvements (#3680)
* fcntl: mark positional-only args

* fcntl: use overload for fcntl.fcntl

The comment about depending on the type of arg seems incorrect
https://github.com/python/typeshed/commit/bf501353a0668369e53cc1bc97250bb14f61a09e

I checked the docs and examples, CPython implementation and CPython tests, but
I might be missing something

* fcntl: use overload for fcntl.ioctl

Based off of docs and examples

* fcntl: type buffers better

Follows the approach in #2610
2020-02-21 21:31:58 -08:00
Shantanu af2767d9d5 modulefinder: fix types for __init__, remove scan_opcodes from py35 (#3765)
* modulefinder: fix types

* modulefinder: scan_opcodes isn't present in py35

* modulefinder: update whitelists

* modulefinder: restore previous __init__ for py37 and below
2020-02-21 21:27:56 -08:00
Shantanu 0435be3432 curses: various fixes (#3771)
- fix arg names
- fix types based on default value
- mark positional-only args
2020-02-21 21:27:42 -08:00
Shantanu b1071639b9 sre_parse: various fixes (#3758)
* sre_parse: NIC is stub implementation detail

* sre_parse: add missing arg to Tokenizer.getuntil

* sre_parse: fix types for parse

* sre_parse: fix types for SubPattern.__init__

* sre_parse: fix arg name for fix_flags

* sre_parse: update whitelists

* sre_parse: fix some availability for py35
2020-02-21 21:23:34 -08:00
Shantanu ff7680cbfe inspect: various fixes (#3757)
* inspect: fix BlockFinder.tokeneater args

* inspect: fix formatargspec

* inspect: fix formatargvalues

* inspect: fix various arg names

* inspect: update whitelists
2020-02-21 21:23:21 -08:00
Shantanu 003fc6fa31 json: mark keyword-only args, remove deprecated arg (#3756)
* json: mark keyword-only args

Technically only true for Python 3.6+, but I didn't feel like copying
over the whole file just for Python 3.5. Let me know and I can.

* json: remove encoding from loads

This has been ignored and deprecated since 3.1 and will be removed in 3.9
It no longer even shows up in inspect.signature (in 3.8 it emits the
deprecation warning based on kwargs)

* json: update whitelists
2020-02-21 21:21:32 -08:00
Shantanu d104386b40 difflib: fix various types (#3755) 2020-02-21 21:20:15 -08:00
Shantanu d8d755d054 binascii: fix arg names, mark positional-only args (#3754) 2020-02-21 21:19:08 -08:00
Shantanu 5a2f4c8cde sys: various fixes (#3762)
* sys: simplify _getframe

* sys: mark positional-only args

* sys: fix platform availability

* sys: remove settscdump

This function is no longer documented in 3.6 and above (and doesn't
exist on master, was removed in 4fd64b9a6aba9e6e1a5d).
In 3.5 documentation it's mentioned that it's only available if Python
was compiled with a special flag:
https://docs.python.org/3.5/library/sys.html#sys.settscdump

* sys: update whitelists
2020-02-21 20:58:42 -08:00
Shantanu 33750df1d7 marshal: fix arg name, mark positional-only args (#3759) 2020-02-21 20:39:30 -08:00
Shantanu 82d7638018 gc: fix arg name, mark positional-only args (#3760) 2020-02-21 20:38:59 -08:00
Shantanu 158bfc02d2 token: add TYPE_IGNORE, COLONEQUAL for py38 (#3761) 2020-02-21 20:38:01 -08:00
Shantanu 406593f6cc tempfile: various fixes (#3763)
* tempfile: add errors parameter in py38

* tempfile: add property to SpooledTemporaryFile

* tempfile: fix arg name

* tempfile: better document some of what's going on

* tempfile: update whitelists
2020-02-21 20:35:37 -08:00
Shantanu 655bca8450 xml.sax: make_parser accepts iterables in py38 (#3766)
https://bugs.python.org/issue34789
2020-02-21 20:28:47 -08:00
Shantanu 1fb46cb4d1 ast: add visit_Constant to NodeVisitor (#3767) 2020-02-21 20:26:15 -08:00
Shantanu 67e2d94df6 py_compile: add quiet parameter in py38 (#3768) 2020-02-21 20:25:23 -08:00
Shantanu d89ab2a37d _imp: mark positional-only args (#3770) 2020-02-21 20:20:24 -08:00
Shantanu 374992bff7 resource: various fixes (#3747)
* resource: mark positional-only args
* resource: alias error to OSError
* resource: no longer seems incomplete

At least for Linux and Mac. Might be some things missing for FreeBSD

* resource: fix platform availability
* resource: update whitelist
2020-02-21 11:57:07 +01:00
Shantanu a19caac361 os.path: fix arg names (#3748) 2020-02-21 11:55:21 +01:00
Shantanu 87791e4e15 re: various fixes (#3746)
* re: mark positional-only args

* re: fix escape arg name

* re: update whitelist
2020-02-21 11:55:11 +01:00
Shantanu 5324bd02f2 typeshed: run stubtest in CI (#3727)
* README.md: refactor "Running the tests"

This organises the section a little better. Previously some tests were
unmentioned; it read as if mypy_test and pytype_test were the only
tests. The section is now organised by test, making it easy to keep
track of the requirements and details of each. This also makes it
easier to add documentation for stubtest.

Also mention turning on Travis CI on your fork, since that is very
useful.

* README.md: document stubtest_test.py

* stubtest_test: add it

* travis: add stubtest_test to CI

* stubtest_test: add whitelists
2020-02-20 22:16:52 -08:00
Shantanu 94ec308742 platform: update for py38 (#3717)
* platform: update py38 removals

Refer to bpo-28167

* platform: libc_ver takes a None executable in py38
2020-02-05 19:14:30 -08:00
Shantanu 7924d36656 os: fix various arg names (#3726) 2020-02-05 20:57:51 +01:00
Shantanu 10d33f5364 os: fix getenvb, scandir (#3723)
* os: fix getenvb
* os: scandir accepts None
2020-02-05 20:55:45 +01:00
Shantanu 35e45964fc io: mark positional-only args (#3721) 2020-02-05 16:23:31 +01:00
Shantanu a8b63357ff array: mark positional-only args (#3722) 2020-02-05 16:23:06 +01:00
Shantanu fb286e1eb2 os.register_at_fork: fix signature (#3720) 2020-02-05 16:22:24 +01:00
Shantanu 12cbdcf337 os: mark positional-only args (#3719)
Also remove unnecessary branch for os.urandom
2020-02-05 16:21:03 +01:00
Shantanu 8aa7f92008 signal: mark positional-only args (#3718) 2020-02-05 16:19:20 +01:00
Shantanu 01f67b1649 uu: fix keyword-only arg (#3716) 2020-02-05 13:06:31 +01:00
Shantanu 695644807e uuid: add is_safe, Safe UUID (#3715)
* uuid: add is_safe, SafeUUID
* uuid: add useless parameter
2020-02-05 13:04:49 +01:00
Shantanu 0db4897dab zipimport: various fixes (#3701)
- allow path of find_module to be None (the default value)
- add undocumented find_loader and get_resource_reader
- greater consistency for __init__ param names
2020-02-01 13:44:55 -08:00
Shantanu a8412b601c _heapq: add key for py2, mark positional-only args (#3696)
* _heapq: mark positional-only args

* _heapq: add key argument for py2
2020-02-01 09:28:54 -08:00
Shantanu a8f31b9c51 _random: mark positional-only args (#3697) 2020-02-01 09:28:15 -08:00
Shantanu f4787297e9 ast: update for py38 (#3698) 2020-02-01 09:25:56 -08:00
Shantanu 1ca071a732 collections.Counter: fix default values, allow passing None (#3699) 2020-02-01 09:25:03 -08:00
Shantanu f96fe6abc0 xml.etree.ElementTree: update for py38 (#3700) 2020-02-01 09:23:11 -08:00
Shantanu 4d698711ea various errors: fix base class (#3702) 2020-02-01 09:15:23 -08:00
Shantanu 123d2cb093 argparse: fix RawTextHelpFormatter base class (#3703) 2020-02-01 09:14:29 -08:00
Shantanu 70f0dc1491 builtins: fix bytearray.fromhex (#3691)
bytearray.fromhex is a classmethod, not a staticmethod
Mark positional-only args in the other fromhex's
2020-01-30 18:58:36 -08:00
Shantanu 9798c243c9 builtins: start can be passed by keyword to sum in 3.8 (#3692) 2020-01-30 18:56:50 -08:00
Shantanu 10145fcc3a webbrowser: fix platform availability, register (#3694)
* webbrowser: fix platform availability

* webbrowser: add default value to arg instance of register
2020-01-30 18:55:57 -08:00
Shantanu 8b5e7f3efd _curses: fix setupterm, mark positional-only args (#3690)
* _curses: mark positional-only args

* _curses: fix setupterm
2020-01-30 18:53:08 -08:00
Shantanu 46d9b38fa1 json: mark kwonly args, improve decode (#3679)
* json: mark args as kwonly for py36 on
* json: add undocumented arg to JSONDecoder.decode
2020-01-29 11:20:08 +01:00
Shantanu 26fd2b7968 sqlite3: alias OptimizedUnicode to str for py3 (#3678) 2020-01-29 11:18:19 +01:00
Shantanu ac234f2592 turtle: various improvements (#3677)
* turtle: add None and default value to overloads
* turtle: add default value to write_docstringdict
* turtle: fix _Screen.setup
2020-01-29 11:17:16 +01:00
Shantanu b3a9bfd5db pyexpat: improve ParserCreate, mark positional-only args (#3676) 2020-01-29 11:11:56 +01:00
Shantanu 119547b931 xml: fix default values, mark positional-only args (#3675)
Note xml.etree.ElementTree.TreeBuilder.start has a default value for
attrs in the C-accelerated module.
2020-01-29 11:09:53 +01:00
Shantanu 437b6947eb dbm: mark positional-only args (#3674) 2020-01-29 11:03:55 +01:00
Shantanu b972427ad4 configparser: fix various arguments (#3632)
* configparser: fix various arguments

* configparser.ConfigParser: inherit __init__
2020-01-26 13:51:04 +01:00
Shantanu ce42c16e03 cmath: fix log, mark positional-only args (#3659) 2020-01-25 22:18:23 -08:00
Shantanu 6a878bf715 audioop: mark positional-only args (#3658) 2020-01-25 20:06:53 -08:00
Shantanu fd7855185e _thread: fix type of TIMEOUT_MAX (#3657) 2020-01-25 20:00:55 -08:00