Commit Graph

4521 Commits

Author SHA1 Message Date
karl ding 43cf0ec870 ssl: Improve SSLContext.options stub (#4152)
In Python 3.6, the SSLContext.options flags were converted from int to
EnumFlag values.

In addition, add the missing OP_ENABLE_MIDDLEBOX_COMPAT constant
introduced in version 3.6.

In addition, add the missing OP_NO_RENEGOTIATION constant introduced in
version 3.7.
2020-06-02 09:19:18 +02:00
Kevin Wojniak 17aa20cd95 Add st_file_attributes to stat_result for Windows (#4156)
This member is documented at https://docs.python.org/3/library/os.html#os.stat_result.st_file_attributes and https://docs.python.org/3/whatsnew/3.5.html#os

Co-authored-by: hauntsaninja <>
2020-06-01 23:53:11 -07:00
Rune Tynan 342ce69f88 Add missing asyncio modules (#4149) 2020-06-01 02:05:16 +02:00
karl ding 2137026681 socket: Add missing CAN_BCM option flag constants (#4151)
The SocketCAN BCM option flag constants were added in version 3.9,
and only backported to version 3.8, despite the documentation's claims
of supporting all BCM-related constants starting from version 3.4.

Note: The CAN_FD_FRAME flag option was only introduced in the 4.8.x
kernel series, while the rest of the constants were available since the
Broadcast Manager was mainlined in the kernel as part of the SocketCAN
patches.
2020-06-01 01:21:54 +02:00
Jelle Zijlstra adeda24fce open: introduce concrete return types (#4146)
* make io classes inherit from typing IO classes

This makes these classes usable if type annotations are given as "IO"
or "TextIO". In the future, we'll then be able to move open() to
return a concrete class instead (#3951).

* open: introduce concrete return types

Fixes #3951.

We use the values of the "mode" and "buffering" arguments to figure out
the concrete type open() will return at runtime. (Compare the CPython
code in https://github.com/python/cpython/blob/master/Modules/_io/_iomodule.c#L231.)
2020-06-01 00:48:12 +02:00
Rune Tynan d863210335 Improve TypeVar stub (#4150) 2020-05-30 20:27:59 -07:00
Markus Pielmeier b7d9a4a584 Add support for __pow__ with pow() builtin (#4109) 2020-05-30 15:38:19 -07:00
Jelle Zijlstra 3058bec873 make io classes inherit from typing IO classes (#4145)
This makes these classes usable if type annotations are given as "IO"
or "TextIO". In the future, we'll then be able to move open() to
return a concrete class instead (#3951).
2020-05-30 06:50:49 -07:00
Shantanu de2c2947fe windows: fix splitunc param name (#4143)
Co-authored-by: hauntsaninja <>
2020-05-29 20:37:19 -04:00
Rune Tynan 4381eba6f4 Add _sitebuiltins stubs (#4139) 2020-05-29 22:33:06 +02:00
karl ding 09821cd9ca Add typing for CAN_J1939 sockets (#4141)
Add typing for CAN_J1939 sockets implementing support for the SAE J1939
protocol. This is available in Python 3.9+ on Linux 5.4+.
2020-05-29 12:33:47 +02:00
Rune Tynan d035ce57e3 Add platform checks for various sys values (#4137)
* Add platform checks for various sys values

* Add windows-only constants
2020-05-28 19:00:31 -07:00
Rune Tynan a1953431ff Move oem_(decode, encode) to be 3.6+ (#4140) 2020-05-28 18:57:32 -07:00
Tarcisio b58b8f3b43 Make BytesIO inherit from BufferedIOBase. (#4082)
Co-authored-by: Shantanu <hauntsaninja@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2020-05-28 17:07:00 -07:00
Rune Tynan a9e4ddaf29 Add _py_abc stubs (#4129) 2020-05-29 00:26:18 +02:00
Shantanu 62304eb02f asyncio: update cancels for py39 (#4135)
Co-authored-by: hauntsaninja <>
2020-05-28 13:42:31 -07:00
Shantanu da2aa297a2 pathlib: update for py39 (#4134)
Co-authored-by: hauntsaninja <>
2020-05-28 13:41:53 -07:00
Shantanu feb43f7237 asyncio: add asyncio.threads for py39 (#4136) 2020-05-28 13:37:46 -07:00
Brian Wellington 0bed1d3956 socket.create_connection source_address is optional. (#4133) 2020-05-28 19:56:11 +02:00
Jelle Zijlstra c80622fbb9 remove type ignores about python/mypy#5027 (#4119)
The mypy issue got fixed by the good people of mypy. I did have to add an
override for __enter__ similar to what we're doing in #4082.
2020-05-28 09:51:54 -07:00
Ilaï Deutel 846d922df2 More precise return types for open(), Path.open(), bz2.open(), etc. (#3371)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Sebastian Rittau <srittau@rittau.biz>
2020-05-28 09:20:23 -07:00
Teddy Sudol 313a835bea Add missing definitions for urllib/response.pyi (#4118)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2020-05-28 13:48:27 +02:00
Jelle Zijlstra 0cffa59e57 use a Protocol for str.format_map() (#4122)
Fixes #3824
2020-05-28 13:27:57 +02:00
Jelle Zijlstra ca553cd589 fix type for ipaddress._BaseNetwork.overlaps (#4124) 2020-05-28 13:22:50 +02:00
Gregory P. Smith a9d5a1ed99 hmac digestmod is no longer Optional as of 3.8. (#3367) 2020-05-28 09:24:32 +02:00
Shantanu 2f0e3dbed2 statistics: add zscore in py39 (#4130)
Co-authored-by: hauntsaninja <>
2020-05-27 22:09:46 -07:00
Shantanu 1c0403cf83 random: various fixes (#4128)
* random.sample: make counts keyword-only

* random: mark positional-only args

* random.triangular: fix type of mode

* random: add randbytes

Co-authored-by: hauntsaninja <>
2020-05-27 22:05:55 -07:00
Shantanu eca19f00fb bdb: various fixes (#4127) 2020-05-27 21:42:45 -07:00
Shantanu e8d0cadf7b aifc: update for py39 (#4126)
Co-authored-by: hauntsaninja <>
2020-05-27 21:42:32 -07:00
Shantanu c3c6abc153 gettext: various fixes (#4125) 2020-05-27 21:26:58 -07:00
Shantanu 22fd5e916a wsgiref: fix arg name, make close an instance variable (#4123)
Co-authored-by: hauntsaninja <>
2020-05-27 21:06:11 -07:00
Rune Tynan 0041206765 Fix _winapi version availability (#4120)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2020-05-27 20:47:15 -07:00
Shantanu e9531e0c18 _tracemalloc: precise types, deduplicate tracemalloc (#4083) 2020-05-27 20:36:21 -07:00
Rune Tynan 712f6d3709 Fix winreg pos-only args and parameter names (#4117)
* Fix winreg pos-only args and parameter names

* Fix consistency check
2020-05-27 20:22:32 -07:00
Shantanu 5cf2fb703a tempfile: fix TemporaryFile on Windows (#4112)
Co-authored-by: hauntsaninja <>
2020-05-27 20:22:01 -07:00
Shantanu c988348179 ctypes: fix arg name on windows (#4111)
Co-authored-by: hauntsaninja <>
2020-05-27 20:21:45 -07:00
Ilya Konstantinov 1dc585385a lru_cache-wrapped function args must be Hashable (#3944) 2020-05-27 20:20:56 -07:00
Shantanu 2a13ba9415 compileall: update for py39 (#3956)
* compileall: add stripdir, prependdir and limit_sl_dest

* compileall: compile_dir's default value is now None

* compileall: update for current py39 (as of beta1)

Co-authored-by: hauntsaninja <>
2020-05-27 20:18:19 -07:00
Rune Tynan 7ba59719b6 Fix asyncio IocpProactor version availability (#4121) 2020-05-27 20:14:00 -07:00
Brad Solomon ddb47deb27 Allow Union[unicode, str] rather than just str in several places (#3887)
* Allow unicode objects throughout urlparse.py

Functions such as `urlparse()`, if given a unicode object,
will happily return a ParseResult of unicode components.

Relatedly, functions like `unquote()` will accept any of
bytes/str/unicode and return an object of the same type
or a composite containing that type.

* Allow unicode in several places in Thread

`name` and `kwargs` to Thread.__init__ function perfectly
well with unicode, not just str.

Note: the .name attribute will always be str even
if the constructor is passed something else, since
__init__ calls:

    self.__name = str(name or _newname())

* Use typing.AnyStr properly

...rather than defining a new TypeVar unncessarily.

* Use typing.Text properly

Text is behaviorally equivalent to Union[str, unicode]
for Python 2 argument types.

* Remove outdated import & definition

* [check file consistent] copy changes to _dummy_threading.pyi
2020-05-27 19:52:14 -07:00
Michael H a1c6566abe [Add stub entry for logging._srcfile] (#3840)
- While this appears to be private, it's also documented as available
  to set here: https://docs.python.org/3/howto/logging.html#optimization
  - Did *not* update `logging.logThreads` et al to match the
  documentation as it may be more appropriate to update the
  documentation to set to `False` rather than to `0` based on how these
  are used

Type further narrowed based on known type of a parameter to
`os.normcase`
2020-05-27 19:42:33 -07:00
Shantanu fd203e663e py39: add PEP 616 methods (#4090) 2020-05-27 19:24:25 -07:00
Shantanu 02e1a68a56 argparse: add Action.format_usage (#4114)
Co-authored-by: hauntsaninja <>
2020-05-27 18:36:01 -07:00
Shantanu 54c99ff75f asyncio: add shutdown_default_executor (#4115)
There are a couple other py39 changes to be made in asyncio, but I'm
trying to avoid merge issues with whitelists / Windows for now.

Co-authored-by: hauntsaninja <>
2020-05-27 18:35:39 -07:00
Rune Tynan d51e13ad80 Add stubtest to Travis for windows (#4113) 2020-05-27 18:33:07 -07:00
Rune Tynan 0c1babd288 Make _codecs pass stubtest on windows (#4107) 2020-05-27 19:36:41 +02:00
Rune Tynan fcdfacf944 Fix stubtest failures for socketserver on windows (#4103) 2020-05-27 19:34:35 +02:00
Rune Tynan 713a2729b4 Fix stubtest failures for asyncio on windows (#4092) 2020-05-27 19:08:19 +02:00
Rune Tynan ed4993bd50 Fix stubtest failures for os.__init__ on windows (#4098) 2020-05-27 17:25:30 +02:00
Batuhan Taskaya 53ede5967b is_tarfile accepts pathlike (#3804) 2020-05-27 17:21:55 +02:00