Commit Graph

266 Commits

Author SHA1 Message Date
Shantanu
baf107a158 check_consistent: print a copy-pasteable cp command (#3992) 2020-05-14 08:57:18 +02:00
Shantanu
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
Max R
31705fca7a Add misc types for mock and unittest.mock (#3923) 2020-04-24 08:51:34 +02:00
Sebastian Rittau
92f52a2615 flake8 updates and cleanups (#3940)
* flake8 updates and cleanups

* Update to flake8 3.7.9.
* Update to flake8-bugbear 20.1.4.
* Only ignore errors in stub files.
* Remove obsolete error counts.
* Sort error codes alphabetically.
* Don't ignore the following errors (unneeded):
    * E704 Multiple statements on one line (def)
    * W504 Line break occurred after a binary operator
    * B303 __metaclass__ used

* Remove obsolete comment

* Ignore F822 undefined name in __all__
2020-04-23 19:38:47 -07:00
Shantanu
aa84ff750e asyncio: remove private methods that don't exist (#3938)
Co-authored-by: hauntsaninja <>
2020-04-23 19:20:57 -07:00
Sebastian Rittau
733c558d60 Add msilib and _msi to stubtest whitelist (#3939)
* Add msilib and _msi to stubtest whitelist

* Group Windows-only modules

* Move win modules to bottom

Make win modules optional
2020-04-23 19:09:52 -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
Shantanu
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
Debjyoti Biswas
132aebd2d8 Add stub for PathFinder and remove whitelist (#3885) 2020-03-28 13:29:49 -07:00
Shantanu
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
Shantanu
1422fce882 pstats: fix stream type, add class var (#3862)
Co-authored-by: hauntsaninja <>
2020-03-18 17:49:54 -07:00
Shantanu
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
Shantanu
c50fce6ef3 travis: update stubtest version (#3835)
* stubtest whitelists: add json.loads
2020-03-15 12:52:12 +01:00
Rune Tynan
2b8b116a19 Make PathMatcher correctly exclude paths on windows / any OS without / seperators (#3837) 2020-03-09 15:33:19 -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
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
Ran Benita
92d53086be stdlib/3/ast: add visit_* methods to NodeVisitor (#3796)
NodeVisitor recurses over an AST tree. When encountering a node, it
checks if a method called `visit_{node.__class__.__name__}` exists, and
calls it if so, otherwise calls the generic visitor.

Add the possible methods to NodeVisitor. This is not exactly correct,
since the methods don't *actually* exist on NodeVisitor, e.g.
`NodeVisitor().visit_Module(...)` doesn't work. But it's nice for
subclasses to know which methods they can override and which type they
should have.
2020-03-06 13:15:04 +01:00
Shantanu
89afe1e014 statistics: fix median_grouped, NormalDist.samples (#3818) 2020-03-06 11:34:04 +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
Rune Tynan
3926e88d13 Add macurl2path stub (#3785)
* Add macurl2path stub, types based on urllib

* Fix types, remove undocumented

The whole module is undocumented, no reason to just mention it on one call

* Module was removed in 3.7, stubtest shouldn't care about it

* Module was removed in 3.7, stubtest shouldn't care about it
2020-02-29 22:03:50 -08: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
Alex Willmer
84c6e679f5 stdlib: Remove duplicated Pickler.reducer_override() (#3772) 2020-02-22 18:22:54 +01:00
Sebastian Rittau
c710696aed Remove obsolete stubtest whitelist entries (#3773) 2020-02-22 18:05:12 +01: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