Repository navigation
Expand file tree
/
Copy path.pylintrc
More file actions
307 lines (219 loc) · 9.32 KB
/
Copy path.pylintrc
File metadata and controls
307 lines (219 loc) · 9.32 KB
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
[MAIN]
# Python version for syntax checking
py-version=3.12
# Use multiple processes to speed up Pylint (0 = auto-detect cores)
jobs=0
# Allow loading of arbitrary C extensions
unsafe-load-any-extension=no
# Pickle collected data for later comparisons
persistent=yes
# List of plugins (as comma separated values of python module names)
load-plugins=
# Discover python modules and packages in the file system subtree
recursive=yes
# Files or directories to be skipped
ignore=CVS,.git,__pycache__,.venv,venv,build,dist,*.egg-info
# Ignore patterns for files or directories
ignore-patterns=^\.#,.*\.pyc$,.*\.pyo$
[MESSAGES CONTROL]
# Disable specific warnings and errors
# too-few-public-methods: Not always a code smell
# fixme: TODO comments are tracked elsewhere
# invalid-name: AST visitor methods like visit_If are required by ast.NodeVisitor
# duplicate-code: Expected in test files with similar test structures
# broad-exception-caught: Top-level exception handlers need to catch general exceptions
# import-outside-toplevel: Used for lazy loading of __version__ in CLI
# unnecessary-ellipsis: Ellipsis is preferred over pass for empty method bodies
# unused-argument: Some arguments are required by visitor pattern but not used
disable=
too-few-public-methods,
fixme,
invalid-name,
duplicate-code,
broad-exception-caught,
import-outside-toplevel,
unnecessary-ellipsis,
unused-argument,
inconsistent-quotes,
line-too-long,
trailing-newlines,
redefined-outer-name,
protected-access
# Enable specific warnings that are disabled by default
enable=
useless-suppression,
deprecated-pragma,
use-symbolic-message-instead
[REPORTS]
# Set the output format
output-format=text
# Add a score to the report
score=yes
# Evaluation expression for the global evaluation score
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
[REFACTORING]
# Maximum number of nested blocks for function / method body
max-nested-blocks=3
# Complete function names which should not be checked for complexity
never-returning-functions=sys.exit,argparse.parse_error
[BASIC]
# Naming style matching correct argument names
argument-naming-style=snake_case
# Naming style matching correct attribute names
attr-naming-style=snake_case
# Naming style matching correct class attribute names
class-attribute-naming-style=any
# Naming style matching correct class constant names
class-const-naming-style=UPPER_CASE
# Naming style matching correct class names
class-naming-style=PascalCase
# Naming style matching correct constant names
const-naming-style=UPPER_CASE
# Naming style matching correct function names
function-naming-style=snake_case
# Naming style matching correct inline iteration names
inlinevar-naming-style=any
# Naming style matching correct method names
method-naming-style=snake_case
# Naming style matching correct module names
module-naming-style=snake_case
# Naming style matching correct variable names
variable-naming-style=snake_case
# Good variable names which should always be accepted
good-names=i,j,k,ex,Run,_,id,x,y,z,a,b,c,d,e,f,g,h,m,n,p,q,r,s,t,u,v,w
# Bad variable names which should always be rejected
bad-names=foo,bar,baz,toto,tutu,tata
# Include a hint for the correct naming format with invalid-name
include-naming-hint=yes
[FORMAT]
# Maximum number of characters on a single line
max-line-length=88
# Regexp for a line that is allowed to be longer than the limit
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
# Allow the body of an if to be on the same line as the test if there is no else
single-line-if-stmt=no
# Allow the body of a class to be on the same line as the declaration
single-line-class-stmt=no
# Maximum number of lines in a module
max-module-lines=1000
# String used as indentation unit (spaces)
indent-string=' '
# Number of spaces of indent required inside a hanging or continued line
indent-after-paren=4
[LOGGING]
# The type of string formatting that logging methods do
logging-format-style=old
# Logging modules to check that the string format arguments are in logging function parameter format
logging-modules=logging
[MISCELLANEOUS]
# List of note tags to take in consideration (separated by a comma)
notes=FIXME,XXX,TODO
[SIMILARITIES]
# Minimum lines number of a similarity
min-similarity-lines=4
# Ignore comments when computing similarities
ignore-comments=yes
# Ignore docstrings when computing similarities
ignore-docstrings=yes
# Ignore imports when computing similarities
ignore-imports=yes
# Signatures are removed from the similarity computation
ignore-signatures=yes
[SPELLING]
# Limits count of emitted suggestions for spelling mistakes
max-spelling-suggestions=4
# Spelling dictionary name (requires pylint-spelling plugin)
# spelling-dict=
# List of comma separated words that should be considered directives if they appear at the beginning of a comment
spelling-ignore-comment-directives=fmt: on,fmt: off,noqa:,noqa,nosec,isort:skip,mypy:
[STRING]
# This flag controls whether inconsistent-quotes generates a warning when the character used as a quote delimiter is used inconsistently within a module
check-quote-consistency=yes
# This flag controls whether the implicit-str-concat should generate a warning on implicit string concatenation in sequences defined over several lines
check-str-concat-over-line-jumps=no
[TYPECHECK]
# List of decorators that produce context managers
contextmanager-decorators=contextlib.contextmanager
# List of members which are set dynamically and missed by pylint inference
generated-members=
# Tells whether missing members accessed in mixin class should be ignored
ignore-mixin-members=yes
# Tells whether to warn about missing members when the owner of the attribute is inferred to be None
ignore-none=yes
# This flag controls whether pylint should warn about no-member and similar checks whenever an opaque object is returned when inferring
ignore-on-opaque-inference=yes
# List of symbolic message names to ignore for Mixin class
ignored-checks-for-mixins=no-member,not-async-context-manager,not-context-manager,attribute-defined-outside-init
# List of class names for which member attributes should not be checked
ignored-classes=optparse.Values,thread._local,_thread._local,SQLObject
# Show a hint with possible names when a member name was not found
missing-member-hint=yes
# The minimum edit distance a name should have in order to be considered a similar match for a missing member name
missing-member-hint-distance=1
# The total number of similar names that should be taken in consideration when showing a hint for a missing member
missing-member-max-choices=1
# Regex pattern to define which classes are considered mixins
mixin-class-rgx=.*[Mm]ixin
[VARIABLES]
# Tells whether we should check for unused import in __init__ files
init-import=no
# A regular expression matching the name of dummy variables
dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
# Argument names that match this expression will be ignored
ignored-argument-names=_.*|^ignored_|^unused_
# Tells whether unused global variables should be treated as a violation
allow-global-unused-variables=yes
# List of names allowed to shadow builtins
allowed-redefined-builtins=
[CLASSES]
# List of method names used to declare (i.e. assign) instance attributes
defining-attr-methods=__init__,__new__,setUp,__post_init__
# List of member names, which should be excluded from the protected access warning
exclude-protected=_asdict,_fields,_replace,_source,_make
# List of valid names for the first argument in a class method
valid-classmethod-first-arg=cls
# List of valid names for the first argument in a metaclass class method
valid-metaclass-classmethod-first-arg=mcs
# Warn about protected attribute access inside special methods
check-protected-access-in-special-methods=no
[DESIGN]
# Maximum number of arguments for function / method
max-args=5
# Maximum number of attributes for a class
max-attributes=10
# Maximum number of boolean expressions in an if statement
max-bool-expr=5
# Maximum number of branch for function / method body
max-branches=10
# Maximum number of locals for function / method body
max-locals=15
# Maximum number of parents for a class
max-parents=7
# Maximum number of public methods for a class
max-public-methods=20
# Maximum number of return / yield for function / method body
max-returns=6
# Maximum number of statements in function / method body
max-statements=50
# Minimum number of public methods for a class
min-public-methods=2
[IMPORTS]
# Allow wildcard imports from modules that define __all__
allow-wildcard-with-all=no
# Deprecated modules which should not be used
deprecated-modules=optparse,tkinter.tix
# Output a graph (.gv or any supported image format) of external dependencies
ext-import-graph=
# Output a graph (.gv or any supported image format) of all (i.e. internal and external) dependencies
import-graph=
# Output a graph (.gv or any supported image format) of internal dependencies
int-import-graph=
# Force import order to recognize a module as part of the standard compatibility libraries
known-standard-library=
# Force import order to recognize a module as part of a third party library
known-third-party=
# Couples of modules and preferred modules, separated by a comma
preferred-modules=
[EXCEPTIONS]
# Exceptions that will emit a warning when caught
overgeneral-exceptions=builtins.BaseException,builtins.Exception