Commit Graph

675 Commits

Author SHA1 Message Date
Jelle Zijlstra
6fe7cdb1c3 merge 2and3 stubs for select (#1333)
There don't seem to be significant changes between Python 2 and 3. The Python 2
stub was much better, so I mostly built off of it.
2017-05-24 14:57:11 -07:00
Jelle Zijlstra
6152bad0af add random.choices for 3.6 (#1329) 2017-05-24 14:09:52 -07:00
Jelle Zijlstra
89f27742ca add re.template (#1330) 2017-05-24 14:07:31 -07:00
Jelle Zijlstra
890190d349 add opcodes to pickle stubs (#1321) 2017-05-24 08:05:55 -07:00
Jelle Zijlstra
5e4165493a fix typo in importlib.abc (#1323) 2017-05-24 08:00:12 -07:00
Jelle Zijlstra
c930e889ee merge 2 and 3 stubs for fileinput (#1319)
* merge 2 and 3 stubs for fileinput

Plus some minor fixes.

* pytype doesn't like generic type aliases
2017-05-24 07:58:56 -07:00
Jelle Zijlstra
4ea798b869 inspect.getmoduleinfo was removed in 3.6 (#1318)
Compare https://docs.python.org/3.5/library/inspect.html#inspect.getmoduleinfo
and https://docs.python.org/3.6/library/inspect.html
2017-05-23 16:52:16 -07:00
Jelle Zijlstra
cca81d864a complete doctest stub (#1315)
* complete doctest stub

And merge it into 2and3 (the old stubs were virtually empty).

* note things changed in 3.4

2.7 also had an undocumented and deprecated doctest.Tester class. I'm going to leave it out until somebody asks for it to be added.
2017-05-23 16:34:34 -07:00
Luka Sterbic
9601a76b54 Use AsyncResult from multiprocessing.pool (#1317) 2017-05-23 16:33:46 -07:00
Jelle Zijlstra
6c5474ae8c various fixes to asyncio stubs (#1305) 2017-05-23 16:14:29 -07:00
Jelle Zijlstra
0bda8c0cef fixes and additions to the configparser stub (#1311)
* fixes and additions to the configparser stub

This broke pytype because of the type ignore. I think it's OK to blacklist
because another instance of this same error (stdlib/3/email/policy.pyi line 95)
is already blacklisted. We can remove it when the pytype parser is fixed to
allow type ignores in this context.

* add SectionProxy.__getattr__

* the __getattr__ returns Any

* don't need type ignore for pytype if we put it all on one line
2017-05-23 15:36:42 -07:00
Jelle Zijlstra
42cd0f59e5 add functools.partialmethod (#1316)
Plus other cleanup to the py3 functools stub
2017-05-23 15:36:09 -07:00
Jelle Zijlstra
9ae9a9e741 merge Python 2 and 3 stubs for difflib (#1313)
These were already virtually identical.

I didn't review the stubs themselves for correctness. I'll make some changes after this
PR is in.
2017-05-23 15:01:30 -07:00
Jelle Zijlstra
05a4059b3b make TimeTuple private in datetime.pyi (#1312)
Also, these stubs aren't incomplete.
2017-05-23 15:01:02 -07:00
Luka Sterbic
9b2b60eafc Make Lock usable as contect manager (#1314) 2017-05-23 15:00:32 -07:00
Jelle Zijlstra
1dda4ac105 merge python 2 and 3 stubs for calendar (#1310)
These are pretty much the same in the stdlib, except that TimeEncoding
got renamed to different_locale.
2017-05-23 12:47:24 -07:00
Jelle Zijlstra
3267e2396b Dummy thread improvements (#1309)
* dummy_thread improvements

- Complete the Python 3 stub
- Add a Python 2 stub. They're close enough that they should go into 2and3, but
  the module name changed so we can't do that.

* fix my bugs
2017-05-23 12:46:42 -07:00
Jelle Zijlstra
48796411ed curses: make names private that don't exist at runtime (#1308)
And add some missing return types
2017-05-23 12:46:05 -07:00
Jelle Zijlstra
14f7492fe0 os.walk allows PathLike (#1306) 2017-05-23 12:45:40 -07:00
Jelle Zijlstra
764d949f04 make _ast.identifier private (#1307)
It doesn't exist at runtime.
2017-05-23 09:51:29 -07:00
Benjamin Starling
9abbc0d392 Fix unittest.mock.Mock keyword arguments to address #1282 (#1300) 2017-05-22 23:30:40 -07:00
Emily Morehouse
adae702fc1 Moves pdb stub to 2and3 (#1294)
- Moves the pdb stub from separate `2`/`3` files to a single file in `2and3`, as they were identical.
- Maintains the comment header, as the stub is incomplete.
2017-05-22 15:48:14 -07:00
John Reese
54408054cc Add type stubs for multiprocessing.Manager() (#1270)
* Use Dict/List types and _Namespace alias

* Use TypeVar definitions for mapping/sequence stubs
2017-05-22 15:31:23 -07:00
Emily Morehouse
b6d08b81a3 #1286 Remove header comments from stubs (#1292)
- Updates documentation related to previously required comment headers.
- Removes all comment headers from stubs
- Occasionally included a header for stubs that were noted to be incomplete or contained todo's.
2017-05-22 15:14:15 -07:00
Jason Fried
a2aa93ac29 subprocess.py env and cmd arguments accept None (#1291) 2017-05-22 15:06:24 -07:00
James Elford
2d4cd76765 Add new hashes introduced in Python 3.6 (#1268)
* sha3 family of hash functions
* shake variable length hashes that were introduced alongside sha3
* blake2 family of hash functions
* Mark VarLenHash as a private class, since it's not actually exported by hashlib
* Fix typos in my last, and mark hashlib.Hash as a private class since it isn't in the real hashlib
2017-05-22 07:57:31 -07:00
Jelle Zijlstra
728b977729 Replace a number of default argument values with "..." (#1280)
pytype apparently doesn't like default values that aren't ints or
None/True/False.
2017-05-21 14:31:22 -07:00
Mahmoud Afaneh
3896298027 Add multiprocessing.context stubs (#1260) 2017-05-20 23:13:18 -07:00
Yusuke Miyazaki
c19e266dcf Fix StringIO stub for Python 3 (#1275) 2017-05-19 17:02:57 -07:00
Ryan Jarvis
4ab29832a2 Extend typing to CursesWindow object (#1271)
* Extend typing to CursesWindow object

* Correct delch() signature
2017-05-17 16:07:08 -07:00
George Caley
eac0562088 Fix return types in compileall.pyi (#1273)
* add non-None return types for compileall

* fx -> rx
2017-05-17 16:05:50 -07:00
Max
df9df65882 More precise signatures in concurrent.futures (#1262)
* Allow None in concurrent.futures.exception() and set_exception()

* Make Executor.map() signature more precise

* Remove superfluous signatures

* Specify str type for some concurrent.futures constants

* Update concurrent.futures backport

* CR fixes
2017-05-14 13:55:27 -07:00
Sergey Passichenko
6207eb8cde Add args attribute to subprocess.Popen (#1267) 2017-05-14 13:41:38 -07:00
Max
c2e6a6f670 Add queue.Queue.empty() stub (#1259)
Fixes #1242. Seems like one method was omitted by accident.
2017-05-10 18:39:56 -07:00
Mahmoud Afaneh
30283aa670 Adds Event stub to multiprocessing (#1247)
* Adds Event type to multiprocessing

* Add event and context stub to multiprocessing stub.  Updates per recommendations.

* Adding missing newline at EOF.

* Stubbing just BaseContext and not any of the member functions.

* Fix flake8 extra line.

* Fix comment.

* Add todo for BaseContext, make ctx of Any type, and remove multiprocessing.context
2017-05-10 07:20:19 -07:00
Matthias Kramm
8d8a34cb83 Patch from @sfreilich: make itertools.ifilter predicate parameter Optional (#1257)
From Samuel Freilich:
In Python 2, the predicate parameter in itertools.ifilter and
itertools.ifilterfalse can be None, indicating that true or false values
should be retained (functionally equivalent to passing "bool" as the
predicate). In Python 3, filter and itertools.filterfalse have
the same behavior.
2017-05-09 17:50:11 -07:00
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
Matthew Page
0e21ac9892 Add stub for string.casefold
Exists in 3.3+
2017-05-05 11:11:25 -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
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
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
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
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
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