Commit Graph
100 Commits
Author SHA1 Message Date
Shantanuandhauntsaninja 9a5ba013a1 python3: remove _subprocess (#4022)
This doesn't seem to exist in Python 3.5, which is the earliest Python3
we support, and this folder is in stdlib/3

Co-authored-by: hauntsaninja <>
2020-05-18 14:07:08 -07:00
Shantanu 1f7023b957 subprocess: mark arg keyword-only, fix name, add property (#4024) 2020-05-18 18:59:34 +02:00
Shantanuandhauntsaninja a675778140 dis: various fixes to dis.dis (#4027)
Co-authored-by: hauntsaninja <>
2020-05-17 08:59:11 -07:00
Shantanuandhauntsaninja 26566af893 bisect: fix availability, consistency, reduce duplication (#4028)
Co-authored-by: hauntsaninja <>
2020-05-17 08:52:37 -07:00
Shantanuandhauntsaninja 462a3e9dcd asyncio: fix signature of set_write_buffer_limits (#4025)
Co-authored-by: hauntsaninja <>
2020-05-17 08:50:31 -07:00
Shantanuandhauntsaninja 4405250ed1 pyclbr: add parent argument for py37 on (#4029)
Co-authored-by: hauntsaninja <>
2020-05-17 08:25:18 -07:00
Shantanuandhauntsaninja 9c9eae8462 opcode: fix positional-only args (#4026)
Co-authored-by: hauntsaninja <>
2020-05-17 07:20:28 -07:00
Shantanuandhauntsaninja 5a3a47264f ast: add indent to dump in py39 (#4007)
Co-authored-by: hauntsaninja <>
2020-05-16 17:03:03 -07:00
Shantanu 061e58deb8 _ast: fix version availability for py39, fix up some visit_ methods (#4008) 2020-05-16 17:02:08 -07:00
Shantanuandhauntsaninja fe26ce99da venv: update for py39 (#4010)
Co-authored-by: hauntsaninja <>
2020-05-16 17:01:33 -07:00
Shantanuandhauntsaninja bedccc7497 fractions: remove gcd in py39 (#4012)
Co-authored-by: hauntsaninja <>
2020-05-16 16:57:19 -07:00
Shantanu a997d527fa sys: update for py39 (#4018) 2020-05-16 16:52:56 -07:00
Shantanuandhauntsaninja 4630f245cc bz2: update for py39 (#4015)
Co-authored-by: hauntsaninja <>
2020-05-16 16:52:42 -07:00
Shantanuandhauntsaninja 3b4b2bfad5 base64: update for py39 (#4016)
Co-authored-by: hauntsaninja <>
2020-05-16 16:51:53 -07:00
Shantanuandhauntsaninja 23d85bb45e nntplib: update for py39 (#4017)
Undocumented change, because these were never documented: https://bugs.python.org/issue39366

Co-authored-by: hauntsaninja <>
2020-05-16 16:51:13 -07:00
Shantanuandhauntsaninja 765cd11704 base64: arguments can be None (#4020)
Co-authored-by: hauntsaninja <>
2020-05-16 16:47:45 -07:00
Shantanuandhauntsaninja 58147cab20 aifc: fix mode default (#4019)
By default, if not specified, these functions use the mode from the file

Co-authored-by: hauntsaninja <>
2020-05-16 16:47:14 -07:00
Shantanu 0a69743bca hashlib: fix argument kinds, update for py39 (#4006)
* hashlib: add usedforsecurity in py39
* hashlib: fix positional-only args, arg names
* hashlib: fix positional and keyword only args for blake
* hashlib: add usedforsecurity to blake
2020-05-17 01:31:12 +02:00
Shantanuandhauntsaninja 0630c4b1fd unittest.mock: fix MRO of Mock (#3990)
* unittest.mock: fix MRO of Mock

* Make consistent

Co-authored-by: hauntsaninja <>
2020-05-14 08:57:50 +02:00
Shantanu baf107a158 check_consistent: print a copy-pasteable cp command (#3992) 2020-05-14 08:57:18 +02:00
Shantanuandhauntsaninja ad6cf3a314 email.errors: fix aliased class (#3988)
Co-authored-by: hauntsaninja <>
2020-05-13 19:47:53 -07:00
Shantanuandhauntsaninja cc0ffb1648 asyncio.protocols: BufferedProtocol inherits from BaseProtocol (#3989)
Co-authored-by: hauntsaninja <>
2020-05-13 19:08:47 -07:00
Shantanu 3662bf89d5 asyncio.locks: fix _ContextManagerMixin base class (#3979) 2020-05-13 17:57:02 -07:00
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