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
Markus Pielmeier
b7d9a4a584
Add support for __pow__ with pow() builtin ( #4109 )
2020-05-30 15:38:19 -07:00
Shantanu
de2c2947fe
windows: fix splitunc param name ( #4143 )
...
Co-authored-by: hauntsaninja <>
2020-05-29 20:37:19 -04: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
a1953431ff
Move oem_(decode, encode) to be 3.6+ ( #4140 )
2020-05-28 18:57:32 -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
Jelle Zijlstra
0cffa59e57
use a Protocol for str.format_map() ( #4122 )
...
Fixes #3824
2020-05-28 13:27:57 +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
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
22fd5e916a
wsgiref: fix arg name, make close an instance variable ( #4123 )
...
Co-authored-by: hauntsaninja <>
2020-05-27 21:06:11 -07:00
Shantanu
c988348179
ctypes: fix arg name on windows ( #4111 )
...
Co-authored-by: hauntsaninja <>
2020-05-27 20:21:45 -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
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
Batuhan Taskaya
53ede5967b
is_tarfile accepts pathlike ( #3804 )
2020-05-27 17:21:55 +02:00
Rune Tynan
7ac284f641
Add _pydecimal and _decimal stubs ( #4003 )
2020-05-27 10:10:51 +02:00
Rune Tynan
f1d96d97fe
Fix stubtest failures for msvcrt on windows ( #4095 )
2020-05-27 10:05:33 +02:00
Zhiming Wang
edb7dc1171
xml.etree.ElementTree: add support for os.PathLike for py36+ ( #4097 )
...
xml.etree.ElementTree uses open on filenames (e.g. [1]), so os.PathLike has
been supported as filenames since Python 3.6.
[1] 285ff63351/Lib/xml/etree/ElementTree.py (L584)
2020-05-27 10:04:12 +02:00
Rune Tynan
9b4eb8c90b
Fix stubtest failures for select on windows ( #4099 )
2020-05-27 09:57:06 +02:00
Rune Tynan
d310a16e7c
Fix stubtest failures for time on windows ( #4104 )
2020-05-27 09:51:37 +02:00
Rune Tynan
19a797c0ca
Fix stubtest failures for asyncore on windows, remove unnecessary imports ( #4093 )
2020-05-27 09:42:05 +02:00
Rune Tynan
bd6eed8700
Fix stubtest failures for mmap on windows ( #4094 )
2020-05-27 09:40:06 +02:00
Rune Tynan
5e80ca9e44
Fix stubtest failures for path files on windows ( #4096 )
2020-05-27 09:39:26 +02:00
Rune Tynan
f83e4aef7c
Fix stubtest failures for socket on windows ( #4102 )
2020-05-27 09:38:45 +02:00
Shantanu
a94d6511fd
xml.etree.ElementInclude: update include for py39 ( #4086 )
...
Co-authored-by: hauntsaninja <>
2020-05-26 17:39:36 -07:00
Shantanu
d313e170b7
threading: update for py39 ( #4087 )
2020-05-26 17:37:07 -07:00
Shantanu
6aee098401
fractions: use __new__ instead of __init__ ( #4077 )
...
Tested against some example code.
2020-05-25 15:29:28 -07:00
Shantanu
6028226750
plistlib: update for py39 ( #4073 )
2020-05-24 20:38:18 -07:00
Shantanu
00a27634b1
threading: fix inheritance ( #4072 )
2020-05-24 18:51:30 -07:00
Shantanu
8cf04f3a74
boto.compat, base64: fix version handling of (en|de)codebytes ( #4070 )
...
Co-authored-by: hauntsaninja <>
2020-05-24 18:44:43 -07:00
Shantanu
e560ce0f57
bisect: hi is Optional ( #4063 )
...
Shows up in 3.9 because of https://github.com/python/cpython/pull/20163
Co-authored-by: hauntsaninja <>
2020-05-24 17:53:03 -07:00
Shantanu
8e03f33d84
difflib: update for py39 ( #4067 )
...
Adds default values, the hi params can now be None
Co-authored-by: hauntsaninja <>
2020-05-24 17:41:45 -07:00
Shantanu
2b3a4e8fbe
wave: openfp is removed in py39 ( #4064 )
...
Co-authored-by: hauntsaninja <>
2020-05-24 17:40:20 -07:00
Shantanu
3910eb1735
argparse: update for py39 ( #4065 )
...
Co-authored-by: hauntsaninja <>
2020-05-24 17:40:06 -07:00
Shantanu
b367799634
sunau: openfp is removed in py39 ( #4066 )
...
Co-authored-by: hauntsaninja <>
2020-05-24 17:34:48 -07:00
karl ding
db14610298
Improve undocumented TarFile method type hints ( #4056 )
...
Add type hints for undocumented tarfile.TarFile file methods called via
_extract_member() when extract() is called.
2020-05-23 13:41:07 -07:00
Rebecca Chen
5fe6a5ba8b
parser: STType.compile() can be called with no arguments. ( #4034 )
...
The filename parameter is optional:
https://docs.python.org/3/library/parser.html#parser.ST.compile .
2020-05-18 08:30:52 -07:00
Rebecca Chen
53f4f68d71
saxutils.XMLGenerator should accept unicode encodings in Python 2. ( #4031 )
2020-05-17 18:05:21 -07:00
Shantanu
a675778140
dis: various fixes to dis.dis ( #4027 )
...
Co-authored-by: hauntsaninja <>
2020-05-17 08:59:11 -07:00
Shantanu
26566af893
bisect: fix availability, consistency, reduce duplication ( #4028 )
...
Co-authored-by: hauntsaninja <>
2020-05-17 08:52:37 -07:00
Shantanu
4405250ed1
pyclbr: add parent argument for py37 on ( #4029 )
...
Co-authored-by: hauntsaninja <>
2020-05-17 08:25:18 -07:00
Shantanu
9c9eae8462
opcode: fix positional-only args ( #4026 )
...
Co-authored-by: hauntsaninja <>
2020-05-17 07:20:28 -07:00
Jelle Zijlstra
4a9fdcc7fc
uuid: update for py39 ( #4023 )
...
Closing the long loop started in #3715
Co-authored-by: Shantanu <hauntsaninja@users.noreply.github.com >
2020-05-16 21:30:45 -07:00
Shantanu
bedccc7497
fractions: remove gcd in py39 ( #4012 )
...
Co-authored-by: hauntsaninja <>
2020-05-16 16:57:19 -07:00