Commit Graph

582 Commits

Author SHA1 Message Date
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
Nathan Henrie
fb80dc3971 Add ModuleNotFoundError for Python >= 3.6 (#1083)
6f0eb93183/Objects/exceptions.c (L707)
https://docs.python.org/3/library/exceptions.html#ModuleNotFoundError
2017-03-23 18:16:53 -07:00
Nathan Henrie
abb7e49089 HTTPPasswordMgrWithDefaultRealm inherits from HTTPPasswordMgr (#1082)
ee51327a23/Lib/urllib/request.py (L900)
2017-03-23 10:48:22 -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
c10dc797e7 Remove object as the only ancestor for string.Formatter in Python 3 stubs. (#1072) 2017-03-22 07:33:46 -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
Guido van Rossum
af2fadc180 More fixes related to PathLike (#1061)
* Make DirEntry generic over AnyStr, and inherit from PathLike if it exists

* Make pathlib require PathLike[str] (when it exists)
2017-03-21 22:26:21 -07:00
Guido van Rossum
7587e7f1c1 Make PathLike generic in AnyStr (#1060) 2017-03-21 14:33:22 -07:00
Guido van Rossum
41561f11c7 Redo PathLike without importing os into builtins. 2017-03-21 10:50:10 -07:00
Guido van Rossum
baa61a151b Revert "Update stub for builtin open function due to PEP-519."
This reverts commit 48b271c862.

See https://github.com/python/typeshed/pull/991#issuecomment-288160993
for details; basically this disturbed mypy's bootstrap import cycle.
2017-03-21 10:45:06 -07:00
Ivan Levkivskyi
ed9f70c738 Replace frozenset with FrozenSet (#1057) 2017-03-21 07:52:34 -07:00
Jelle Zijlstra
25464cf0a7 Merge pull request #991 from JetBrains/sproshev/pep-519
Update `open`, `os.fspath`, `os.fsencode`, `os.fsdecode`, `pathlib.PurePath` and `pathlib.Path` stubs due to PEP-519
2017-03-21 07:38:50 -07:00
Jelle Zijlstra
c8fd85579f add py2 stubs for dis (by moving them into 2and3) (#1033)
Only a few functions were added in early py3 relative to py2, so it seems
fine to use a single stub. 3.4 made bigger API changes.
2017-03-21 06:00:50 -07:00
Jelle Zijlstra
357f66db77 move cgi to 2and3 and add types (#1022)
* move cgi to 2and3 and add types

This is pretty stable between Python 2 and 3, and not very well documented.

* fix CI failures

* adjust comment

(want to force Travis to re-run)

* give up on overriding values
2017-03-21 05:56:52 -07:00
Semyon Proshev
89de36afa4 Update os.fspath(path: PathLike) to return Any since Union return types are troublesome 2017-03-21 15:00:46 +03: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
eb5d8c9cf2 Missed some that were marked as str 2017-03-20 22:12:58 -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
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
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
Jelle Zijlstra
658abe7c9e Merge and complete stubs for sysconfig (#1040)
* unify and complete sysconfig stubs

* add missing imports

* and another
2017-03-19 17:34:08 -07:00
Jelle Zijlstra
7906059adb pyclbr: move to 2and3 (#1034)
* pyclbr: move to 2and3

This module is completely identical between 2 and 3 in CPython (apart from a small few syntax changes).

* fix typo
2017-03-19 13:05:07 -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
Semyon Proshev
4cd137189a Remove object as the only ancestor for classes in Python 3 stubs. 2017-03-18 14:57:57 -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
David Wetterau
50327f00ee Add types for parse_qs and parse_qsl when taking bytes as input (#1020) 2017-03-18 14:52:30 -07:00
Jelle Zijlstra
cb7949b14e fixes to dis stubs (#1025)
- Add sys.version_info checks (mypy now supports them)
- Went over Python 3 docs and corrected a few things
- Reexport things that are imported from opcode
2017-03-18 14:50:31 -07:00
Jukka Lehtosalo
f296b37e80 Fixes to unittest stubs (#1024)
* Fixes to unittest stubs

* Make types more precise
2017-03-18 14:35:33 -07:00
Semyon Proshev
99a1afd72b Update input parameter type for os.fsencode (+bytes) and os.fsdecode (+str). 2017-03-18 18:12:27 +03: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
jkleint
17be26165d Relax type of TestCase.assertCountEqual() params from Sequence to Iterable (#1006)
The stubs for `unittest.TestCase.assertCountEqual()` specify the parameters are Sequences; in fact the method works fine with Iterables, as the first thing the method does is convert them to lists.  [1]  The docs do say sequences, but it appears there is no reason they cannot be Iterables.

[1]: https://github.com/python/cpython/blob/master/Lib/unittest/case.py#L1156
2017-03-15 22:25:20 -07:00
Eddie Antonio Santos
a2fe3f4c59 Add os.supports_* sets (new in 3.3) (#1005)
* Add os.supports_* sets (new in 3.3)
* Use Callable[..., Any] instead of builtin.function.
2017-03-15 22:24:16 -07:00
Martijn Pieters
3f0eb995aa Complete the tokenize module type hints (#984)
* Complete the tokenize module type hints
* Add missing import for Optional
* Use a 3.5-style named tuple, untokenize speaks with forked tongue so use Any
* Use explicit types for fields
2017-03-15 09:57:17 -07:00
Jelle Zijlstra
48b1962951 drop union return type from getaddrinfo (#1002) 2017-03-14 11:45:09 -07:00
Jelle Zijlstra
11350ed8cc Fix missing argument types in py3 stdlib (#995)
Still missing a few in _subprocess (a Windows-only private module) and decimal
(I gave up).
2017-03-14 11:43:42 -07:00
Antoine Reversat
01b3915b3f Add encoding and errors keyword arguments (new in 3.6) (#1001) 2017-03-14 10:44:10 -07:00
Łukasz Langa
05cba488a5 Revert "Fix click annotation syntax and add missing keyword arguments to subprocess (new in 3.76) (#999)"
This reverts commit 43a1f761b2.
2017-03-14 08:13:14 -07:00
=^_^=
45f4a1e913 Allow nested tuples in isinstance/issubclass (#998)
Fixes #997
2017-03-14 08:04:12 -07:00
Antoine Reversat
43a1f761b2 Fix click annotation syntax and add missing keyword arguments to subprocess (new in 3.76) (#999)
* Fix click annotations

* Add encoding and errors keyword arguments (new in 3.6)
2017-03-14 08:02: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