Commit Graph

2017 Commits

Author SHA1 Message Date
rchen152
af98a29823 Add __getslice__ to the Python 2 definition of mmap.mmap (#1812) 2018-01-04 16:16:00 -08:00
rchen152
592bdcc8a6 Fix the return type of textwrap.wrap (#1813) 2018-01-04 16:15:17 -08:00
rchen152
f6b60cb3ea A couple fixes to the io stubs. (#1811)
1. The 'name' argument to FileIO.init can be either a string or an integer: https://docs.python.org/2/library/io.html#io.FileIO
2. An mmap.mmap object can be used in most places that a bytearray can: https://docs.python.org/3.5/library/mmap.html
2018-01-04 16:14:38 -08:00
Jelle Zijlstra
fb2c7b34e2 Improve itsdangerous stubs (#1733) 2018-01-02 12:50:22 -08:00
Daniel Bowtell
bb8b9bdaec codecs.iter(en|de)code fix return type (#1807)
codecs.iterencode and codecs.iterdecode should both return Generators rather than Iterators
2018-01-02 12:49:34 -08:00
Salvo 'LtWorf' Tomaselli
c8c4a8f208 Added filelist attribute to ZipFile (#1798) 2018-01-02 10:18:03 -08:00
Jelle Zijlstra
4ee508a032 make os.scandir work as a context manager (#1787)
Rework of #1583. Fixes #1573.

See documentation in https://docs.python.org/3/library/os.html#os.scandir.
2018-01-02 10:17:38 -08:00
Thomas Broadley
2a30532f8d docs: fix typo (#1799) 2017-12-23 20:33:51 +01:00
Jelle Zijlstra
6509eee80e add util.pyi to blacklist (#1800) 2017-12-23 11:23:49 -08:00
Jelle Zijlstra
0eb7083f0e move dateutil into 2and3 (#1743)
These stubs are identical since #1735.
2017-12-23 06:38:55 -08:00
Elazar Gershuni
b41c6dafee Make Enum Iterable (etc.) only structurally (#1755)
Can't express the precise type nominally - see mypy#3210 for details

* Make self generic in __contains__
2017-12-21 13:32:10 -08:00
Anthony Sottile
03044212d4 Add typings for bool __{r,}{and,or,xor}__ (#1795) 2017-12-20 21:04:55 -08:00
Sebastian Rittau
64ca731d0b jinja2: Add Template.environment (#1789)
From the docstring for Template: "Template objects created from the
constructor rather than an environment do have an `environment`
attribute that points to a temporary environment ..."
2017-12-17 10:04:53 -08:00
Semyon Proshev
4b6b484786 Add clear method to MutableSequence in Python 3 (#1765) 2017-12-15 19:37:43 -08:00
Alex Dehnert
8404a62231 requests: add more accurate stubs for certain fields of the Session object (#1504)
* requests: allow strings in Session.verify

Per the documentation[1] (and actual usage), the verify parameter can be a
string or a bool.

[1] http://docs.python-requests.org/en/master/user/advanced/#ssl-cert-verification

* requests: explicitly support AuthBase for Session.auth

According to the documentation, the auth parameter should be an AuthBase
subclass[1].  In practice, the actual requirement seems to just be a
Callable[[Request], Request], and AuthBase implements that with the __call__
method. However, mypy isn't currently smart enough to infer that __call__
implies Callable[2]. In the interim (and perhaps also to add clearer errors),
explicitly support AuthBase.

Additionally, this adds typing of AuthBase.__call__, to match the
Callable[[Request], Request] declaration used elsewhere.

[1] http://docs.python-requests.org/en/master/user/advanced/#custom-authentication
[2] https://github.com/python/mypy/issues/797
2017-12-14 21:05:28 -08:00
Ashwini Chaudhary
c5439668fe Added stub for sre_compile(2and3) (#1493) 2017-12-14 20:52:54 -08:00
gossrock
cb1d150092 Improvements to stdlib/3/_curses.pyi - take 3 (#1772)
* Added missing annotation for start_color() and wrapper() functions

* 1) Changed Optional types to be optional arguments (checked documentation and manual experiments to make sure I was doing it right)

2) Modified format to match CONTRIBUTING.md conventions

3) corrected a few missing return types or other mistaken type
annotations
2017-12-14 20:38:39 -08:00
Roy Williams
1dccd1fdc4 Allow requests.post to accept Dict[str, str] for data. (#1777)
* Allow `requests.post` to accept `Dict[str, str]` for `data`.

For example:

```python
import requests
requests.post('https://www.foo.bar', data={'hello': 'world'})
```

Failes to type check in Python 2 even though it's fine.

* Explode str/Text combinations

* Fix lint

* Simplify iterable parameter for data
2017-12-14 20:36:21 -08:00
Sebastian Rittau
398401baee werkzeug: Mark BaseRequest.data as property (#1785) 2017-12-14 20:35:29 -08:00
Alan Du
7c4765357a Make requests.Response.iter_content allow None (#1784)
* Make requests.Response.iter_content allow None

According to the docstring:
> chunk_size must be of type int or None

* Combine and alphabetize import statement
2017-12-13 14:25:32 -08:00
Semyon Proshev
a1e85be4c9 Add __int__ to uuid.UUID (#1783) 2017-12-13 08:20:47 -08:00
Neil Conway
46125886c0 argparse: Add annotations for instance variables. (#1763) 2017-12-12 15:10:31 -08:00
Roy Williams
10a76c1fdd Export Connection and TableConnection from pynamodb.connection (#1779)
It looks like in recent versions of mypy this stopped being exported.
2017-12-07 14:35:13 -08:00
Elazar Gershuni
97fb265a4c Avoid over-constraining selftype of EnumMeta (#1770)
This is needed for python/mypy#4311, and is sound.
2017-12-04 11:21:57 -08:00
Neil Pilgrim
fc10a94db1 Distutils improvements to cmd.pyi and log.pyi (#1748)
* Add more functions to distutils.cmd.Command.

* Add detail to distutils.log, previously an empty file.
2017-11-27 15:47:04 -05:00
Tim Abbott
c1971fb443 imaplib: Fix annotation for search. (#1762)
* imaplib: Fix annotation for search.

https://docs.python.org/3/library/imaplib.html#imaplib.IMAP4.search
shows that IMAP4.search takes a number of str args, not a number of
List[str] args (I can see how one would be confused, though, because
of the *criteria).

* imaplib: Fix annotation for store.

While it's called "flag_list",
https://docs.python.org/3/library/imaplib.html#imaplib.IMAP4.store
clearly shows it's expecting a string with a list of flags in it, not
a Python list.
2017-11-25 13:23:57 -08:00
Semyon Proshev
b0d9752a1c Make func in builtin map optional in Python 2 (#1751)
* Make `func` in builtin `map` optional in Python 2

* Add `map` overloads with `None` `func` in Python 2
2017-11-22 07:57:07 -08:00
Sebastian Rittau
622e744f3e Extract WSGIEnvironment and change value type to Any (#1745)
* Extract WSGIEnvironment in wsgiref.types

* Change value type of WSGIEnvironment to Any

Per PEP 3333, a WSGI environment can contain anything, not just strings.
2017-11-21 17:00:49 -08:00
Masayuki Yamamoto
39eefa544c Fix parameters of socketserver.BaseServer.finish_request() (#1754)
See also: python/cpython#4445
2017-11-21 16:42:05 -08:00
rchen152
8753fc78df Add setUpClass and tearDownClass to unittest.TestCase in Python 2 stub (#1760) 2017-11-21 16:39:11 -08:00
gossrock
15983ffc51 Add LINE and COL definitions to /stdlib/3/curses/__init__.py (#1757)
Fixes #1596
2017-11-20 13:44:20 -08:00
Ivan Levkivskyi
ec2cb8e44f Convert selected ABCs to Protocols (#1220) 2017-11-19 08:52:16 -08:00
Ben Leslie
7806420105 Fix missing colon in StreamHandler.stream type annotation (#1753)
The missing colon in the variable type annotation means that the type of stream is currently incorrectly determined to be of type ellipsis, rather than IO[str].
2017-11-18 15:57:55 -08:00
Guido van Rossum
821c765991 Several packages always auto-import certain submodules on import (#1752)
* Importing yaml implies yaml.resolver

* Importing six implies six.moves

* Importing requests implies requests.packages
2017-11-17 15:15:40 -08:00
Ethan Smith
7737e519a3 Add __dict__ to object in Python 2 (#1746)
Use str as key type for __dict__
2017-11-16 08:44:48 -08:00
Semyon Proshev
7c11ae03de Add __qualname__ to functions and methods (#1750) 2017-11-16 08:37:36 -08:00
Semyon Proshev
3029357ad7 Add unicode.__rmul__ (#1749) 2017-11-16 08:31:55 -08:00
Sebastian Steenbuck
8b56c1e59a Add all the files which pytype fails on during import. (#1720)
All of these files can not be used with pytype at HEAD. They fail during import with various error messages. Make the test script actually load the files and all dependencies of it, instead of just verifying that it can be parsed.

This list was generated by running pytype with more options.
1: typeshed-location was pointed to the current typeshed instead of the one shipped with pytype.
2: --module-name=<foo> was provided as a parameter. Without this parameter wildcard imports "from _ast import *" misbehave.

Files with a "# parse only" comment will only be parsed and not loaded.
2017-11-15 06:29:07 -08:00
Jelle Zijlstra
533a05be45 Fix some of the last default values that are not ... (#1731)
* still one left in atomicwrites that I need to investigate further
* fix atomicwrites
2017-11-13 07:08:30 -08:00
Jelle Zijlstra
69bffd154a Fix default values in click stubs to ... (#1734) 2017-11-13 07:07:20 -08:00
Jelle Zijlstra
8e75701eda make Python 2 and 3 dateutil stubs identical (#1735)
So that they can be merged into 2and3. This PR also adds a few missing
elements to parser.pyi and corrects some mistakes in the Python 3 stub.

Refer to https://github.com/dateutil/dateutil/tree/master/dateutil
2017-11-13 07:06:34 -08:00
Jelle Zijlstra
84d0cbf776 move thrift to 2and3 (#1736)
thrift supports Python 3 as of version 0.10.0. These stubs are pure stubgen and
might not be much good, but they belong in 2and3.
2017-11-13 07:05:57 -08:00
Jelle Zijlstra
bcfd3bf554 Fill out croniter stubs and move to 2and3 (#1737)
* fill out croniter stub
* move to 2and3
2017-11-13 07:05:38 -08:00
Patrick Valsecchi
d62743d788 Make traceback.FrameSummary Iterable (#1741)
To make this code valid:
```python
import traceback
for filename, lineno, name, line in traceback.extract_stack(stack):
    pass
```
2017-11-13 07:05:16 -08:00
Jelle Zijlstra
83ca997140 Change more defaults to ... (#1729)
* codemod ': Any = None' ': Any = ...'
* codemod ': (Union|Optional)([^=]+)\s+=\s+-?\d+' ': \1\2 = ...'
* codemod ': (Union|Optional)([^=]+)\s*=\s*-?(None|False|True)' ': \1\2 = ...'
* codemod ': (int|float|bool)\s*=\s*-?\d+' ': \1 = ...'
* codemod ': (bool)\s*=\s*(False|True)' ': \1 = ...'
* codemod ': Any\s*=\s*(False|True|None)' ': Any = ...'
2017-11-13 06:56:24 -08:00
Jelle Zijlstra
0080017d02 fill out bz2 stub (#1728)
- add a default value to ...
- add some missing version checks
- add some missing arguments
2017-11-13 06:55:43 -08:00
Nathan Henrie
87fca814b1 addr should be Tuple[str, int], not str (#1740)
I think `addr` here should also be  `Tuple[str, int]`, the same change made to `sendto` in [this pr merged a few months ago](0e26c1f936 (diff-d21efb8da2d73c6c7c769270b387cd47)).
2017-11-12 23:14:16 -08:00
Alex Willmer
55f15427bd Refine stdlib commands module (add mkarg(), mk2arg(), correct get*()) (#1739) 2017-11-12 22:44:51 -08:00
FichteFoll
a44de46a00 use_builtin_types is optional for plistlib.load (#1738) 2017-11-11 16:54:11 -08:00
Jelle Zijlstra
97be335160 don't import enum in Python 2 (#1724)
* don't import enum in Python 2

Fixes a pytype issue from #1720.

* move enums together
2017-11-10 10:23:22 -08:00