Commit Graph

4212 Commits

Author SHA1 Message Date
Sorin Sbarnea 2d3bf41b18 Improve type for yaml composer (#5144) 2021-04-08 07:29:11 -07:00
Sebastian Rittau 2b9cd1e342 Suggest splitting Python 2 stubs (#5189)
Closes: #5049
2021-04-08 14:40:46 +02:00
Christopher Dignam f4625cb511 [requests] add argument names for api and session methods (#5149)
Most of these types are Any, but we should now have slightly better auto complete for the argument names

Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2021-04-08 12:24:54 +02:00
hatal175 fd2a176094 Allow per distribution mypy strictness options (#5169)
As requested by https://github.com/python/typeshed/issues/1526.

This addition takes mypy configuration from each distribution metadata file and constructs a single mypy.ini to run with. It assumes there is no mypy.ini but in case we ever need one, it would be simple to add these on top of an existing configuration file.
Might be relevant for #2852

As the issue did not really specify how the configuration would look, I added the following:
- You may add a mypy-tests section to the metadata file.
It looks like this:
[mypy-tests]
[mypy-tests.yaml]
module_name = "yaml"
[mypy-tests.yaml.values]
disallow_incomplete_defs = true
disallow_untyped_defs = true

- module_name can be of the form "a.*" like in mypy.ini.
- You can add several module sections for complex distributions with several modules.
- I added the '--warn-incomplete-stub' option since it is made specifically for typeshed runs. See docs.
2021-04-07 21:30:08 -07:00
Sebastian Rittau 9fbcc6cf95 Use protocols for gzip and _compression (#5170)
Closes: #5099
2021-04-07 20:06:19 -07:00
hatal175 6c01c6afdc Make ProxyType and CallableProxyType Generic (#5166) 2021-04-07 19:52:22 -07:00
Sam Bull 7d2427bc52 Fix pkg_resource functions (#5177) 2021-04-07 19:48:51 -07:00
Mathieu Parent cb03e90323 Allow List[str] for requests.Session.request(params=) (#5187) 2021-04-06 23:42:53 -07:00
rijenkii 3d64e950f3 [stdlib] Fix resource.struct_rusage (#5184) 2021-04-06 09:26:45 +02:00
Edgar Handal 4594164977 Improve PathLike handling for subprocess cmd/env (#5185) 2021-04-05 21:32:48 -07:00
Ryan McCampbell 701e741946 Rename _CursesWindow to window (#5180)
* Rename _CursesWindow to window in Python >= 3.8

The name _CursesWindow is not exposed at runtime which makes explicit type annotation difficult. It has to be wrapped in quotes, and this doesn't seem to work for all type checkers: PyLance's typechecker accepts it but Jedi's doesn't (tested in VS Code). This is especially annoying because with curses.wrapper(callback) there is no way to infer the type of the passed window except with an explicit annotation.
Experimentally, the type is exposed under the name "_curses.window" in Python 3.9 on both Ubuntu and Windows (via [windows-curses](https://pypi.org/project/windows-curses/)). While this is not explicitly documented as public, it is the name used for all the window method docs, and it is probably unlikely to change since some might interpret the lack of underscore as indicating it is public. Unfortunately it doesn't seem to be exposed as such in Python 2, but `¯\_(ツ)_/¯`. Using the runtime name should allow type checking to work with most typecheckers/platforms without quotes, and the old name can be kept as an alias for backwards compatibility.

I discovered the name _curses.window is only actually exported in Python >= 3.8 so I moved the name behind a version check, and reverted the original class name to _CursesWindow

Co-authored-by: Akuli <akuviljanen17@gmail.com>
2021-04-05 23:59:37 +03:00
hatal175 2e703c37e9 Fix importlib stubtest exceptions (#5148)
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2021-04-05 12:01:26 -07:00
hatal175 82130cca56 Fix distutils and difflib stubtest exceptions (#5182) 2021-04-05 12:00:32 -07:00
Christopher Sang 390d8f4911 Fix incorrect type hint for cachetools TTLCache.expire (#5186)
`TTLCache.expire` expects a time value, not a timer function
2021-04-05 21:09:08 +03:00
dearoneesama 5a3b6c72a7 Fix redis stub hset() to allow only providing mapping (#5168)
* Fix redis stub hset() to allow only providing mapping

* Fix redis stub hset() and hmset() mapping type
2021-04-04 11:40:29 +03:00
hatal175 ef9b37ecab codecs stubtest exceptions (#5179) 2021-04-03 22:44:16 -07:00
naglis 6a8b6cc674 Add stub for xml.etree.ElementTree.indent (#5178) 2021-04-03 20:46:13 +03:00
Christopher Dignam 87bcb37d3f [redis] add more exceptions (#5174)
* [redis] add more exceptions
2021-04-02 22:06:03 +03:00
Stanislav Levin acfaa70aa7 [stdlib] Add MININT and MAXINT for xmlrpc.client (#5173)
These constants are in this module since Python3.0

Signed-off-by: Stanislav Levin <slev@altlinux.org>
2021-04-02 14:20:36 +03:00
Akuli e98f398abc allow bytes in tkinter.PhotoImage (#5171) 2021-04-01 12:54:49 +02:00
Akuli dec1396d51 don't require isort[pyproject] (#5165) 2021-03-31 11:36:55 -07:00
dod-wdwilcox 059ab3868f add stubs for Manager, Logger.root, Logger.manager (#5160)
* add stubs for Manager, Logger.root, Logger.manager
2021-03-31 20:58:51 +03:00
Christopher Dignam 32f56444c0 [requests] add types for HTTPAdapter init (#5164)
* [requests] add types for HTTPAdapter init
2021-03-31 19:38:50 +03:00
Jake Bailey f626da6553 Bump pyright to 1.1.126, enable 3.10 testing (#5153) 2021-03-30 11:57:55 -07:00
Akuli 00da323113 sort contributor list by last name (#5158) 2021-03-30 20:27:09 +03:00
Akuli c9b1f988a5 CONTRIBUTING.md: core developer --> maintainer (#5157)
* CONTRIBUTING.md: core developer --> maintainer
2021-03-30 20:02:32 +03:00
Sebastian Rittau 1906b98a4f Add @Akuli as maintainer (#5156)
* Add @Akuli as maintainer

Co-authored-by: Akuli <akuviljanen17@gmail.com>
2021-03-30 19:36:21 +03:00
Shantanu 54392b1e12 allowlist new "not a function" errors (#5155)
stubtest now checks this for overloads as well (previously it didn't,
due to some combination of laziness, that this used to short circuit and
prevent signature checking, and the fact that these are all not super
helpful)

Co-authored-by: hauntsaninja <>
2021-03-29 22:44:18 -07:00
Tigran Kostandyan 1ed1e00046 fix name attribute for Toplevel class (#5146) 2021-03-29 18:40:16 +02:00
Jacob Hayes 272505cf2d Add pyfarmhash stubs (#5139)
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2021-03-27 17:35:22 -07:00
hatal175 577dbe965c colorama stubs (#5108) 2021-03-27 07:52:37 -07:00
hatal175 20a6de8fdd Stubtest exceptions for sys, symtable, sysconfig and tarfile (#5138) 2021-03-26 21:33:19 -07:00
Dominic Davis-Foster 839d711c6f Fix constructor annotation for configparser.DuplicateOptionError (#5142)
Fixes #5141
2021-03-26 18:36:19 +01:00
hatal175 5b730d4ded Fix Shlex stubtest errors (#5135) 2021-03-23 20:56:47 -07:00
hatal175 88a8d0ccbc Explaining/Fixing asyncio allowlist exceptions (#5132) 2021-03-23 17:14:30 -07:00
Vasily Zakharov 3774fa9e8e Stubs for PyAudio (#5081) 2021-03-23 17:08:22 -07:00
Eric Traut f8e70d66e8 Improved overloads for mkstemp and mktemp functions in tempfile.pyi (#5133) 2021-03-23 17:07:46 -07:00
hatal175 a9c517ad8e Pysftp Stubs (#5120) 2021-03-23 17:07:02 -07:00
Takumi Kato 75005741e6 Accept complex arguments to cmath functions (#5131) 2021-03-23 11:44:11 +01:00
Sebastian Rittau 5f52e38fdd Use SupportsWrite instead of IO (#5069) 2021-03-22 19:46:45 -07:00
Greg Ward e71c900906 Fix an incorrect type hint for werkzeug's BaseResponse class (#5102) 2021-03-22 19:37:05 -07:00
Sebastian Rittau 29061d36ae Fix dict type if constructing with kwargs (#4987)
Closes #4846
2021-03-22 19:30:01 -07:00
Sebastian Rittau 0cea325bc7 Modernize logging (#5068) 2021-03-22 19:26:43 -07:00
Gilad Reti 758224b231 fix ctypes _FuncPointer restype (#5079) 2021-03-22 19:25:10 -07:00
Igor Nehoroshev 022306f4d6 Fix type annotation in pkg_resources.parse_version (#5098)
Co-authored-by: Sebastian Rittau <srittau@rittau.biz>
2021-03-22 19:19:15 -07:00
Greg Ward 4aa8b4bd9d Format shell commands in README consistently (#5100)
Any command that includes the "(.venv3) $" prompt is hard to read when
it's set inline. So put them all into triple-backtick blocks.
2021-03-22 19:14:46 -07:00
Árni Már Jónsson 82cd7d22c6 add stubs for redis.lock (#5105) 2021-03-22 19:08:12 -07:00
Guilhem C 6170697b25 redis: add redis.client.Client method stubs (#5110)
* redis: add setnx function stubs (redis.client.Client.setnx)

* redis: add incr function stubs (redis.client.Client.incr)
2021-03-22 18:53:59 -07:00
Edgar Handal 45c916e8d2 Type fixes for tempfile.TemporaryDirectory (#5121)
If no arguments are passed to the TemporaryDirectory constructor, then
the class defaults to using str. Overload the __init__ function to
cover this case.
2021-03-22 18:30:22 -07:00
Eric Traut 0ec182227c Added a few missing type arguments for generic types used in stdlib stubs
I just found and fixed a bug in pyright's "missing type arguments" check. When type arguments were omitted for a generic type within a subscript expression, the error was being suppressed. With this bug fixed, I found several new cases where type arguments were missing in stdlib stubs. (#5130)

Co-authored-by: Eric Traut <erictr@microsoft.com>
2021-03-22 18:28:04 -07:00