Commit Graph

3600 Commits

Author SHA1 Message Date
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
Julin S
851efa550e add stubs for language models (#3848)
* add stubs for language models

* fix syntax error in __init__.pyi

* fix syntax error in universaldetector.pyi

* remove erroneous imports

* delete cli directory

* make tuple types variable length
2020-05-27 19:43:04 -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
Sebastian Rittau
694fa80596 Add dateparser module (#4106)
Based on PR 3704 by @xcthulhu (Matthew Doty)
2020-05-27 18:53:16 -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
Shantanu
6575bd06bb stubtest: run on py39 (#4110)
I've made mistakes in #4069 and #4010 that would have been caught by
this, so seems worth it to add now, and continue to remove from
whitelists.
Note that we run with --ignore-missing-stub in CI, so this whitelist
isn't all the changes we'd need to fully support Python 3.9

Co-authored-by: hauntsaninja <>
2020-05-27 12:31:16 -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
Rune Tynan
e49c156d92 Add winreg stubs (#3794) 2020-05-27 17:15:08 +02:00
Ivan Levkivskyi
e199c2e4bc Fix concurrent.futures import for re-export (#4105)
Also update stubtest whitelist as a workaround.
2020-05-27 13:51:01 +01:00
Shantanu
bdb149da78 stubtest: update version, whitelists (#4088)
This is for https://github.com/python/mypy/pull/8886
2020-05-27 10:11:52 +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
8c7bfab7bd Fix stubtest failures for selectors on windows (#4100) 2020-05-27 09:55:27 +02:00
Rune Tynan
a9375cf274 Fix stubtest failures for signal on windows (#4101) 2020-05-27 09:54:37 +02:00
Rune Tynan
d310a16e7c Fix stubtest failures for time on windows (#4104) 2020-05-27 09:51:37 +02:00
Rune Tynan
ab58c8148e Fix stubtest failures on _winapi (#4091) 2020-05-27 09:50:00 +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
3eb6fb8714 functools: add cache (#4089)
Co-authored-by: hauntsaninja <>
2020-05-26 17:36:01 -07:00
Alexandre Yang
a8834fcd46 Add pyVmomi stubs (#3921) 2020-05-26 12:04:56 +02:00
Shantanu
448c4e1fa7 asyncio.protocols: fix version availability (#4081)
Co-authored-by: hauntsaninja <>
2020-05-25 21:54:05 -07:00
Luciano Ramalho
2f82c44af0 Hashable bounded typevar for mode, multimode (#4084)
Fixes #4057
2020-05-25 21:48:25 -07:00
Rune Tynan
3b02ce2128 Add _osx_support module (#4002)
* Add _osx_support module

* fix type

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2020-05-25 16:11:02 -07:00
Shantanu
18121d71c8 concurrent.futures: fix top level available objects, add InvalidStateError (#4021)
* concurrent.futures: add InvalidStateError

* concurrent.futures: fix package imports

* asyncio.futures: fix import

* concurrent.futures: fix version availability for BrokenExecutor

* concurrent.futures: make consistent

* concurrent.futures: update whitelist

Co-authored-by: hauntsaninja <>
2020-05-25 15:38:09 -07:00
Markus Wamser
1996361adc cryptography: add signature of Prehashed (#4048)
* cryptography: add signature of Prehashed

* cryptography: modify signature of Prehashed

mark internal attributes as undocumented
add public attribute digest_size

* cryptography: modify signature of Prehashed

drop Optional from argument of __init__
2020-05-25 15:36:54 -07:00
Shantanu
4daf0df929 tracemalloc: a number of fixes (#4078)
* tracemalloc.Frame: add __init__

* tracemalloc.Snapshot: add __init__

* tracemalloc.Snapshot: fix a staticmethod

* tracemalloc.Statistic: add __init__

* tracemalloc.StatisticDiff: add __init__

* tracemalloc.Trace: add __init__

* tracemalloc.Traceback: add __init__

* tracemalloc: fix version availability, Trace __init__

* tracemalloc.Traceback: add total_nframe property

* tracemalloc.Trace: add properties

* tracemalloc.Traceback.format: add parameter

* tracemalloc.start: make positional-only

* tracemalloc.Filter: fix version availability

* update whitelists

Co-authored-by: hauntsaninja <>
2020-05-25 15:36:35 -07:00
Shantanu
4b007a50b4 signal: improve version availability (#4079)
Co-authored-by: hauntsaninja <>
2020-05-25 15:29:52 -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
9b89423f02 chardet: add default value (#4074)
Co-authored-by: hauntsaninja <>
2020-05-24 18:48:24 -07:00
Shantanu
997c73ae79 travis: start testing 3.9 somewhat (#4071)
* travis: run stubtest on py39, allowing failures

* travis: run mypy with python version 3.9

* boto.compat, base64: fix version handling of (en|de)codebytes

* venv: fix #4010

Co-authored-by: hauntsaninja <>
2020-05-24 18:45:16 -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
Jakub Stasiak
8827f84763 Clarify that cryptography's Fernet accepts text keys (#4061)
* Clarify that cryptography's Fernet accepts text keys

* simplify code

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2020-05-24 18:44:36 -07:00
Shantanu
8f6fd0e05a functools: add TopologicalSorter for py39 (#4068)
* functools: add TopologicalSorter for py39

* fix flake8 error

Co-authored-by: hauntsaninja <>
2020-05-24 18:44:28 -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
9c53756f9c random: update for py39 (#4069)
Co-authored-by: hauntsaninja <>
2020-05-24 17:51:53 -07:00