Commit Graph
42 Commits
Author SHA1 Message Date
Lukasz Langa 0b1f5db630 Remove spurious whitespace 2017-06-02 12:53:38 -07:00
Lukasz Langa c88d865520 Missing variable annotations were failing mypy tests 2017-01-24 15:21:55 -08:00
Lukasz Langa 5d1a162db9 Mention CONTRIBUTING.md updates on stub versioning in the README
This makes the README less wordy and makes the information more consistent by
just storing it in a single place.
2017-01-20 11:49:55 -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
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
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
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
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
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
Lukasz Langa d2c0f83a72 Introduce flake8 configuration.
This is currently disabled due to the high number of errors that need fixing.
I'll be committing fixes for them and updating the numbers in .flake8 until we
can enable linting for all files by default.
2016-12-19 21:27:41 -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
Lukasz Langa d1081b94ee [logging] Fix forward references 2016-11-30 10:48:10 -08:00
Lukasz Langa 16c3af3068 Update README.md to mention 3.6 and --fast-parser 2016-11-26 20:27:50 -08:00
Lukasz Langa 5145a1119d Complete stubs for Click 6.6 on Python 3.
Put under 3.6 as they use the wonderful PEP 526 syntax for annotating
class/instance members.
2016-11-26 20:19:51 -08:00
Lukasz Langa ab4ad3fe9d Make tests run with 3.6 --fast-parser, too 2016-11-26 20:17:28 -08:00