Commit Graph

1397 Commits

Author SHA1 Message Date
z33ky
93bb4604cb Add special methods for object (#774)
* Add special methods for object

* Add __format__ to 2/__builtin__.pyi too

* Remove redundant __format__ from float.
2017-01-04 13:52:51 +00:00
Cadel Watson
5f98dbb4bf Create stubs for the secrets module in Python 3.6 2017-01-03 18:26:21 -08:00
Jason Fried
61cdd4b7ae AbstractEventLoop missing methods from 3.4.2 and up. (#798)
* Update asyncio/events.pyi for python 3.5.2
create_future, create_task, set_task_factory, get_task_factory
* Gate create_future to >= (3, 5)
2017-01-03 11:05:04 -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
Guido van Rossum
b78eb48b26 Make unittest.removeHandler() an overloaded function.
See https://docs.python.org/3/library/unittest.html#unittest.removeHandler

- Without args it removes the signal handler.
- With a function arg it is a test decorator that temporarily removes
  the handler while the test is running.
2017-01-03 10:15:30 -08:00
lionel-github
f775ef3bc5 Fix RawConfigParser.read stub for Python 2. (#808)
Bring it in line with the stub used in the Python 3 version.
2017-01-02 15:36:03 -08:00
Guido van Rossum
94641f5a84 Revert "Make all single-constraint TypeVars to use bounds" (#806)
Reverts python/typeshed#804.

Reason: until python/mypy#1551 is fixed this gives an error whenever @skip() is used.

Specifically see https://github.com/python/typeshed/pull/804#issuecomment-269926655.
2017-01-01 16:35:50 -08:00
Michael Lee
b46366e77d Make all single-constraint TypeVars to use bounds
According to the documentation in the typing module, TypeVars cannot
have only a single constraint. Attempting to do so will actually result
in an exception at runtime. (However, this error is currently ignored
by mypy -- see https://github.com/python/mypy/pull/2626 for a related
pending pull request).

This commit changes all instances of TypeVars using a single constraint
(e.g. `T = TypeVar('T', Foo)`) to use bounds instead (e.g.
`T = TypeVar('T', bound=Foo)`.

This seems to be the correct fix for plistlib after reading the module
docs, but it's less obvious this is correct for unittest. The unittest
module originally had `_FT = TypeVar('_FT', Callable[[Any], Any])` -- an
alternative fix would have been to do `_FT = Callable[[Any], Any]`.

Although I'm not entirely sure what it means to have a bound be a
Callable, I decided to make the assumption that the original authors
probably meant to use TypeVars instead of type aliases for a reason
(possibly to handle classes implementing `__call__`?)
2017-01-01 11:34:19 -08:00
Roy Williams
c34f11d569 Add more specific types to protobuf 2017-01-01 11:31:03 -08:00
Alex
6a15963e7d Add math.tau to typeshed (#801)
As per https://www.python.org/dev/peps/pep-0628/
2016-12-29 10:17:40 -08:00
Lukasz Langa
bbc7594ec7 Add Flag, IntFlag and auto to enum stubs
Fixes python/mypy#2609
2016-12-28 11:34:56 -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
gotyaoi
37dff4d8bc Update _curses.pyi
First pass at types for curses functions.
2016-12-28 11:13:57 -08:00
Jason Fried
562ab18792 Update weakref.pyi
ReferenceType __init__ method missing self
2016-12-28 10:24:50 -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
Łukasz Langa
08432484d5 CONTRIBUTING.md (#790)
Fixes #772.
2016-12-24 08:46:08 -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
25a46f42be Switch to Python 3.6 for flake8 runs, re-enable E999 checks 2016-12-22 16:02:46 -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
4466a225a6 Upgrade to flake8-pyi 16.12.1
Fixes #786.
2016-12-21 17:30:57 -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
092b15e3e9 Mark 92 F821 to go. 2016-12-21 01:31:12 -08:00
Lukasz Langa
609b2486d1 Add missing Optional import. 2016-12-21 01:18:34 -08:00
Lukasz Langa
bacd6c0aed Add missing Set imports. 2016-12-21 01:17:55 -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
8c5c788a4d Enable flake8-pyi plugin to automatically include *.pyi files
This simplifies running flake8 tests and reduces the amount of F821 errors
reported (flake8-pyi enables support for forward references in *.pyi files).
The error code is left disabled until I clean up the remaining issues.
2016-12-21 00:56:01 -08:00
Lukasz Langa
52d9f815dd Remove spurious out/ directory. 2016-12-20 09:53:47 -08:00
Thomas Aynaud
740c8921a5 Style fixes on bz2 2016-12-20 09:07:15 -08:00
Lukasz Langa
79d8757f1f Enable flake8 tests
Ran both by Travis and locally. There's some setup required, README updated.
A few important Flake8 checks are still disabled, we're going to enable them as
soon as the stubs are fixed and we can reliably run Flake8 locally with Python
3.6.
2016-12-20 04:07:44 -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
6e2709906b Fixing flake8 B errors 2016-12-20 01:17:38 -08:00
Lukasz Langa
ad9038dcd7 Fixing flake8 E303 errors 2016-12-20 01:08:00 -08:00
Lukasz Langa
d70bb0c00f Fixing flake8 E202, E203, E225 errors 2016-12-20 01:02:59 -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