Commit Graph

1418 Commits

Author SHA1 Message Date
Jelle Zijlstra
7dd2f80194 Fixes to ContextManager (#1249)
* add typing.ContextManager for 3.6+ only

This fixes the easier part of #655.

Would it make sense to add a generic typing.ContextManager that exists in any Python version?

* update comment

* fix argument types for ContextManager.__exit__

* add AsyncContextManager

* add @asynccontextmanager

* typing.ContextManager now always exists

* back out async-related changes

Will submit those in a separate PR later

* fix import order

* AbstractContextManager only exists in 3.6+

* AbstractContextManager -> ContextManager
2017-05-08 16:21:51 -07:00
Joe Bateson
385b9c8b66 Fix optparse OptionGroup __init__ to allow missing description (#1248) 2017-05-06 12:39:55 -07:00
Matthew Page
0e21ac9892 Add stub for string.casefold
Exists in 3.3+
2017-05-05 11:11:25 -07:00
David Euresti
ac4cb7a619 Make sys.getfilesystemencoding not return None (#1245)
Fixes #1221
2017-05-05 07:45:10 -07:00
Nathan Henrie
b8a3f9359f Update pbkdf2_hmac argument names for 3.4+ (#1241)
* Update pbkdf2_hmac for Python 3.5

- Use `iterations` instead of `rounds` if running on 3.5
- Change `dklen` to `Optional`

* Use `iterations` instead of `rounds` in 3.4+
2017-05-04 21:09:07 -07:00
Semyon Proshev
a2561cc4b2 Update typing.NamedTuple.__init__ to support fields passed through kwargs (#1239)
* Update `typing.NamedTuple.__init__` to support fields passed through kwargs

* `Verbose` and `rename` were returned to `typing.NamedTuple.__init__`
2017-05-04 08:26:15 -07:00
li-dan
e080d8ea77 Add missing methods to Python 2 concurrent.futures (#1236)
* Add missing methods to Python 2 concurrent.futures

Future.exception_info() and Future.set_exception_info() are methods
present only in the Python 2 backport of concurrent.futures.

* Mark timeout args as optional
2017-05-04 08:24:50 -07:00
Manuel Krebber
2d96eecd30 Itertools update (#1233)
* Updated the typehints for itertools.

* Removed the overload because it caused problems and cleaned up the imports.

* Update itertools.pyi

Added back optionality of second argument for itertools.permutations.

* Update itertools.pyi

Moved the Optional which I accidentially put on the wrong function -.-
2017-05-03 08:53:48 -07:00
Naomi Seyfer
c96a64d421 Remove second empty line in mypy_extensions (#1237) 2017-05-02 21:41:23 +01:00
Naomi Seyfer
6a9d74d1c7 Args for "flexible callable" experimental mypy feature. (#793)
This is the typeshed for the constructors for the Arg types that we'll now be
able to pass to Callable.  They really just return their type arguments.
2017-05-02 21:40:41 +01:00
Guido van Rossum
b6a9a05743 Turn uidl() into an overload. (#1231)
The previous change was still right. Unique among `poplib` functions, `uidl()` returns a long response when called without arguments, but just a bytes string when called with a `which` argument.
2017-05-01 08:56:27 -07:00
Jelle Zijlstra
464761bfd3 Fixes to shutil stub in Python 3 (#1227)
Mostly PathLike support; also added the os.terminal_size namedtuple.
2017-05-01 08:30:41 -07:00
Jelle Zijlstra
238c869965 merge _codecs into 2and3 (#1228)
* merge _codecs into 1and3

* handle encoding maps correctly
2017-05-01 07:51:08 -07:00
Jelle Zijlstra
0728096541 stub for nturl2path (#1208) 2017-04-30 14:16:30 -07:00
Guido van Rossum
24f5bc4a2a Explain the set of labels we actually use (#1226) 2017-04-30 10:46:44 -07:00
Jelle Zijlstra
b084bcd037 review exported names in collections stubs (#1197)
Fixes #709

I looked at dir(collections) in 2.7 and 3.6 and made sure the list of names matched the stubs.
2017-04-30 09:59:37 -07:00
Jelle Zijlstra
b9e896d97c make type aliases in lxml.etree private (#1216)
Naming the alias "AnyStr" isn't a great idea since AnyStr normally means
the typevar.

Also removed some whitespace in accordance with typeshed style.
2017-04-30 09:36:37 -07:00
Jelle Zijlstra
7be1a6f1fd fix some types in poplib (#1225)
Fixes a problem introduced in #1211.
2017-04-30 08:56:42 -07:00
Jelle Zijlstra
ee0f341ecb stub for poplib (#1211)
* stub for poplib

* poplib: str -> Text
2017-04-27 09:51:29 -07:00
Jelle Zijlstra
9cd8bba40f stub for nntplib (#1209)
Put this in stdlib/3 because it changed pretty radically in 3.2. We might be
able to move it to 2and3 later, but I want to focus on completing the Python 3
standard library first.
2017-04-27 08:48:22 -07:00
Jelle Zijlstra
1d6e3f492e Fix incorrect usage of AnyStr (#1215)
* Fix incorrect usage of AnyStr

- sqlite3 was using Union[bytes, AnyStr], which doesn't make sense
- The urllib functions I changed accept either bytes or str for their "safe"
  argument
- Also added supports for PathLike to pstats
- Remove some unused imports of AnyStr

* pstats: python 2 accepts unicode
2017-04-27 08:47:59 -07:00
Jelle Zijlstra
dad65e4121 improve stubs for _codecs (#1219)
* improve stubs for _codecs

I noticed that many of these used AnyStr in a context where it doesn't make
sense. Found a few more things after reviewing _codecsmodule.c:
- Some Windows-only functions were omitted
- A few argument counts and names and return types were wrong

The Python 2 _codecs stub has many of the same issues, but the module is also
pretty similar between Python 2 and 3. I'm planning to send another PR after this
one to merge the two and move the stub into 2and3.

* correct platform name
2017-04-27 08:47:42 -07:00
Jelle Zijlstra
d394d8c6bf stub for pickletools (#1210) 2017-04-27 08:14:21 -07:00
Jelle Zijlstra
c1a736fd6d fixes to fileinput (#1218)
- Correct incorrect return type for hook_encoded
- Add PathLike support
- Add some missing types
- Remove incorrect use of AnyStr
2017-04-27 08:12:53 -07:00
Jelle Zijlstra
d1da44dc1b add bytes.__mod__ (#1212)
Fixes python/mypy#3247

Also reviewed some related logic:
- __mod__ was added to both bytes and bytearray with PEP 461, which went into 3.5
- str.__mod__ takes only one argument, and the signature calls it "value"
- In Python 2, bytearray doesn't have __mod__ (and typeshed correctly omits it)
2017-04-27 08:07:59 -07:00
Ivan Levkivskyi
c133a3aca7 First argument to traceback.extract_tb can be None (#1223)
* First argument to traceback.extract_tb can be None

* Add Optional also to print_tb, format_tb, and walk_tb
2017-04-27 08:07:40 -07:00
Jelle Zijlstra
c05570cf00 fix example in README.md (#1217)
"int or float" isn't valid.
2017-04-26 08:15:38 -07:00
Jelle Zijlstra
3101768f12 drop 3.2 (#1213)
Closes #1145.
2017-04-25 17:15:49 -07:00
Teddy Sudol
4e22318980 Add pyi for pydoc [Python 2.7] (#1187)
* Add pyi for pydoc [Python 2.7]

* Fixed issues

* A few more fixes

- `synopsis -> Optional[AnyStr]`
- `visiblename` takes a `Container`
- `getdoc -> Union...` not `AnyStr`

* `synopsis` and `source_synopsis`
2017-04-25 16:34:45 -07:00
Teddy Sudol
31f3066124 Created stubs for xmlrpclib [Python 2.7] (#1185)
* Created stubs for xmlrpclib

* Fixed issues with xmlrpclib

* Change `_Unmarshaller` from TypeVar to alias
2017-04-25 16:22:05 -07:00
Teddy Sudol
f71ea30cac Created pyi for SimpleHTTPServer [Python 2.7] (#1186) 2017-04-25 16:17:09 -07:00
Teddy Sudol
e5a0c46004 Add pyi for sets (Python2.7) (#1176) 2017-04-24 18:53:47 -07:00
Jelle Zijlstra
397f998368 Make json into a package to match the implementation (#1194)
This is the other half of fixing #1115.

Also fixed the stub for JSONDecodeError and made it only exist in 3.5+.

Didn't otherwise review the exact attributes and types in the package.
2017-04-24 15:32:05 -07:00
Jelle Zijlstra
5f2f96340f complete stubs for imp (#1193)
* complete stubs for imp

Helps fix #1115

* fix import
2017-04-24 15:31:29 -07:00
Jelle Zijlstra
e3f495b7e9 Add missing enum attributes (#1195)
Fixes #854 (unless there's more I'm missing).
2017-04-24 15:30:59 -07:00
Jelle Zijlstra
6f5c6b5078 add some missing constants (#1198)
Closes #2
2017-04-24 15:05:02 -07:00
Jelle Zijlstra
56bc0f5766 rewrite _operator stubs (#1196)
Fixes #835
2017-04-24 15:04:42 -07:00
Jelle Zijlstra
4ea4bf63f8 add some missing names to abc.pyi (#1199)
Fixes #304
2017-04-24 15:04:16 -07:00
Jelle Zijlstra
8f1875b97b fixes to xml.sax (#1201) 2017-04-24 15:03:07 -07:00
Jelle Zijlstra
e8e002d9c0 stubs for smtpd (#1203) 2017-04-24 15:02:51 -07:00
Jelle Zijlstra
0fcece539b Stubs for sched (#1204)
* stubs for sched

* can't use NamedTuple classes
2017-04-24 15:02:25 -07:00
Jelle Zijlstra
5a20d41d4a stubs for reprlib (#1205) 2017-04-24 14:57:26 -07:00
Jelle Zijlstra
bea973ac22 stub for pty (#1206)
https://docs.python.org/3/library/pty.html
2017-04-24 13:55:33 -07:00
Jelle Zijlstra
3e51331118 fix parent classes of mmap (#1190)
Fixes #1184
2017-04-22 15:55:23 -07:00
Jelle Zijlstra
01ce742298 Add .mypy_cache/ to .gitignore (#1192)
Since it's now generated by mypy by default.
2017-04-22 15:54:48 -07:00
Jelle Zijlstra
1350d7e4d2 Fixes for datetime and relativedelta (#1191)
Fixes #1163.
2017-04-22 15:52:55 -07:00
Jelle Zijlstra
8dc082dce5 fix arg names in string.pyi (#1188) 2017-04-21 17:52:48 -07:00
Jelle Zijlstra
77af85649b Revert "Sadly symlinks don't work on Windows. (#1173)" (#1189)
This reverts commit 8b835f9500.

(Because we've fixed the issue in python/mypy#3213.)
2017-04-21 16:25:10 -07:00
David Euresti
759da86478 Cleanup six.moves module (#1180)
* Cleanup six.moves

Regenerate files so all imports are present, comment out imports that fail.
Remove useless files.

* Fix flake8
2017-04-21 16:03:19 -07:00
Guido van Rossum
a934d57f3b [optparse] Change Uses of List[] to Sequence[] in argument positions. (#1179)
* Change Uses of List[] to Sequence[] in argument positions.

One of these (parse_args()) broke in real-world code, because the
expected type was List[Union[str, bytes]] but the actual type was
List[str] (because List is invariant).  That is ridiculous, so I
changed the accepted type to Sequence[_Text] which is covariant.  Then
I found a few other methods/functions that probably should also be
changed to Sequence, but I'm less certain of those.  I'm not at all
sure about the instance/class attributes, so I left those alone
(though I suspect those might also have to switch).

* Fixes suggested by code review

- Changed Sequence[Option] to Iterable[Option] everywhere
- Changed _process_args to plain List
2017-04-21 12:22:24 -07:00