forked from gevent/gevent
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.landscape.yml
120 lines (115 loc) · 3.63 KB
/
.landscape.yml
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
doc-warnings: no # experimental, raises an exception
test-warnings: no
strictness: veryhigh
max-line-length: 160
# We don't use any of the auto-detected things, and
# auto-detection slows down startup
autodetect: false
requirements:
- dev-requirements.txt
python-targets:
- 2
- 3
ignore-paths:
- examples/webchat/
- doc/
- build
- dist
- .eggs
# util creates lots of warnings. ideally they should be fixed,
# but that code doesn't change often
- util
# likewise with scripts
- scripts/
# This file has invalid syntax for Python 3, which is how
# landscape.io runs things...
- src/gevent/_util_py2.py
# ...and this file has invalid syntax for Python 2, which is how
# travis currently runs things. sigh.
- src/gevent/_socket3.py
# This is vendored with minimal changes
- src/gevent/_tblib.py
# likewise
- src/greentest/_six.py
# This triggers https://github.com/PyCQA/pylint/issues/846 on Travis,
# but the file is really small, so it's better to skip this one
# file than disable that whole check.
- src/gevent/core.py
# sadly, this one is complicated
- setup.py
- src/greentest/getaddrinfo_module.py
ignore-patterns:
# disabled code
- ^src/greentest/xtest_.*py
# standard library code
- ^src/greentest/2.*
- ^src/greentest/3.*
# benchmarks that aren't used/changed much
- ^src/greentest/bench_.*py
pyroma:
run: true
mccabe:
# We have way too many violations of the complexity measure.
# We should enable this and fix them one at a time, but that's
# more refactoring than I want to do initially.
run: false
pyflakes:
disable:
# F821: undefined name; caught better by pylint, where it can be
# controlled for the whole file/per-line
- F821
# F401: unused import; same story
- F401
# F811: redefined function; same story
- F811
# F403: wildcard import; same story
- F403
pep8:
disable:
# N805: first arg should be self; fails on metaclasses and
# classmethods; pylint does a better job
- N805
# N802: function names should be lower-case; comes from Windows
# funcs and unittest-style asserts and factory funcs
- N802
# N801: class names should use CapWords
- N801
# N803: argument name should be lower-case; comes up with using
# the class name as a keyword-argument
- N803
# N813: camelCase imported as lowercase; socketcommon
- N813
# N806: variable in function should be lowercase; but sometimes we
# want constant-looking names, especially for closures
- N806
# N812: lowercase imported as non-lowercase; from greenlet import
# greenlet as RawGreenlet
- N812
# E261: at least two spaces before inline comment. Really? Who does
# that?
- E261
# E265: Block comment should start with "# ". This arises from
# commenting out individual lines of code.
- E265
# N806: variable in function should be lowercase; but sometimes we
# want constant-looking names, especially for closures
- N806
# W503 line break before binary operator (I like and/or on the
# next line, it makes more sense)
- W503
# E266: too many leading '#' for block comment. (Multiple # can
# set off blocks)
- E266
# E402 module level import not at top of file. (happens in
# setup.py, some test cases)
- E402
# E702: multiple expressions on one line semicolon
# (happens for monkey-patch))
- E702
# E731: do not assign a lambda expression, use a def
# simpler than a def sometimes, and prevents redefinition warnings
- E731
# E302/303: Too many/too few blank lines (between classes, etc)
# This is *really* nitpicky.
- E302
- E303