Commit Graph

3641 Commits

Author SHA1 Message Date
dosisod
2ead8123a6 Add Waitress stubs (#3889) 2020-05-13 16:22:13 +02:00
Rune Tynan
b8045a3fb2 Add xmlrpc package (#3834)
* Add xmlrpc client module

* Add xmlrpc server module, update client

* Fix mypy errors with protocol and Dict fix

* Add Type[] around requestHandler

* Fix docroutine incompatible override

* Whoops, ignored is also missing

* Remove unnecessary str/repr overrides

* Remove unnecessary __eq__ and quotes around Unmarshall. DateTime __eq__ left for now

* Fix problems from review

* Fix various version-specific differences, make request_type conservative (only bytes, guaranteed to have same len as number of bytes)

* Silly misspelling

* Change from IO to ad-hoc minimal protocols
2020-05-13 07:17:17 -07:00
Kazushi Kitaya
d39e58c3bc asyncio.subprocess: returncode is Optional (#3981) 2020-05-13 16:14:42 +02:00
Joost Cassee
09093435c3 Make HTTPPasswordMgrWithDefaultRealm realm optional (#3976)
* Make HTTPPasswordMgrWithDefaultRealm realm optional
* Optional realm in HPMWDefaultRealm.find_password
2020-05-13 15:11:22 +02:00
Jelle Zijlstra
d55df54ae2 upgrade flake8 (#3980) 2020-05-13 08:52:40 +02:00
Shantanu
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
Shantanu
111f3f02ef socket: fix default mode for makefile (#3978)
Fixes #3977

Co-authored-by: hauntsaninja <>
2020-05-12 18:22:25 -07:00
Gal Ben David
1d2ec3cd3b Update orjson.pyi to support two new flags (#3975)
Updated orjson.pyi to support two new added flags `OPT_INDENT_2` and `OPT_NON_STR_KEYS`.
Renamed `__obj` to `obj` to allow using named parameter `obj` instead of positional, without getting errors.
2020-05-12 18:06:06 -07:00
Shantanu
637dba1beb concurrent.futures: fix BrokenProcessPool base (#3972)
Co-authored-by: hauntsaninja <>
2020-05-11 21:52:55 -07:00
Graham Bleaney
66cd36268a Refine types on tornado.web.RequestHandler (#3970)
This diff refines the types on `RequestHandler` by porting types directly from the `tornado` repo.
2020-05-08 20:52:14 +02:00
Bruce Merry
c81b3cfe59 Fix some incorrect redis Text annotations (#3969)
I've changed some instances of `Text` to `_Key` so that bytes will be
accepted as well. I'm not sure if they should be `_Str` instead. The
existing annotations seem to use a mix of the two. _Str is a better
reflection of what redis-py will accept (any arguments that it passes
through to the redis server can be _Str and it'll convert to bytes); but
passing an int or float where a key is expected may be a code smell.
2020-05-07 19:32:56 -07:00
Ivan Levkivskyi
5342d66dcc Fix assert_has_calls() signature (#3967)
See the docs https://docs.python.org/3/library/unittest.mock.html#unittest.mock.Mock.assert_has_calls
2020-05-05 19:20:56 +01:00
Ivan Levkivskyi
8c7f489d1b Organize special forms in typing (#3966)
This is an accompanying PR for https://github.com/python/mypy/pull/8779, see https://github.com/python/mypy/pull/8779#issuecomment-624001349

I also noticed that Python 2 and Python 3 versions are a bit out of sync, so I also put them back in sync.
2020-05-05 13:55:31 +01:00
Rahix
d818821121 atomicwrites: Allow any PathLike for paths (#3965)
As of version 1.4.0, from PR untitaker/python-atomicwrites#48,
atomicwrites allows any PathLike object for its path args.
2020-05-05 14:01:24 +02: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
Paul Ganssle
3dfc606670 Correct return type of time.dst (#3964)
`time.dst` either returns None or the result of tzinfo.dst(None), which
returns datetime.timedelta
2020-05-03 23:13:22 +02:00
Sam Bull
545be37c40 Allow Path in gettext. (#3958) 2020-05-01 10:43:19 -07:00
Luciano Ramalho
38330702fd Sortable protocol for statistics.median_high/median_low; fix #3894 (#3961) 2020-04-30 22:08:09 -07: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
Anis
630b50e458 feat(3rd_party): adding stub for tzlocal (#3948)
- tzlocal uses pytz types
2020-04-29 22:28:01 -07:00
David T.H. Kao
7766b2d92b Use IO[bytes] instead of BytesIO for wave input signatures as it is t… (#3952)
* Use IO[bytes] instead of BytesIO for wave input signatures as it is the (slightly) more general type.

* add missing import

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2020-04-29 21:54:34 -07:00
Shantanu
88440b768c http: add py39 status codes (#3955)
Co-authored-by: hauntsaninja <>
2020-04-29 20:47:28 -07:00
Anthony Sottile
bc90043e54 update Subscript.slice type for python3.9 (#3950) 2020-04-28 17:32:08 -07:00
Javier Honduvilla Coto
f7d240f06e ctypes.CDLL name can be None (#3945) 2020-04-26 15:51:38 +02:00
Kjell Braden
aa06f3bc7b use socket.sendto argument spec for DatagramTransport (#3943) 2020-04-25 13:23:29 +02:00
Jia Chen
db2ee3cf3c Replace value assignments with import statements in requests.__init__ (#3941) 2020-04-25 13:18:03 +02:00
Lars
9dab57b0e8 Fix attr-defined check for werkzeug.wrappers.BaseRequest (fixes #3913) (#3925)
The PR #2740 added __setattr__ and __getattr__ to the
werkzeug.wrappers.BaseRequest definition to silence mypy when
monkeypatching this class.

The change disabled the errors for monkeypatching, but disabled disabled the
important check attr-defined.
2020-04-25 13:14:31 +02: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
Rune Tynan
19eade5e44 Add msilib and _msi (#3651) 2020-04-22 20:02:19 +02: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
Brian Turek
990e648928 Change run_in_executor to return a Future rather than be a coroutine (#3935) 2020-04-22 19:00:13 +02:00
Alex McGrath Kraak
51e5b98076 Fix ftplib .size return type to be an int (#3937)
Close #3927
2020-04-22 10:06:58 +02:00
Brian Turek
6e9e059f0c Add return type for pathlib.Path.replace on Python >= 3.8 (#3936) 2020-04-22 01:52:33 +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
Anthony Sottile
8e46eb7b85 create_subprocess_shell takes a single positional argument (#3929) 2020-04-19 13:46:37 +02:00
Philipp Hahn
84147ec9cb sockeserver: Add undocumented internals (#3924)
the `rfile` and `wfile` members are already implemented by
StreamRequestHandler. In addition to them several (undocumented)
class and instance variables exist according to
<https://github.com/python/cpython/blob/master/Lib/socketserver.py#L742>:
- `rbufsize`
- `wbufsize`
- `timeout`
- `disable_nagle_algorithm`
- `packet` and `socket` for datagrams

The already exist with Python 2.7
<https://github.com/python/cpython/blob/2.7/Lib/SocketServer.py#L677>

```mermaid
classDiagram
BaseRequestHandler <|-- DatagramRequestHandler
BaseRequestHandler <|-- StreamRequestHandler
StreamRequestHandler <|-- BaseHTTPRequestHandler
```
2020-04-14 13:22:40 -07:00
Denis Laxalde
b3c86bd7ff Fix type of of optparse.Option's _{check,set}_opt_strings() methods (#3895) 2020-04-10 00:17:34 +02:00
Florian Ludwig
00f5240b88 add more constants to tarfile (#3917) 2020-04-09 14:42:11 +02:00
Peter Pentchev
0503fb0f50 Fix some pkg_resources variable types. (#3919)
Allow passing proper metadata to Distribution.from_location() and
Distribution.from_filename().

Correct the order of arguments for the importer functions.

Note that some functions accept any iterables, not just sized ones.

Correct the type of the VersionConflict classes' context.
2020-04-09 12:22:14 +02:00
Peter Pentchev
0d7665d7b8 SyntaxError's filename and lineno may be undefined. (#3918)
The Python source (Objects/exceptions.c) explicitly checks for null
pointers before using the filename and lineno members. Some libraries,
e.g. pkg_resources, set filename and lineno to undefined values if
indeed none are appropriate.
2020-04-08 20:50:49 +02:00
Benjamin Poirier
ea919fdce9 email: Fix BytesFeedParser method arg (#3916) 2020-04-08 09:28:02 +02:00
Jocelyn Boullier
60cdee5b2d ftplib: fix all_errors type to tuple of type of exception (#3910) 2020-04-05 09:02:34 -07:00
Debjyoti Biswas
af3596f950 Add array.array type to zlib.crc32 (#3904) 2020-04-05 09:02:02 -07:00
Jelle Zijlstra
23e380ac83 add overload to difflib.get_close_matches (#3908)
Fixes #3906. Fixes #2067.
2020-04-05 14:12:29 +02:00
Vishal Kuo
12b53fa46d [redis] add some missing stubs to redis (#3907) 2020-04-04 21:51:06 -07:00