Commit Graph

143 Commits

Author SHA1 Message Date
Lukasz Langa
c88d865520 Missing variable annotations were failing mypy tests 2017-01-24 15:21:55 -08:00
Alexey
ccdc609706 Update sqlalchemy stubs (#857)
I believe this covers both #647 and #719.

Moved sqlalchemy stubs from 2 to 2and3;
changed sqlalchemy/util/compat.pyi:37 to be of type typing.Text;
added incomplete stubs for sqlalchemy.orm.utils and slqalchemy.sql.elements.ColumnElement.
2017-01-23 15:56:30 -08:00
Adam Marszałek
6178ed3201 Expansion of unions inside params definition (#848)
Due to `Dict` / `Mapping` invariance it's necessary to include other variants of `Union[str, bytes], Union[str, bytes]`.
2017-01-20 09:09:22 -08:00
Jukka Lehtosalo
c577c84a17 Add stub for cryptography.hazmat.primitives.serialization (#851)
This makes the stubs for cryptoraphy less incompelete. Created using
stubgen. I don't know what the types are.
2017-01-20 07:40:30 -08:00
Alexey
741dd37422 Update annotations in requests.api for Python 3 (#849)
* Update annotations for requests.api.get

Argument params of requests.api.get accepts not only dictionaries of str, str pairs, but dictionaries and tuples of various types.
2017-01-19 14:09:58 -08:00
Alexey
2195b9d297 Update annotations for requests.api (#844)
Argument params of requests.api.get accepts not only dictionaries of str, str pairs, but dictionaries and tuples of various types.
2017-01-18 11:32:18 -08:00
Roy Williams
aa6a1c53c9 Add stubs for dateutil.tz (#839) 2017-01-17 15:54:15 -08:00
Russ Allbery
fd4abe5fc3 Add full Python 2 type stubs for OpenSSL.crypto
Also adds the bare minimum of stubs for
cryptography.hazmat.primitives.asymmetric to define the types
referenced here.  (cryptography is a full project in its own right,
with lots of types and internal references.)

This tries to use bytes in places where the module documentation
emphasized that this was opaque bytes and str for arguments and
return values that the module seemd to be treating as regular Python
strings, even though this distinction is not horribly meaningful for
Python 2.
2017-01-13 09:44:37 -08:00
Ryan C. Thompson
d18484095e atomicwrites: add pyi file (#705)
Authorized by atomicwrites author here:
https://github.com/untitaker/python-atomicwrites/pull/23#issuecomment-260422021
2017-01-09 15:13:48 -08:00
David Fisher
2cb8e184cc Add NoReturn (#811)
* Add NoReturn
2017-01-04 13:38:05 -08:00
Roy Williams
844b32cc64 Fixup types 2017-01-03 10:17:20 -08:00
Roy Williams
7fd08cf073 Add more type information to requests.PreparedRequest 2017-01-03 10:17:20 -08:00
Roy Williams
c34f11d569 Add more specific types to protobuf 2017-01-01 11:31:03 -08:00
Alex Jurkiewicz
f8717ccfc4 Add support for request.get's 'params' param (#770)
* Add support for request.get's 'params' param

Requests defines the following API:
`get(url, params=None, **kwargs)`

* Improve typing for requests.get(params)

Add support for string form, and tighten restrictions for the dict form
to allow only string keys/vals. Technically, anything is allowed since
the code (I guess) runs `str(key)` and `str(value)`, but it seems better
to keep the stub somewhat strict so it can help pick up potential
errors.
2016-12-28 11:24:03 -08:00
Mateusz Kurek
43f18bc830 Use specific types in dateutil.relativedelta stubs
Improve operator methods for dateutil.relativedelta stubs:
* `__add__` operator method could return other types than `relativedelta` (`datetime.date` or `datetime.datetime`)
* use specific types of operators args instead of Any
* mypy currently does not handle `Union` in op methods (see python/mypy#2129, python/mypy#1442, python/mypy#1264 for details), so I've overloaded it directly
2016-12-28 11:18:03 -08:00
David Euresti
8a8680371a Fix type for six.reraise to make it match sys.exc_info()
The docs for six say the simple case is `reraise(*sys.exc_info())`
2016-12-28 11:15:27 -08:00
Nicolas Duchastel de Montrouge
79c3a40a3a add missing constants (#791)
* add missing constants
* fix spaces for linter and remove duplicate entries
2016-12-24 20:44:57 -08:00
Guido van Rossum
231f00d7da Fix boto stubs.
Replace two `FIXME` comments with `type: ignore`.
See https://github.com/python/mypy/issues/1237.
2016-12-24 09:06:38 -08:00
Alex Jurkiewicz
8e9c53f1db Add basic stub for characteristic (#771)
See https://characteristic.readthedocs.io/en/stable/
2016-12-23 19:11:34 -08:00
Lukasz Langa
7853c26f79 Add missing Dict, List, Set, Tuple imports. 2016-12-22 16:12:04 -08:00
Lukasz Langa
937a3ca3fe Remove trailing whitespace 2016-12-22 15:59:29 -08:00
Lukasz Langa
4084296f3f Exclude boto from tests due to broken Liskov Substitution Principle
Starting with python/mypy#2521 mypy is performing stricter function signature
checks.

This makes the stubs diverge from the actual implementation but makes the stubs
internally consistent.  Since this is an actual typing issue in the base
implementation, we need to defer to the original authors to fix it.

Sadly, in this case the breakage is rather fundamental and unlikely to get
fixed by upstream. Consider:

```
  class AWSAuthConnection(object):
    def make_request(self, method, path, headers=None, data='', host=None,
      auth_path=None, sender=None, override_num_retries=None,
      params=None, retry_handler=None): ...

  class AWSQueryConnection(AWSAuthConnection):
    def make_request(self, action, params=None, path='/', verb='GET'): ...
```

Hence, until we have a workaround for the error produced by Mypy, we're
excluding those stubs from being tested against.
2016-12-22 15:54:20 -08:00
Lukasz Langa
576ada74c6 Temporary workaround for pallets/werkzeug#1052
Starting with python/mypy#2521 mypy is performing stricter function signature
checks.

This makes the stubs diverge from the actual implementation but makes the stubs
internally consistent.  Since this is an actual typing issue in the base
implementation, we need to defer to the original authors to fix it.
2016-12-22 14:54:26 -08:00
Lukasz Langa
27f4185d06 Temporary workaround for pallets/werkzeug#1051
Starting with python/mypy#2521 mypy is performing stricter function signature
checks.

This makes the stubs diverge from the actual implementation but makes the stubs
internally consistent.  Since this is an actual typing issue in the base
implementation, we need to defer to the original authors to fix it.
2016-12-22 14:40:50 -08:00
Lukasz Langa
4c6c2737b0 Temporary workaround for pallets/itsdangerous#74
Starting with python/mypy#2521 mypy is performing stricter function signature
checks.

This makes the stubs diverge from the actual implementation but makes the stubs
internally consistent.  Since this is an actual typing issue in the base
implementation, we need to defer to the original authors to fix it.
2016-12-22 14:26:29 -08:00
Roy Williams
7c706e1100 Move boto to 2and3, add stubs for s3
I've added types for the functions we've been using internally, will expand in the future.
2016-12-22 11:23:36 -08:00
Lukasz Langa
38dd402b99 Fix broken imports in routes/__init__.pyi
This is needed by #786.
2016-12-21 17:26:40 -08:00
Lukasz Langa
231ed7bb89 Fix broken imports in redis/__init__.pyi
This is needed by #786.
2016-12-21 17:24:31 -08:00
Lukasz Langa
cfe1cbb426 Add missing import in werkzeug stubs.
This is needed by #786.
2016-12-21 17:20:01 -08:00
Lukasz Langa
609b2486d1 Add missing Optional import. 2016-12-21 01:18:34 -08:00
Lukasz Langa
c0c982ada5 Add missing Dict imports. 2016-12-21 01:15:26 -08:00
Lukasz Langa
5f416fae64 Add missing List imports. 2016-12-21 01:06:52 -08:00
Lukasz Langa
82b2d8e3bc Fixing flake8 F403, F405 errors 2016-12-20 02:28:12 -08:00
Lukasz Langa
99a57e5cbe Fixing flake8 E251 errors 2016-12-20 01:54:34 -08:00
Lukasz Langa
68a49c2c2e Fixing flake8 E111, E114, E116, E203, E225, E262 errors 2016-12-20 01:39:18 -08:00
Lukasz Langa
ad9038dcd7 Fixing flake8 E303 errors 2016-12-20 01:08:00 -08:00
Lukasz Langa
6eb97964fd Fixing flake8 E401, E402 errors 2016-12-20 00:47:51 -08:00
Lukasz Langa
147772950f Fixing flake8 E265 errors 2016-12-20 00:16:44 -08:00
Lukasz Langa
5b6a9937b2 Fixing flake8 E266 errors 2016-12-20 00:06:36 -08:00
Lukasz Langa
6b5c6626d6 Fixing flake8 E121, E122, E123, E124, E125, E126 errors 2016-12-19 23:53:19 -08:00
Lukasz Langa
67e38b6806 Fixing flake8 E231 errors 2016-12-19 23:53:19 -08:00
Wesley Bowman
93ec300dd4 added a few types to simplejson's dumps to match dump (#781)
* added a few types to simplejson's dumps to match dump
* fixed the fp option on dumps
2016-12-19 23:52:22 -08:00
Lukasz Langa
fe0e3744cc Fixing flake8 E261 errors 2016-12-19 22:09:35 -08:00
Lukasz Langa
b84f20a011 Fixing flake8 W errors 2016-12-19 21:52:56 -08:00
Roy Williams
89da3a4159 Move Crypto to 2and3 and generate rest of stubs. (#782)
I implemented strong types for Crypto.Cipher
2016-12-19 20:13:51 -08:00
Lukasz Langa
2058ae30ab Proper singledispatch type definitions
Correctly detects calls to `register()` with a function of incompatible return
type.  Correctly recognizes the `register()`, `dispatch()`, and
`_clear_cache()` methods on a generic function, as well as the `registry`
mapping.

Possible future improvements: it would be amazing if `register()` checked if
the first argument of the registered callable is indeed of valid type. This
would require Callable[] to support varargs.  It would also be great if we
could read the arguments of the remaining arguments during `@singledispatch()`
and cross-check them during `register()` with the currently registered
implementation. Again, this would require Callable[] to become much more
advanced.
2016-12-19 12:54:08 -08:00
Tom Manderson
5dbc7d1db6 Py2 SQLAlchemy: Move some TypeEngine functions from subclasses to TypeEngine (#724) 2016-12-13 15:38:55 -08:00
Matthias Kramm
79061f9de2 move simplejson from stdlib/ to third_party/ (#752) 2016-12-06 17:43:47 -08:00
Naomi Seyfer
64124376aa Make a few types in werkzeug more compatible with base types (#730)
* Make a few types in werkzeug more compatible with base types

* Keyword arguments to __delitem__ were private to implementation so can be left out
2016-12-06 16:14:46 -08:00
Bertrand Bonnefoy-Claudet
f447cbdc89 Fix resource_string type: from str to bytes (#734)
Fixes #733
2016-12-05 11:20:16 -08:00