Commit Graph
86 Commits
Author SHA1 Message Date
Jelle ZijlstraandMatthias Kramm 0eb7083f0e move dateutil into 2and3 (#1743)
These stubs are identical since #1735.
2017-12-23 06:38:55 -08:00
Sebastian RittauandJelle Zijlstra 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
Alex DehnertandJelle Zijlstra 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
Roy WilliamsandJelle Zijlstra 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
Alan DuandJelle Zijlstra 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
Roy WilliamsandJelle Zijlstra 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
Guido van RossumandJelle Zijlstra 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
Jelle ZijlstraandMatthias Kramm 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 ZijlstraandMatthias Kramm 69bffd154a Fix default values in click stubs to ... (#1734) 2017-11-13 07:07:20 -08:00
Jelle ZijlstraandMatthias Kramm 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 ZijlstraandMatthias Kramm 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
Jelle ZijlstraandMatthias Kramm 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 ZijlstraandMatthias Kramm 324f1761f4 Change more defaults to ... (#1727) 2017-11-09 10:32:17 -08:00
Jelle ZijlstraandMatthias Kramm 54dd6ba27c Change numerous default values to ... (#1722)
This is the convention, and some default values (e.g. strings) apparently
break pytype.
2017-11-09 06:28:40 -08:00
Brandon W MaisterandJelle Zijlstra a1238294d7 Remove unnecessary optionality for requests.Session (#1658)
Current code that initializes the things I've changed, to demonstrate that the
object is initialized this way:

* headers: https://github.com/requests/requests/blob/9713289e74/requests/sessions.py#L345
* proxies: https://github.com/requests/requests/blob/9713289e74/requests/sessions.py#L354
* hooks: https://github.com/requests/requests/blob/9713289e74/requests/sessions.py#L357
* params: https://github.com/requests/requests/blob/9713289e74/requests/sessions.py#L362
* cookies: https://github.com/requests/requests/blob/9713289e74/requests/sessions.py#L388

from what I can tell nothing in the official requests API ever creates a
session other than through `__init__`.
2017-11-08 19:53:56 -08:00
Grzegorz ŚliwińskiandJelle Zijlstra 9439ec4e4f click.echo message arg type to follow click's documentation (#1698)
str is not unicode on Python 2 while Text is a proper alias for unicode on python 2 and str on python 3

closes #1691
2017-11-08 19:41:36 -08:00
FichteFollandJelle Zijlstra f933b9384c Refine str.maketrans and str.translate (#1613)
str.translate requires a Mapping or Sequence (in essence, anything
with __getitem__), not a Dict.

str.maketrans in the one-argument form only converts character string
keys to their unicode ordinal, leaving any of the values untouched.
This mapping may use both integers or strings as keys at the same time.

str.maketrans in the multi-argument form returns a dict with any of the
values str, int or None, as recognized by str.translate.
2017-11-07 18:55:05 -08:00
Grzegorz ŚliwińskiandJelle Zijlstra 81191e49a3 click.*option function parameter to accepts bool and Text (#1699)
This follows documentation and code which allows to use both bool and Text.
Update all the prompt arguments for all *option functions in click.decorators module
since they're mostly proxying the call to option setting desired defaults.

closes #1693
2017-11-03 22:52:12 -07:00
Patrick ValsecchiandJelle Zijlstra aafa556a10 Add context manager methods to requests.Response (#1701)
* Add context manager methods to requests.Response

* Simplified the requests.Response.__exit__ signature
2017-11-01 08:19:43 -07:00
Guido van RossumandGitHub 77c06d411c Remove type annotation from some Loader args (#1695)
There were two problems AFAICT:
- There are multiple Loader classes without a common base class,
  so this should really be a union or a protocol.
- The argument is supposed to be a class, not an instance.

Rather than figuring out a fix (which would probably require some
nasty refactoring) I'm just going back to the old situation where
these arguments are implicitly annotated with `Any`.

See also https://github.com/python/typeshed/pull/1657#pullrequestreview-72049880
2017-10-27 09:30:16 -07:00
Ilya KonstantinovandJelle Zijlstra ab9733b448 Support for response hooks in requests (#1674) 2017-10-26 10:56:05 -04:00
Ilya KonstantinovandJelle Zijlstra 9a10c74345 requests.Session.headers and proxies not optional (#1676)
```
>>> import requests
>>> s = requests.session()
>>> s.headers
{'User-Agent': 'python-requests/2.18.4', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}
>>> s.proxies
{}
```
2017-10-25 16:50:59 -04:00
Wilfred HughesandMatthias Kramm 72e24b8443 Add basic type annotations for YAML load functions (#1657)
These are probably the most common YAML functions, so this should be useful even without type declarations on the rest of the package.
2017-10-20 10:18:47 -07:00
rymdhundandJelle Zijlstra feac49ac7f requests.post data arg accepts an iterable of tuples (#1660) 2017-10-10 08:16:38 -07:00
Max RozentsveygandJelle Zijlstra c68dcf1870 Add definitions for boto/utils.py (#1579) 2017-10-04 21:44:10 -07:00
LloydandJelle Zijlstra 6c0fa96e4c Add pymysql.connections.Connection#begin(self) stub (#1636) 2017-10-03 12:05:51 -07:00
Jonathan SchoonhovenandJelle Zijlstra dc46a435da allow all valid JSON in pynamodb JSONAttribute (#1604)
Currently, the type definition for `JSONAttribute` assumes the deserialized value will be a `dict`. However, a `list` is also a valid `JSONAttribute` (its [deserialize](https://github.com/pynamodb/PynamoDB/blob/495eae28679c781afc27f7d2d8c417e2302ed2a1/pynamodb/attributes.py#L418) method just calls `json.loads`.
2017-09-22 06:57:51 -07:00
Tim CrawfordandJelle Zijlstra 341237339c requests: Add return type for __init__ methods (#1574) 2017-08-25 20:34:56 -07:00
Ivan LevkivskyiandŁukasz Langa 42e2142f28 Add Protocol and runtime to typing_extensions (#1564)
* Add Protocol and runtime to typing_extensions

* Use private type variable

* Fix typo

* Bound type variable for runtime to only class objects

* Conform to version check specification
2017-08-21 13:22:48 -07:00
Ashwini ChaudharyandJelle Zijlstra 46a73bb2e8 Added private method _basic_auth_str to stub for requests (#1514) 2017-08-11 17:11:28 -07:00
Zack HsiandJelle Zijlstra 6031b37be9 Add select_autoescape to jinja2 (#1530)
Fixes https://github.com/python/mypy/issues/3589.
2017-08-07 17:19:45 -06:00
Pavel PletenevandGuido van Rossum b2df503cde Add type annotations for emoji (#1506)
This adds type annotations for [`emoji` library](https://github.com/carpedm20/emoji/)
2017-08-03 16:12:50 -07:00
Svyatoslav IlinskiyandGuido van Rossum 7a580ed0a9 Re-export values for click library (#1516)
That way they can be used as
```
import click
click.<value>
```
2017-08-03 15:58:02 -07:00
Michael LeeandJelle Zijlstra 1e04a8c1b8 Add stubs for typing_extensions module (#1471) 2017-07-23 12:19:49 -07:00
Jelle ZijlstraandŁukasz Langa 1515ed9f88 fix some abstract classes in third_party/ (#1486) 2017-07-19 20:27:22 +03:00
Ivan LevkivskyiandJelle Zijlstra d75ea88da5 Use 'as name' patter to re-export names from stubs (PEP 484) (#1484) 2017-07-14 21:31:53 -07:00
Roy WilliamsandJelle Zijlstra 7720a90bde Add stubs for pynamodb (#1431)
Approval here: https://github.com/pynamodb/PynamoDB/issues/209
2017-07-03 14:11:22 -07:00
Teemu RandJelle Zijlstra 218ce96871 PyYaml: uncomment commented out imports and add missing classmethod decorators (#1439)
* uncomment yaml imports

* yaml: decorate classmethods
2017-06-30 22:22:55 -07:00
Jukka LehtosaloandJelle Zijlstra 9b612c9218 Add TypedDict total argument (#1443)
See https://github.com/python/mypy/pull/3558 for context.
2017-06-29 08:38:13 -07:00
Max RozentsveygandJelle Zijlstra d3f9c55203 Add type stub for requests.packages.urllib3.util.connection.HAS_IPV6 (#1436)
This is defined at https://github.com/requests/requests/blob/v2.14.2/requests/packages/urllib3/util/connection.py#L130
2017-06-26 11:52:24 -07:00
Guido van RossumandGitHub 81f77b17ec Remove double Optional[] (#1423) 2017-06-21 09:54:40 -07:00
Guido van RossumandJelle Zijlstra 04fe184dcf Add flags to pass on --warn-unused-ignores and --no-implicit-optional to mypy (#1421)
* Add flags to pass on --warn-unused-ignores and --no-implicit-optional to mypy
* Make implicit Optional explicit in arg types (2and3 part)
* Convert {stdlib,third_party}/2 to explicit Optional
2017-06-20 22:18:49 -07:00
Thomas GraingerandMatthias Kramm 55f1883928 requests.(post|put|patch) json kwarg should be Any. (#1387)
```python
>>> requests.post('https://httpbin.org/post', json=["ham", "spam", {"eggs": "bacon"}]).json()
{'args': {}, 'data': '["ham", "spam", {"eggs": "bacon"}]', 'files': {}, 'form': {}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Connection': 'close', 'Content-Length': '34', 'Content-Type': 'application/json', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.17.3'}, 'json': ['ham', 'spam', {'eggs': 'bacon'}], 'origin': '82.70.100.78', 'url': 'https://httpbin.org/post'}
>>> requests.post('https://httpbin.org/post', json=("ham", "spam", {"eggs": "bacon"})).json()
{'args': {}, 'data': '["ham", "spam", {"eggs": "bacon"}]', 'files': {}, 'form': {}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Connection': 'close', 'Content-Length': '34', 'Content-Type': 'application/json', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.17.3'}, 'json': ['ham', 'spam', {'eggs': 'bacon'}], 'origin': '82.70.100.78', 'url': 'https://httpbin.org/post'}
```
2017-06-08 11:53:26 -07:00
Alex KhomchenkoandMatthias Kramm 25b3a818d3 add required to click.option decorator (#1397) 2017-06-08 11:52:25 -07:00
Michael LeeandŁukasz Langa d25c5b9ce4 Move stubs for 'click' into 2and3 folder (#1364) 2017-06-02 11:01:24 -07:00
Yusuke MiyazakiandJelle Zijlstra 2b79108ddc Fix stub for ujson (#1374) 2017-05-30 23:20:40 -07:00
Jelle ZijlstraandGuido van Rossum 4f2dd0f446 remove unused type ignore flags (#1346)
Verified that none of those are necessary for pytype.
2017-05-26 08:28:51 -07:00
Emily MorehouseandGuido van Rossum 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
Jelle ZijlstraandMatthias Kramm 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
Naomi SeyferandJukka Lehtosalo c96a64d421 Remove second empty line in mypy_extensions (#1237) 2017-05-02 21:41:23 +01:00