Commit Graph

144 Commits

Author SHA1 Message Date
Guido van Rossum
fd77dd2e7a Make type of 'env' more flexible (#1091)
See https://github.com/python/typeshed/pull/1059#issuecomment-289150121
2017-03-24 15:58:01 -07:00
Josiah Boning
62f57e4cef Improve types for subprocess module (#1059)
* Improve types for CalledProcessError

This adds union types in the constructor to account for parameters that
might be either byte strings or unicode strings. At the same time, this
*removes* specific types from the user-accessible fields, to avoid the
need for users to at every use site specify which types their particular
instance was instantiated with.

* remove 'moral' comments; add List import; change 'str' to 'Text'

* import Text

* List -> Sequence; reinsert 'moral' comments

* Regularize string types everywhere

This defines _TXT and _CMD aliases, and uses them everywhere applicable.

Also brings the _FILE alias to python3.

* fix typo; possibly fix indentation

* remove trailing comma, which caused problems in python 2 tests

* fix py2 outputs to be bytes; tweak descriptive comments; remove one AnyStr
2017-03-24 08:23:36 -07:00
Nikhil Marathe
7e05d47b81 Improved annotations for select.select() (#1080) 2017-03-23 10:30:48 -07:00
Jelle Zijlstra
fa104ea456 Add stubs for symbol (#1047) 2017-03-23 08:26:45 -07:00
Jelle Zijlstra
c1944f944e fix some missing ", ..." in tuples (#1079) 2017-03-22 21:04:39 -07:00
David Euresti
ce3a76bb97 Fix arg types for os.execv* (#1075) 2017-03-22 10:50:15 -07:00
Semyon Proshev
df4c5c81e8 Add n-ary stub for itertools.izip (#1071) 2017-03-22 07:35:21 -07:00
Semyon Proshev
78d0cc32df Add __new__ to builtin dict (#1056) 2017-03-22 07:33:06 -07:00
jkleint
433b1b2ebc TestCase.assertSetEqual() should accept frozenset (#1063)
This declares the method to take the union of Set and FrozenSet
rather than AbstractSet since that is where `difference()`
(used by `assertSetEqual()`) is defined.
2017-03-21 23:10:19 -07:00
David Euresti
4ac642bd49 Separate MutableMapping.pop into 2 overloaded methods (#1045)
This makes calls with the default value not return a Union
2017-03-21 22:30:27 -07:00
Ivan Levkivskyi
ed9f70c738 Replace frozenset with FrozenSet (#1057) 2017-03-21 07:52:34 -07:00
Jelle Zijlstra
2e1ebab0c8 Merge pull request #1054 from euresti/path_type
Use Union[bytes, Text] for paths in os.py
2017-03-20 22:51:51 -07:00
David Euresti
b362177cc4 Fix typo 2017-03-20 22:36:44 -07:00
David Euresti
2804788efa Bring some things back to Union types 2017-03-20 22:29:43 -07:00
David Euresti
a4d70e5b01 Bring some things back to Union types 2017-03-20 22:26:06 -07:00
David Euresti
66fbb26aec Use Union[bytes, Text] in os.pyi
In order to unify these two versions I'm making all paths be _PathType = Union[bytes, Text]
Fixes #439
2017-03-20 21:56:14 -07:00
Jelle Zijlstra
c628cd146b Merge pull request #1042 from gnoack/patch-1
5-ary and 6-ary izip
2017-03-20 21:35:44 -07:00
Günther Noack
b621b2f5ff Remove fallback again 2017-03-20 21:38:16 +01:00
Günther Noack
4149a2637b Update itertools.pyi 2017-03-20 21:30:33 +01:00
Günther Noack
4e62b05e7d Update itertools.pyi 2017-03-20 21:12:02 +01:00
Günther Noack
4152283115 Update itertools.pyi 2017-03-20 21:02:08 +01:00
Günther Noack
cd949ba284 Fix fallback. 2017-03-20 20:45:34 +01:00
Günther Noack
62efd05201 Add support for 6-ary izip and generic n-ary case
Using izip with up to 6 arguments will retain the arguments' type information,
using izip with 7 and more arguments will discard type information about the
generated tuple items.
2017-03-20 20:36:50 +01:00
David Euresti
2fdcd2e9e8 Let MutableMapping.pop take a different default type. (#1044)
This is particularly useful for the idiom `d.pop(k, None)` to remove an item if it exists.

Fixes #278
2017-03-20 12:10:38 -07:00
David Euresti
d57bce361f Reorder 2/os/__init__.py for combining
This was a simple reordering of the lines in the file so that it looks like 3/os/__init__.py.
This should let us more easily combine the files
2017-03-20 12:06:20 -07:00
Semyon Proshev
25c66a011e Add zip stubs for 5 and more arguments. (#1041)
* Add `zip` stubs for 5 and more arguments.

* Update `zip` stubs for 6+ arguments.
2017-03-20 11:38:38 -07:00
Günther Noack
014a23ae06 Define _T5 2017-03-20 17:29:39 +01:00
Günther Noack
8e0d38fd77 Update itertools.pyi 2017-03-20 17:16:26 +01:00
Günther Noack
536d192897 Update itertools.pyi 2017-03-20 16:56:55 +01:00
Jelle Zijlstra
48920fea7e Remove xxsubtype stubs (#1039)
As suggested by Guido
2017-03-20 08:43:19 -07:00
Jelle Zijlstra
7448f23d9f spwd: move to 2and3 and add missing argument 2017-03-20 08:39:24 -07:00
Günther Noack
42f37c0f04 5-ary izip 2017-03-20 15:17:39 +01:00
Jelle Zijlstra
ee22a489d9 quopri: unify 2 and 3, add types 2017-03-19 13:08:54 -07:00
Jelle Zijlstra
13dbbf9084 Add some missing types to urllib2 (#1012)
* add some missing types to urllib2 stubs

There are still a number of missing types in this file.

* uri is the union, not realm
2017-03-19 12:47:58 -07:00
David Euresti
d43f3be914 Unify stdlib/{2,3}/typing.pyi
Also fix signature of IO.seek, IO.truncate, IO.write, and MutableMapping.update
Fixes #1016

Note: I couldn't put typing.pyi in 2and3 because of an import cycle when adding `import sys` to 2/typing.pyi
2017-03-19 09:43:40 -07:00
Jelle Zijlstra
db0c106d2f add Optional to ddirs 2017-03-18 15:16:56 -07:00
Jelle Zijlstra
efdf2f1b17 add compileall stubs to 3 and add types to the ones in 2 (#1023)
* add compileall stubs to 3 and add types to the ones in 2

Didn't merge the stubs because all functions have additional parameters since 3.2,
so there would be no shared code between 2 and 3.

* add comment
2017-03-18 14:55:47 -07:00
Jelle Zijlstra
52dcfeed12 merge 2 and 3 stubs for unicodedata (#1013)
* merge 2 and 3 stubs for unicodedata
* fix a few return types to str in py2
2017-03-17 10:39:44 -07:00
Tadeu Manoel
da6d4314d3 Add missing method 'indices' in 'slice' builtin (#1007) 2017-03-16 09:18:24 -07:00
Jelle Zijlstra
349ff59f33 change empty bodies from "pass" to "..."
CONTRIBUTING.md says to prefer ... Not the most impactful change but fixing
these will allow us to lint for it in the future and get a consistent style.
2017-03-16 09:13:08 -07:00
Jelle Zijlstra
48b1962951 drop union return type from getaddrinfo (#1002) 2017-03-14 11:45:09 -07:00
=^_^=
45f4a1e913 Allow nested tuples in isinstance/issubclass (#998)
Fixes #997
2017-03-14 08:04:12 -07:00
Ivan Levkivskyi
b430318ac0 Fix non-subscriptable type aliases (#993) 2017-03-13 17:24:34 -07:00
Semyon Proshev
52da2a176b Fix datetime stubs (#992) 2017-03-13 09:12:46 -07:00
Jelle Zijlstra
eb07fd3c1a make sure typevars defined in stubs are private (#989)
And also a few type aliases I noticed in the process.

Found using 59f9cac095
2017-03-13 07:32:40 -07:00
Jelle Zijlstra
155fdd0cd4 Fixes to tempfile stubs (#981)
Fixes #975

And a few more things I noticed while reading the tempfile docs.

    In 3.5, most functions in tempfile were changed to accept either str or bytes in their prefix and suffix arguments, and return bytes or str accordingly. This seemed like a case for AnyStr.
    We were missing tempdirb and tempprefixb, added in 3.5.
    TemporaryFile and others were declared as returning BinaryIO, but they actually return either binary or text IO depending on the mode passed in. I changed the return type to IO[Any], similar to builtins.open.
2017-03-12 19:32:46 -07:00
Matthias Kramm
02bd2bdf69 Make pickle accept IO[str] instead of BinaryIO. (#980)
* Make pickle accept IO[str] instead of BinaryIO.

This makes the following code work:
pickle.Unpickler(cStringIO.StringIO())
(Which didn't work before because cStringIO.StringIO inherits "only"
 from IO[str], not BinaryIO)

* Use bytes instead of str.
2017-03-10 20:24:20 -08:00
Jelle Zijlstra
cf6c563ce1 codecs: merge 2 and 3 stubs (#960) 2017-03-10 15:50:14 -08:00
Ivan Levkivskyi
bd5b33f3b1 Fix frozenset (#979) 2017-03-10 13:59:32 -08:00
Dominik Miedziński
4f51a4f2fc Improve ABCMeta.register signature (#962)
* Improve ABCMeta.register signature

* Fix ABCMeta.register return type for Python 3.3+
2017-03-07 16:42:06 -08:00