Commit Graph

4553 Commits

Author SHA1 Message Date
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
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
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
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
Tigran Kostandyan 1ed1e00046 fix name attribute for Toplevel class (#5146) 2021-03-29 18:40:16 +02: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
Eric Traut f8e70d66e8 Improved overloads for mkstemp and mktemp functions in tempfile.pyi (#5133) 2021-03-23 17:07:46 -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
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
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
krouziciorel a68fb50788 turtle.pyi: Add functions copied from _Screen (#5104)
The turtle module re-exports methods of its classes as top-level functions.
Typeshed includes most of these, but `exitonclick` and others from the
`_Screen` class were missing.
Add them.

Co-authored-by: Petr Viktorin <encukou@gmail.com>
2021-03-19 11:10:28 +01:00
Edgar Handal 5bc6726e3f Set xml.etree iterfind return types to Generator (#5126) 2021-03-18 09:31:00 +01:00
John T. Wodder II fc2933ca64 Make "addresses" argument to email.headerregistry.Group an Iterable (#5124)
Fixes #5123
2021-03-16 19:07:58 +01:00
hatal175 3de5d893de Add Curses ACS Codes (#5116)
Closes: #5115
2021-03-15 15:24:32 +01:00
Eric Traut 29c3d67626 Improved definition of divmod function in builtins (#5114)
Co-authored-by: Eric Traut <erictr@microsoft.com>
2021-03-15 11:10:09 +01:00
Jelle Zijlstra 30fc2b8cd0 fix positional-only arguments to str and bytes (#5112) 2021-03-12 15:33:25 -08:00
Andrew Crabtree a3cfb4e507 Add missing msg type to ImportError (#5111)
Fixes #5107
2021-03-12 11:20:46 -08:00
Eric Traut faa5c70f25 Added missing type information for encodings module (#5106)
Co-authored-by: Eric Traut <erictr@microsoft.com>
2021-03-10 17:18:32 -08:00
Dominic Davis-Foster 8115299ee2 Add "policy" attribute to email.message.Message (#5096)
Fixes #5094
2021-03-08 15:03:10 +01:00
Mark Vismonte 861f0a9844 Use collections.abc.Set in assertSetEqual (#5090) 2021-03-06 21:04:14 +01:00
Eric Traut c92e3cb228 Update pyright CI test to use the latest version of pyright (1.1.118). (#5092)
Update pyright CI test to use the latest version of pyright (1.1.118). Enable all but one of pyright's strictest checks. Add a "# type: ignore" to `__new__` method in `weakref.KeyRef` because it uses a non-standard name for the `cls` parameter, which is flagged as an error by pyright.

Co-authored-by: Eric Traut <erictr@microsoft.com>
2021-03-05 12:12:18 -08:00
Mark Vismonte ea7f1f9c2d Use Mapping in assertDictEqual (#5088) 2021-03-04 15:52:21 -08:00
Sebastian Rittau 2b19c761ec Fix build (#5086)
Run the mypy test suite using Ubuntu 18.04. Ubuntu 20.04 doesn't have a package for virtualenv on Python 2.

Also, curses.color_pair() now has a named argument.
2021-03-04 17:11:37 +01:00
Jürgen Gmach 771e872cf6 fix type for xmlrpc.client.Fault.faultCode (#5083)
The type of `faultCode` was declared as `str`, but it has to be an `int`.

See e.g. http://xmlrpc.com/spec.md. See also https://bugs.python.org/issue43354.
2021-03-02 13:57:26 +01:00
Jon Dufresne b03cd49a87 Type optparse.Option.default attribute (#5080)
https://github.com/python/cpython/blob/1e3c68246ee738b5ec5450b1eb39af2fca300cb9/Lib/optparse.py#L458
2021-02-28 09:15:38 -08:00
Eric Traut e2967a8bee Eliminated the use of "bare" TypeVars in stdlib stubs (#5041)
Eliminated the use of "bare" TypeVars (i.e. a TypeVar that appears only once) within generic methods. While not considered an error in PEP 484, these are a common source of bugs in code, and some type checkers (including pytype and pyright) flag them as errors.

Co-authored-by: Eric Traut <erictr@microsoft.com>
2021-02-27 19:43:45 -08:00
Vyom Pathak 3c0f2acdf0 Changed: Name argument type to support None value (#5075)
Closes: #5027
2021-02-27 11:32:31 +01:00
Eric Traut 82cb8c27df Fix conditional imports within collections (#5040)
Co-authored-by: Eric Traut <erictr@microsoft.com>
2021-02-26 20:33:33 -08:00
Eric Traut 4b4ced5fa0 Added missing type annotations and type arguments (#5070)
Co-authored-by: Eric Traut <erictr@microsoft.com>
Co-authored-by: Shantanu <hauntsaninja@users.noreply.github.com>
2021-02-25 15:09:58 -08:00
Sebastian Rittau 08b26b9e8e Split and restore correct Python 2 version of cgi.pyi (#5064)
* Split cgi.pyi into Py2 and 3 versions

* Restore correct Python 2 version of cgi.pyi

* Remove unnecessary version checks in cgi.pyi

* Use collections.abc

* Use List in Python 2 stub
2021-02-24 14:46:03 -08:00
Sebastian Rittau c152e050f5 Fix stubtest errors (#5063)
A security fix added a "separator" argument to several URL parsing
functions and method in point releases:

* 3.6.13
* 3.7.10
* 3.8.8
* 3.9.2

Until all these versions are available on the GitHub Actions runners,
we need to whitelist the functions in the stubtests.
2021-02-24 14:37:38 +01:00
Sebastian Rittau c21329b68a Recommend using PEP 585 (#5055)
* Remove conventions enforced by black

Remove old note about optional default arguments (now part of
PEP 484 and enforced by CI)

* Recommend to use PEP 585

Cf. #4820

* Try out using collections.abc

* Reference mypy bug
2021-02-23 16:41:31 -08:00
Eric Traut a1f16da64e Added some missing parameter annotations and type arguments detected by pyright. (#5061)
Co-authored-by: Eric Traut <erictr@microsoft.com>
2021-02-23 19:46:53 +01:00
Eric Traut c7c025ae08 Removed a bunch of unused import symbols detected by pyright. (#5060)
Co-authored-by: Eric Traut <erictr@microsoft.com>
2021-02-23 19:46:46 +01:00
Akuli 507ca60ff8 relax call argument type (#5056) 2021-02-23 11:26:27 +01:00
Sebastian Rittau c8df617726 Use built-in generic (#5050) 2021-02-23 10:04:51 +01:00
Eric Traut ffcd592aef Added support for | operator for combining two TypedDict instances (#5054)
Co-authored-by: Eric Traut <erictr@microsoft.com>
2021-02-23 10:04:31 +01:00
JonathanMeans f4c35f1059 assert_has_awaits takes Iterable[_Call] instead of _CallList (#5052) 2021-02-22 22:55:51 +01:00
Utsav 4029e8d6eb Updated: return type for getweakrefs (#5046)
Fixes #4999
2021-02-21 07:09:10 -08:00