aboutsummaryrefslogtreecommitdiff
blob: a6c11b38c0aed01f3a0add30f86b55837d0bb4de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
[flake8]
select =
    # pycodestyle
    E, W
    # pyflakes
    F

ignore =
    E501  # line length
    E502  # redundant backslashes
    E111, E114, E115, E116, E117, E121, E122, E124, E125, E126, E127, E128, E129, E131  # indents
    E203, E221, E222, E225, E226, E227, E228, E231, E241, E242, E251  # whitespace around operators
    E261, E262, E265, E266  # whitespace on comments
    E271, E272  # whitespace around keywords
    E301, E302, E303, E305, E306  # newlines between classes/functions
    E123  # bracket alignment
    E401, E402  # import conventions
    E731  # assigning lambdas
    E741, E742, E743  # ambiguous names
    E721  # use isinstance to compare types
    E722  # bare except
    F822  # Undefined name in __all__ (usually because globals() is hacked)
    F841  # unused variable
    E201, E202, E211  # whitespace near brackets - TODO: maybe fix?
    F403, F405  # * imports
    F811  # redefining e.g. of 'class __extend__'
    E701, E702, E703, E704  # multiple statements on line
    W503, W504  # newline before/after operator
    F632  # Use of 'is' to compare e.g. small ints
    # XXX: undefined name. Ideally we would remove this, but it occurs in a lot
    # of places. Usually when a function is called in a context other than
    # where it is defined and the name is implicitly in that enclosing context.
    F821
    # TODO: the following could probably be fixed:
    F401  # unused imports
    E711, E712  # '== True'/False/None
    E713, E714  # Use 'not in', and 'is not'
    W605  # bad escape sequences - probably best to use r"" for regex strings
    W291, W292, W293, W391  # trailing whitespace
    # The following need fixing for Py3
    W601  # has_key - TODO: replace with ' in '
    W602  # raise Exc, Exc() - TODO: remove this
    W603  # use of <> instead of !=
    W604  # backticks - TODO: replace with repr()
    W606  # async/await
    # The following are probably accidental redefns and should be removed
    F402  # redefinition in loop
    F812  # redefinition in comprehension

exclude =
    __pycache__  # There's no value in checking cache directories
    .hg  # No need to look in mercurial dir
    pypy/objspace/std/test/apptest_stringformat.py  # lots of bad string formatting syntax tested here
    pypy/tool/release/check_versions.py  # python3-only syntax
    lib-python  # lib-python would need its own config, since it's mostly not written by us