Commit Graph

1618 Commits

Author SHA1 Message Date
Jelle Zijlstra
537b97ed39 add bytearray.copy to Python 3 (#2133)
Fixes #1715.

2.7's bytearray doesn't have it.
2018-05-15 14:33:24 -04:00
Ethan Smith
db9246b3e5 Fix importlib.resources for mypy (#2130) 2018-05-15 10:34:56 -04:00
Jelle Zijlstra
55be42f6d6 add __fspath__ support to os.path (#2053)
Fixes #1997, #2068.

This is tricky because we need to get the return values right (see #1960 for
prior attempts) and we often run into python/mypy#3644. I found that I
could express most signatures correctly using a series of overloads.

A few other changes in here:
- Added splitunc, which according to https://docs.python.org/3/library/os.path.html
  should exist in both Unix and Windows.
- Made the second argument to os.path.curdir Optional to match the implementation.
- Fixed os.path.split, whose previous Path-aware signature triggered python/mypy#3644.
2018-05-15 10:31:40 -04:00
Stanislav Syekirin
4e1cc807aa adding a stub for tkinter.messagebox (#2113) 2018-05-13 08:36:11 -04:00
Phillip Schanely
86f9472bc9 Correct 2 typing comments in inspect module (#2110) 2018-05-12 01:27:29 -04:00
Omar Sandoval
0a30d22f0d Fix Python 3 round() signature (#2107)
In Python 3, the ndigits argument of round() defaults to None. If
ndigits is excluded or explicitly None, the result is always an int. If
ndigits is not None, the result should be the same type as the number.

$ cat test.py
from fractions import Fraction

print(type(round(0.1)))
print(type(round(0.1, None)))
print(type(round(0.1, 0)))

print(type(round(Fraction(1, 10))))
print(type(round(Fraction(1, 10), None)))
print(type(round(Fraction(1, 10), 0)))
$ python3 ./test.py
<class 'int'>
<class 'int'>
<class 'float'>
<class 'int'>
<class 'int'>
<class 'fractions.Fraction'>

Update the signatures to allow for an ndigits of None.
2018-05-11 14:02:09 -04:00
Omar Sandoval
aab1b20c80 Add missing namespace argument to rlcompleter.Completer (#2105)
This argument has been around since 2.3, and it's documented in the
rlcompleter docstring (although not on python.org).
2018-05-09 22:12:02 -07:00
Salvo 'LtWorf' Tomaselli
d289c20260 Add __new__ to tuple stub (#2092)
Closes: #2091

Apply suggestions from https://github.com/python/typeshed/pull/2092
2018-05-09 16:30:58 -07:00
Jasper Spaans
2df4a32cf5 Let email.message.MIMEPart inherit from Message (#2103)
Also removes some duplication.
2018-05-09 16:28:14 -07:00
Sebastian Rittau
09008599ce Merge Python 2 and 3 wsgiref (#2106)
* Merge Python 2 and 3 wsgiref

* Move wsigref to 2and3
2018-05-09 16:26:03 -07:00
Dominik Gabi
3f196bde44 Make NamedTuple._replace return instance of the self parameter. (#2102) 2018-05-09 16:24:23 -07:00
Guido van Rossum
d854d7e2a0 Revert "Fix signature of generic_visit method (#2100)" (#2101)
This reverts commit 39576c5d41.

I merged too soon -- tests are failing.
2018-05-07 11:21:19 -07:00
Thomas Schaper
39576c5d41 Fix signature of generic_visit method (#2100)
This methods returns something that has the same type as the first argument.
Fixes #2085.
2018-05-07 11:20:20 -07:00
Andrew Svetlov
252d79981b Add a stub for sys.implementation (#2097) 2018-05-06 08:40:56 -07:00
Andrew Svetlov
142c7488a5 Implement a stub for netrc standard module (#2098) 2018-05-06 10:25:40 +01:00
Emil Hessman
4d8010a988 Define threading.local as a proper class (#2086)
Fixes #1591
2018-04-30 08:48:12 -07:00
Emil Hessman
97e261cce8 Define SimpleNamespace as a proper class (#2087) 2018-04-29 23:02:13 -07:00
Jelle Zijlstra
fc9a822348 specify what type Binary is (#2057)
Fixes python/mypy#4916.
2018-04-27 14:40:33 -07:00
Jelle Zijlstra
46f0bb8b91 support unicode in Python 2 for difflib (#2055)
Fixes #1961.

I mostly just replaced all str annotations with Text, including in return types. This is
only broadly correct; diffing a str and a unicode sequence actually results in a mixed
output of str and unicode. We could also keep the return types as str if using Text
causes errors in real code. For callbacks that take str, I introduced a Union alias
because a callable taking a str would not be a compatible with a parameter of type
Callable[[Text], bool].

I also fixed the return type of difflib.restore.
2018-04-27 14:39:18 -07:00
Jelle Zijlstra
f60ffe47a2 add attributes to locale (#2056)
Fixes #1888.
2018-04-27 14:38:22 -07:00
Jelle Zijlstra
c7e3e9890d add UserDict.__init__ for Python 3 (#2083)
Fixes #2075
2018-04-27 14:38:00 -07:00
Jelle Zijlstra
9e25506cab add missing attributes to Python 2 unicode errors (#2084) 2018-04-27 14:37:20 -07:00
Jelle Zijlstra
5554b0b19b argparse.ArgumentParser.error never returns (#2082)
And neither does `.exit`.

Fixes #2081.
2018-04-25 21:30:31 -07:00
Zabolekar
5ddff9c44a Add a stub for tkinter.filedialog and for the modules it imports (#2058) 2018-04-25 19:44:42 -07:00
Martijn Pieters
ecae01a37d collections.OrderedDict dict views are reversible (#2079)
Add the *View subclasses for OrderedDict use, with appropriate __reversed__
hints.

Fixes python/typeshed#2078
2018-04-25 19:44:25 -07:00
Tomas Krizek
db5137b756 stdlib/selectors: change timeout argument type to float (#2070)
The Selector's code internally uses select.select and passes the
timeout argument to it. The documentation explicitly states the
timeout is a floating point number:
https://docs.python.org/3/library/select.html?highlight=select#select.select
2018-04-19 08:36:53 -07:00
Martin DeMello
2935017157 Add multiprocessing.dummy pyi files (#2059) 2018-04-18 19:20:01 -07:00
Semyon Proshev
5223b26ec8 Add __round__ to int and float in Python 3 (#2061) 2018-04-17 14:25:04 -07:00
Freek Dijkstra
55a3bad0f8 fix signature for difflib.get_close_matches (#2064)
Fixes #2063.

The second argument to difflib.get_close_matches not only accepts a List, but any Iterator.
2018-04-17 14:24:27 -07:00
Jelle Zijlstra
a5429d25dc add missing methods to DictMixin (#2054)
Fixes #1896.
2018-04-14 14:21:07 -07:00
Siva Chandra
035774e022 Adjust return types of shed.scheduler.run. (#2050) 2018-04-13 21:00:27 -07:00
Michael J. Sullivan
d63866bd36 Fix py2 unicode handling for ArgumentParser.add_argument's text arg (#2051)
add_argument's type argument was recently changed to be (approximately)
`Callable[[_Text], _T]`. Because of contravariant subtyping for functions,
this had the effect of requiring that add_argument *always*
be unicode, which is wrong.

Change it to be `Callable[[str], _T]`.
2018-04-12 20:45:48 -07:00
Jelle Zijlstra
b1a0b8ad6e add subprocess.STARTUPINFO and some associated constants (#2041) 2018-04-12 12:29:42 -07:00
Jelle Zijlstra
0f425db197 fix types for unittest.TestLoader.loadTestsFrom* methods (#2042)
Fixes #2008.
2018-04-12 12:29:32 -07:00
Jelle Zijlstra
37aba00fe8 fix using ZipFile as a ContextManager (#2043) 2018-04-12 12:29:22 -07:00
Jelle Zijlstra
b8b78886e3 add some Optionals to traceback.pyi (#2044)
Fixes #1974
2018-04-12 12:29:07 -07:00
Jelle Zijlstra
840f34147e add a lot more distutils.errors (#2045)
Fixes #1963.

See https://github.com/python/cpython/blob/2.7/Lib/distutils/errors.py and https://github.com/python/cpython/blob/3.7/Lib/distutils/errors.py.
2018-04-12 12:28:55 -07:00
Eddie Schoute
5327841a18 Add pathlib.Path.__enter__ and __exit__ (#2048) 2018-04-12 10:39:19 -07:00
Jelle Zijlstra
7cd2016931 add sys.base_exec_prefix and sys.base_prefix (#2047)
See https://docs.python.org/3/library/sys.html#sys.base_exec_prefix.

Required for https://github.com/python/mypy/pull/4888
2018-04-11 13:59:44 -07:00
Chris Gavin
dca53fb2bd Make the help argument of argparse.add_argument Optional. (#2046) 2018-04-11 07:20:16 -07:00
Jelle Zijlstra
db989427cb dest argument to add_argument is Optional (#2040)
argparse.py checks for None in _get_optional_kwargs.
2018-04-10 21:47:30 -07:00
rchen152
e2cfc4bf0f Add private members to argparse.pyi. (#1937)
* Add _AttributeHolder and _ActionsContainer classes to argparse.

* Add Action subclasses to argparse.

* Add _UNRECOGNIZED_ARGS_ATTR, _ensure_value, _get_action_name to argparse.

* Fill in remaining _ActionsContainer attributes.

* Fill in missing argparse.ArgumentParser attributes.

* Fill in missing argparse.HelpFormatter attributes.

* Fill in remaining missing attributes on argparse classes.

* Rename TypeVar _ActionVar to _ActionT

* Add a version check for FileType attributes

* Add '# undocumented' where appropriate

* Add more # undocumented comments

* Make arguments to _ActionsContainer.add_argument more precise.
2018-04-10 20:56:49 -07:00
Svend Sorensen
6c1dffed58 Make islice start and stop parameters optional (#2031)
From the documentation [1]: "If start is None, then iteration starts at zero."

[1] https://docs.python.org/3/library/itertools.html#itertools.islice.

PR #1603 made this change for Python 2.
2018-04-10 20:55:06 -07:00
John Reese
a51b480609 Add type annotations for multiprocessing manager address/connect (#2033) 2018-04-10 20:54:23 -07:00
NODA, Kai
fe1d7f4fd4 ssl.SSLContext(protocol) >= 3.5 has a default value (#2007)
Fix #1947

As discussed, pretended all 3.5.* have the default value although it was actually 3.5.3 which introduced it
2018-04-09 12:58:15 -07:00
Jelle Zijlstra
f37709f9c3 Merge stubs for sqlite3 (#2026)
As promised in #2014.

There are virtually no real changes between Python 2 and 3 in this module, but the stub had accumulated some meaningless differences. I also fixed a few incorrect types.
2018-04-09 12:32:59 -07:00
Jelle Zijlstra
3f456e335e add multiprocessing.Process.kill and close (#2027)
See https://docs.python.org/3.7/library/multiprocessing.html#multiprocessing.Process.kill.

Fixes #2022.
2018-04-09 12:04:14 -07:00
Jelle Zijlstra
d43eac60dd add email.parser.FeedParser (#2028)
Fixes #1985.
2018-04-09 12:03:43 -07:00
NODA, Kai
b472130201 Improve asyncio APIs which take TCP port (#2006)
They have getaddrinfo(3) as their backend, and accept port='http' etc. You can even omit (pass None to) either of host or port for start_server() to effectively select 'localhost' and an arbitrary ephemeral port, respectively.
2018-04-08 23:17:32 -07:00
Jelle Zijlstra
482f207b3c os.fwalk supports bytes (#2013)
python/cpython@8f6b344 and https://bugs.python.org/issue28682.

I could not use the _PathLike alias because that includes bytes.

Part of #1965.
2018-04-06 11:22:15 -07:00