Commit Graph

2134 Commits

Author SHA1 Message Date
Jelle Zijlstra
bdb1de57f5 narrow signature of __contains__ for str-like classes (#2967)
Fixes #2937
2019-05-07 10:24:28 -04:00
Mark Vismonte
e4a81132c4 Fix Future.__init__'s loop variable annotation (#2961) 2019-05-06 22:02:56 -04:00
Mark Vismonte
fe06e8e3c5 Add annotation to Future._loop (#2959) 2019-05-06 22:00:40 -04:00
berdario
e45f443d85 Define functools.partial as overloaded function instead of its own class (#2878) 2019-05-06 12:05:02 -04:00
The Fox in the Shell
e7d7a44411 Make the signature of ConfigParser.get() polymorphic (#2406)
The documentation [explicitly specifies](https://docs.python.org/3/library/configparser.html#configparser.ConfigParser.get) that `None` is a legitimate `fallback` value.

Thanks to @wiml for suggesting this approach.
2019-05-06 12:00:52 -04:00
Jan Szopinski
bf2d51742b unittest: Add overloads to assert(Not)AlmostEqual(s) (#2901) 2019-05-05 15:15:17 -04:00
Ethan Madden
12fa5c4fdb Added defs for undocumented attrs on enums (#2941)
This should resolve #2934
2019-05-05 15:07:22 -04:00
Michael A. Smith
54069f4341 Annotate copy for MappingProxyType (#2955) 2019-05-05 14:10:59 -04:00
Jia Chen
c4b249c9a8 Use dunder parameter name in _Writer.write (#2954) 2019-05-04 22:51:39 -04:00
Jia Chen
ec16e435eb Use dunder parameter name in Container.__contains__ (#2953)
According to Ivan, PEP 544 intentionally did not specify whether method conformance check in protocol inference should look at parameter names. For example, it's up to the type checker to decide whether a class with method defined as `def foo(self, x: int)` would implement a protocol with method `def foo(self, y: int)`.
Mypy decided to ignore parameter names altogether, but we Pyre team decided to be more strict and refuse to match different parameter names (as it is unsound to do so when those methods are invoked with named parameters). Since we rely on the typeshed stubs, we want to make sure at least the important stubs on typeshed conform to our standard. 
This PR changes `Container.__contains__` to use dunder (i.e. positional-only) parameter name specified in PEP484. This change should not affect mypy since it ignores parameter names, but will make Pyre happy as it eliminate the naming requirement for all classes that want to conform to the `Container` protocol.
2019-05-04 22:00:47 -04:00
Jonathan Slenders
337c382196 Added termios.error (#2951) 2019-05-04 16:13:53 -04:00
Jelle Zijlstra
8bd744a38f fix type of msg argument to HTTPRedirectHandler.redirect_request (#2949)
It's not really documented (https://docs.python.org/3/library/urllib.request.html#urllib.request.HTTPRedirectHandler.redirect_request), but logically a message is a str, and reading the code for the stdlib confirms that it's intended to be a str.
2019-05-03 20:44:56 +02:00
Callum Ryan
1726b31013 Change WatchedFileHandler to inherit from FileHandler (#2947) 2019-05-02 21:55:56 +02:00
Utkarsh Gupta
df953ca385 config.pyi: Return a Thread instance (#2945)
Fixes #2938
2019-05-02 06:22:51 -04:00
Utkarsh Gupta
6d8e610d75 itertools.pyi: Replace Iterable with Iterator. (#2943)
Fixes #2931
2019-04-30 14:53:59 -07:00
Brandt Bucher
1fddec3f90 Positional-only arguments for built-in functions. (#2921) 2019-04-30 11:22:25 +02:00
Sushain Cherivirala
67b42aff6b Add initializer for http.cookiejar.Cookie (#2932) 2019-04-29 10:34:28 +02:00
Jelle Zijlstra
ff650d3275 socket: add .set_inheritable() (#2935) 2019-04-28 17:13:20 +02:00
Benjamin Peterson
4e572ae6a3 Remove format_map from Python 2 unicode. (#2933) 2019-04-24 00:42:27 +01:00
Rebecca Chen
fd57aee5da Make shlex.shlex convertable to a list in Python 2. (#2927)
This simply copies the relevant lines over from the Python 3 stub.
2019-04-21 09:21:00 +02:00
Stephen Thorne
97240083c4 Correct the type signature of assertRaisesRegexp (#2926)
assertRaisesRegexp is the old name of assertRaisesRegex, they are the
same, just that the old one is deprecated.
2019-04-18 20:31:00 -07:00
Yegor Roganov
4cd9a8ef91 Make loop optional in asyncio.Queue (#2923)
Default value is `None`, so `loop` should be optional.
2019-04-14 12:43:33 -07:00
Utkarsh Gupta
cf88c79a93 locale.format_string takes strings and numbers, too. (#2922)
Fixes #2879
2019-04-14 09:30:07 -07:00
Philipp Schrader
d9c5422ebf Add stub for multiprocessing.Value.get_lock() (#2920)
I also noticed that the "lock" parameter for Value's __init__ was
incomplete. The parameter also accepts lock objects directly.

https://docs.python.org/3.7/library/multiprocessing.html#multiprocessing.Value

Fixes #2917
2019-04-13 11:35:52 -07:00
Michael Lee
efb67946f8 Use variable annotations everywhere (#2909) 2019-04-13 10:40:52 +02:00
秋葉
b3c76aab49 KeysView and ItemsView should accecpt Iterable argument in set operation (#2906) 2019-04-12 23:05:58 -07:00
Michael J. Sullivan
f06f2e97bb Make os.altsep Optional on non-win32 platforms (#2918)
Keep it str on win32 to avoid breaking win32-specific code that relies
on it.
2019-04-12 23:00:19 -07:00
Sebastian Rittau
bd10d8aad4 Add @typing.type_check_only (#2679)
Cf. python/typing#597
2019-04-12 15:32:22 -07:00
Brandt Bucher
4230e6f313 Fix quit's argument and return types to match those of exit. (#2915)
Fixes #2912.
2019-04-12 16:57:26 +02:00
Masashi SHIBATA
c85fed8d98 Fix TextTestResult and TextTestRunner in unittest (#2910)
Co-Authored-By: c-bata <c-bata@users.noreply.github.com>
2019-04-12 12:50:12 +02:00
Sergey Machulskis
bec2fef7fa threading.Lock issue when using it with ExitStack (#2908)
* Make threading primitives ContextManagers
* Make catch_warnings ContextManager
* Make SMTP ContextManager
* Fix type of exc_type for SMTP
2019-04-11 21:39:17 +02:00
Michael Lee
b87064a274 Add type hints for the turtle module (#2905) 2019-04-11 08:00:53 +02:00
Michael J. Sullivan
0350e9fa89 Fix some issues with __round__ (#2907)
In python 3, add an overload for there being no digits argument
and make it return int.

In python 2, __round__ doesn't exist and SupportsRound doesn't exist
in the typing module. Use SupportsFloat for python 2 round().

Remove decimal's __round__ overload that takes None, since it doesn't exist
2019-04-09 11:45:10 -07:00
Rebecca Chen
50a661afed Complete the stub for _thread.pyi. (#2900)
Definitions based on https://docs.python.org/3/library/_thread.html.
2019-04-09 20:02:04 +02:00
Rune Tynan
cb7de8adfa Fix typo in FrameType 3.7 attributes (#2899) 2019-04-03 22:52:34 +01:00
Alex Chamberlain
f11d061849 Add mmap as a valid buffer type. (#2895) 2019-03-30 18:47:30 +01:00
Rebecca Chen
9b9ff64fc5 tempfile.mkdtemp() should return a str when passed no arguments. (#2893)
Otherwise, pytype expands `AnyStr` to `Union[str, bytes]`, leading
to spurious type errors later on.

* Mark the `dir` argument to mkdtemp as AnyStr.
2019-03-29 23:11:42 +01:00
William Ayd
bce70d1ca6 Added excepthandler to ast stubfiles (#2891) 2019-03-28 08:23:56 -07:00
Michael J. Sullivan
cc596aefbc Add a type: ignore as a hacky workaround for some mypy bazel issues (#2887) 2019-03-27 15:10:47 -07:00
Chen Li
598d0d6ae1 [builtins] Add 'AST' type to 'source' parameter for 'compile()' (#2889) 2019-03-27 08:29:16 +01:00
Rebecca Chen
a1d1870779 Fix a py2 parameter type in string.Template.(safe_)substitute. (#2888)
Context: https://github.com/python/typeshed/pull/2871#issuecomment-476806895
2019-03-26 23:25:15 -07:00
Michael J. Sullivan
c526975a1b Add overloads for min/max that don't take default (#2885)
PR #2833 introduced more flexible handling for the type of the default
parameter, but the extra type variable caused some issues. Add another
overload for the case where there is no default param.

This is I think related to the issues we have had with `get` recently?
2019-03-25 15:38:21 -07:00
Chen Li
094974c3f5 [re] Add attribute '_pattern_type' to re. (#2877)
This is only available before python 3.7 based on:
https://github.com/python/cpython/blob/3.6/Lib/re.py#L283
https://github.com/python/cpython/blob/3.7/Lib/re.py
2019-03-20 01:20:24 +01:00
wouter bolsterlee
afe665690c Add missing BaseException.__suppress_context__ attribute (#2876)
See also PEP 415: https://www.python.org/dev/peps/pep-0415/

Fixes #2875.
2019-03-16 22:16:01 +01:00
Rebecca Chen
7c80c52a7a Add missing class pdb.Pdb. (#2872)
Based on: https://docs.python.org/3/library/pdb.html#pdb.Pdb,
with the one difference that the `skip` argument to the
constructor is present in 2.7 despite being listed as new in 3.1.
2019-03-16 22:14:16 +01:00
Rebecca Chen
e541cdd1a6 Add unicode support to py2 string.Template. (#2871) 2019-03-16 22:12:36 +01:00
Rebecca Chen
03878d732a Add attribute queue.Queue.queue. (#2870) 2019-03-16 22:11:48 +01:00
Rebecca Chen
437d8e0ddd Add tarfile.filemode. (#2869)
This function is defined up to Python 3.7 (albeit deprecated in Python 3).
2019-03-16 09:45:01 +01:00
Rebecca Chen
8c252052f9 Move pydoc from 2/ to 2and3/. (#2873) 2019-03-16 09:37:24 +01:00
Rebecca Chen
7b6bb60fe2 Remove an unused import from stdlib/3/importlib/__init__.pyi. (#2866)
pytype has trouble resolving unused imports, since it looks at usage
to distinguish submodules from other imports.
2019-03-14 19:51:19 +01:00