prospector 1.15.2__tar.gz → 1.15.4a1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {prospector-1.15.2 → prospector-1.15.4a1}/PKG-INFO +16 -19
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/autodetect.py +1 -1
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/blender_combinations.yaml +148 -81
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/config/configuration.py +1 -1
- prospector-1.15.4a1/prospector/formatters/base_summary.py +90 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/formatters/pylint.py +17 -12
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/formatters/text.py +3 -0
- prospector-1.15.4a1/prospector/identify.py +90 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/pathutils.py +16 -2
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profile.py +5 -2
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/suppression.py +2 -2
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/base.py +2 -2
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/mypy/__init__.py +2 -2
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/profile_validator/__init__.py +1 -1
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/pylint/__init__.py +6 -4
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/ruff/__init__.py +2 -2
- {prospector-1.15.2 → prospector-1.15.4a1}/pyproject.toml +1 -2
- prospector-1.15.2/prospector/formatters/base_summary.py +0 -43
- prospector-1.15.2/setup.py +0 -81
- {prospector-1.15.2 → prospector-1.15.4a1}/LICENSE +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/README.rst +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/__init__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/__main__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/blender.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/compat.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/config/__init__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/config/datatype.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/encoding.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/exceptions.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/finder.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/formatters/__init__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/formatters/base.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/formatters/emacs.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/formatters/grouped.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/formatters/json.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/formatters/pylint_parseable.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/formatters/vscode.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/formatters/xunit.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/formatters/yaml.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/message.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/postfilter.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/__init__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/exceptions.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/default.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/doc_warnings.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/flake8.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/full_pep8.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/member_warnings.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/no_doc_warnings.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/no_member_warnings.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/no_pep8.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/no_test_warnings.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/strictness_high.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/strictness_low.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/strictness_medium.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/strictness_none.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/strictness_veryhigh.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/strictness_verylow.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/profiles/profiles/test_warnings.yaml +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/run.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/__init__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/bandit/__init__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/dodgy/__init__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/exceptions.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/mccabe/__init__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/pycodestyle/__init__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/pydocstyle/__init__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/pyflakes/__init__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/pylint/collector.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/pylint/linter.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/pyright/__init__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/pyroma/__init__.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/utils.py +0 -0
- {prospector-1.15.2 → prospector-1.15.4a1}/prospector/tools/vulture/__init__.py +0 -0
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: prospector
|
|
3
|
-
Version: 1.15.
|
|
3
|
+
Version: 1.15.4a1
|
|
4
4
|
Summary: Prospector is a tool to analyse Python code by aggregating the result of other tools.
|
|
5
|
-
Home-page: http://prospector.readthedocs.io
|
|
6
5
|
License: GPLv2+
|
|
7
6
|
Keywords: pylint,prospector,static code analysis
|
|
8
7
|
Author: Carl Crowder
|
|
@@ -19,25 +18,23 @@ Classifier: Operating System :: Unix
|
|
|
19
18
|
Classifier: Programming Language :: Python :: 3
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.9
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
23
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
24
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
25
23
|
Classifier: Programming Language :: Python :: 3.13
|
|
26
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
27
24
|
Classifier: Topic :: Software Development :: Quality Assurance
|
|
28
|
-
Provides-Extra:
|
|
29
|
-
Provides-Extra:
|
|
30
|
-
Provides-Extra:
|
|
31
|
-
Provides-Extra:
|
|
32
|
-
Provides-Extra:
|
|
33
|
-
Provides-Extra:
|
|
34
|
-
Provides-Extra:
|
|
25
|
+
Provides-Extra: with-bandit
|
|
26
|
+
Provides-Extra: with-everything
|
|
27
|
+
Provides-Extra: with-mypy
|
|
28
|
+
Provides-Extra: with-pyright
|
|
29
|
+
Provides-Extra: with-pyroma
|
|
30
|
+
Provides-Extra: with-ruff
|
|
31
|
+
Provides-Extra: with-vulture
|
|
35
32
|
Requires-Dist: GitPython (>=3.1.27,<4.0.0)
|
|
36
33
|
Requires-Dist: PyYAML
|
|
37
|
-
Requires-Dist: bandit (>=1.5.1); extra == "
|
|
34
|
+
Requires-Dist: bandit (>=1.5.1) ; extra == "with-bandit" or extra == "with-everything"
|
|
38
35
|
Requires-Dist: dodgy (>=0.2.1,<0.3.0)
|
|
39
36
|
Requires-Dist: mccabe (>=0.7.0,<0.8.0)
|
|
40
|
-
Requires-Dist: mypy (>=0.600); extra == "
|
|
37
|
+
Requires-Dist: mypy (>=0.600) ; extra == "with-mypy" or extra == "with-everything"
|
|
41
38
|
Requires-Dist: packaging
|
|
42
39
|
Requires-Dist: pep8-naming (>=0.3.3,<=0.10.0)
|
|
43
40
|
Requires-Dist: pycodestyle (>=2.9.0)
|
|
@@ -46,14 +43,14 @@ Requires-Dist: pyflakes (>=2.2.0)
|
|
|
46
43
|
Requires-Dist: pylint (>=3.0)
|
|
47
44
|
Requires-Dist: pylint-celery (==0.3)
|
|
48
45
|
Requires-Dist: pylint-django (>=2.6.1)
|
|
49
|
-
Requires-Dist:
|
|
50
|
-
Requires-Dist:
|
|
51
|
-
Requires-Dist: pyroma (>=2.4); extra == "with_pyroma" or extra == "with_everything"
|
|
46
|
+
Requires-Dist: pyright (>=1.1.3) ; extra == "with-pyright" or extra == "with-everything"
|
|
47
|
+
Requires-Dist: pyroma (>=2.4) ; extra == "with-pyroma" or extra == "with-everything"
|
|
52
48
|
Requires-Dist: requirements-detector (>=1.3.2)
|
|
53
|
-
Requires-Dist: ruff; extra == "
|
|
49
|
+
Requires-Dist: ruff ; extra == "with-ruff" or extra == "with-everything"
|
|
54
50
|
Requires-Dist: setoptconf-tmp (>=0.3.1,<0.4.0)
|
|
55
51
|
Requires-Dist: toml (>=0.10.2,<0.11.0)
|
|
56
|
-
Requires-Dist: vulture (>=1.5); extra == "
|
|
52
|
+
Requires-Dist: vulture (>=1.5) ; extra == "with-vulture" or extra == "with-everything"
|
|
53
|
+
Project-URL: Homepage, http://prospector.readthedocs.io
|
|
57
54
|
Project-URL: Repository, https://github.com/PyCQA/prospector
|
|
58
55
|
Description-Content-Type: text/x-rst
|
|
59
56
|
|
|
@@ -11,7 +11,7 @@ from prospector import encoding
|
|
|
11
11
|
from prospector.exceptions import PermissionMissing
|
|
12
12
|
from prospector.pathutils import is_virtualenv
|
|
13
13
|
|
|
14
|
-
POSSIBLE_LIBRARIES = ("django", "celery"
|
|
14
|
+
POSSIBLE_LIBRARIES = ("django", "celery")
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
# see http://docs.python.org/2/reference/lexical_analysis.html#identifiers
|
|
@@ -4,17 +4,22 @@
|
|
|
4
4
|
#
|
|
5
5
|
# Note that since not all tools will necessarily be run, the first message for
|
|
6
6
|
# a line as sorted by the code list will be the one remaining after blending.
|
|
7
|
+
#
|
|
8
|
+
# We put at first the PyLint, mypy and Ruff codes because we can
|
|
9
|
+
# ignore a specific code on a specific line.
|
|
7
10
|
|
|
8
11
|
combinations:
|
|
9
12
|
- # Unused Import
|
|
10
13
|
- pylint: unused-import
|
|
14
|
+
- pylint: W0611
|
|
15
|
+
- ruff: F401
|
|
11
16
|
- pyflakes: F401
|
|
12
17
|
- frosted: E101
|
|
13
|
-
- ruff: F401
|
|
14
18
|
|
|
15
19
|
- # Syntax Error
|
|
16
|
-
- dodgy: diff
|
|
17
20
|
- pylint: syntax-error
|
|
21
|
+
- pylint: E0001
|
|
22
|
+
- dodgy: diff
|
|
18
23
|
- pyflakes: F999
|
|
19
24
|
- pep8: E901
|
|
20
25
|
# expected an indented block
|
|
@@ -26,362 +31,416 @@ combinations:
|
|
|
26
31
|
|
|
27
32
|
- # Undefined local variable
|
|
28
33
|
- pylint: undefined-variable
|
|
34
|
+
- pylint: E0602
|
|
35
|
+
- mypy: name-defined
|
|
36
|
+
- ruff: F821
|
|
29
37
|
- pyflakes: F821
|
|
30
38
|
- frosted: E303
|
|
31
|
-
- ruff: F821
|
|
32
|
-
- mypy: name-defined
|
|
33
39
|
|
|
34
40
|
- # Unused variable
|
|
35
41
|
- pylint: unused-variable
|
|
42
|
+
- pylint: W0612
|
|
43
|
+
- ruff: F841
|
|
36
44
|
- vulture: unused-variable
|
|
37
45
|
- pyflakes: F841
|
|
38
46
|
- frosted: E307
|
|
39
|
-
- ruff: F841
|
|
40
47
|
|
|
41
48
|
- # Mixed tabs and spaces
|
|
49
|
+
- pylint: indentation-mixture
|
|
50
|
+
- ruff: D206
|
|
42
51
|
- pep257: D206
|
|
43
52
|
- pydocstyle: D206
|
|
44
53
|
- pep8: E101
|
|
45
54
|
- pycodestyle: E101
|
|
46
|
-
- pylint: indentation-mixture
|
|
47
|
-
- ruff: D206
|
|
48
55
|
|
|
49
56
|
- # Import from __future__ not first import
|
|
50
57
|
- pylint: misplaced-future
|
|
58
|
+
- pylint: W0410
|
|
59
|
+
- ruff: F404
|
|
51
60
|
- pyflakes: F404
|
|
52
61
|
- frosted: E207
|
|
53
|
-
- ruff: F404
|
|
54
62
|
|
|
55
63
|
- # Line too long
|
|
64
|
+
- pylint: line-too-long
|
|
65
|
+
- pylint: C0301
|
|
56
66
|
- pep8: E501
|
|
57
67
|
- pycodestyle: E501
|
|
58
|
-
- pylint: line-too-long
|
|
59
68
|
|
|
60
69
|
- # Trailing whitespace
|
|
70
|
+
- pylint: trailing-whitespace
|
|
71
|
+
- pylint: C0303
|
|
61
72
|
- pep8: W291
|
|
62
73
|
- pycodestyle: W291
|
|
63
|
-
- pylint: trailing-whitespace
|
|
64
74
|
|
|
65
75
|
- # Blank line contains whitespace
|
|
76
|
+
- pylint: trailing-whitespace
|
|
77
|
+
- pylint: C0303
|
|
66
78
|
- pep8: W293
|
|
67
79
|
- pycodestyle: W293
|
|
68
|
-
- pylint: trailing-whitespace
|
|
69
80
|
|
|
70
81
|
- # No newline at end of file
|
|
82
|
+
- pylint: missing-final-newline
|
|
83
|
+
- pylint: C0304
|
|
71
84
|
- pep8: W292
|
|
72
85
|
- pycodestyle: W292
|
|
73
|
-
- pylint: missing-final-newline
|
|
74
86
|
|
|
75
87
|
- # line ends with semi-colon
|
|
88
|
+
- pylint: unnecessary-semicolon
|
|
89
|
+
- pylint: W0301
|
|
76
90
|
- pep8: E703
|
|
77
91
|
- pycodestyle: E703
|
|
78
|
-
- pylint: unnecessary-semicolon
|
|
79
92
|
|
|
80
93
|
- # multiple statements on one line (colon)
|
|
94
|
+
- pylint: multiple-statements
|
|
95
|
+
- pylint: C0321
|
|
81
96
|
- pep8: E701
|
|
82
97
|
- pycodestyle: E701
|
|
83
|
-
- pylint: multiple-statements
|
|
84
98
|
|
|
85
99
|
- # multiple statements on one line (semicolon)
|
|
100
|
+
- pylint: multiple-statements
|
|
101
|
+
- pylint: C0321
|
|
86
102
|
- pep8: E702
|
|
87
103
|
- pycodestyle: E702
|
|
88
|
-
- pylint: multiple-statements
|
|
89
104
|
|
|
90
105
|
- # incorrect indentation
|
|
106
|
+
- pylint: bad-indentation
|
|
107
|
+
- pylint: W0311
|
|
108
|
+
- ruff: D207
|
|
91
109
|
- pep257: D207
|
|
92
110
|
- pydocstyle: D207
|
|
93
111
|
- pep8: E111
|
|
94
112
|
- pycodestyle: E111
|
|
95
|
-
- pylint: bad-indentation
|
|
96
|
-
- ruff: D207
|
|
97
113
|
|
|
98
114
|
- # incorrect indentation
|
|
115
|
+
- pylint: bad-indentation
|
|
116
|
+
- pylint: W0311
|
|
117
|
+
- ruff: D208
|
|
99
118
|
- pep257: D208
|
|
100
119
|
- pydocstyle: D208
|
|
101
120
|
- pep8: E111
|
|
102
121
|
- pycodestyle: E111
|
|
103
|
-
- pylint: bad-indentation
|
|
104
|
-
- ruff: D208
|
|
105
122
|
|
|
106
123
|
- # comma not followed by a space
|
|
107
|
-
- pep8: E231
|
|
108
|
-
- pycodestyle: E231
|
|
109
124
|
- pylint: C0324
|
|
110
125
|
- pylint: bad-whitespace
|
|
126
|
+
- pep8: E231
|
|
127
|
+
- pycodestyle: E231
|
|
111
128
|
|
|
112
129
|
- # missing whitespace around operator
|
|
113
|
-
- pep8: E225
|
|
114
|
-
- pycodestyle: E225
|
|
115
130
|
- pylint: C0322
|
|
116
131
|
- pylint: bad-whitespace
|
|
117
|
-
|
|
118
|
-
- # missing whitespace around operator
|
|
119
132
|
- pep8: E225
|
|
120
133
|
- pycodestyle: E225
|
|
134
|
+
|
|
135
|
+
- # missing whitespace around operator
|
|
121
136
|
- pylint: C0323
|
|
122
137
|
- pylint: bad-whitespace
|
|
138
|
+
- pep8: E225
|
|
139
|
+
- pycodestyle: E225
|
|
123
140
|
|
|
124
141
|
- # undefined name in __all__
|
|
125
142
|
- pylint: undefined-all-variable
|
|
143
|
+
- pylint: E0603
|
|
144
|
+
- ruff: F822
|
|
126
145
|
- pyflakes: F822
|
|
127
146
|
- frosted: E304
|
|
128
|
-
- ruff: F822
|
|
129
147
|
|
|
130
148
|
- # duplicate argument in function definition
|
|
131
149
|
- pylint: duplicate-argument-name
|
|
150
|
+
- pylint: E0108
|
|
151
|
+
- ruff: F831
|
|
132
152
|
- pyflakes: F831
|
|
133
153
|
- frosted: E206
|
|
134
|
-
- ruff: F831
|
|
135
154
|
|
|
136
155
|
- # redefinition of unused function
|
|
137
|
-
- pyflakes: F811
|
|
138
156
|
- pylint: function-redefined
|
|
157
|
+
- pylint: E0102
|
|
139
158
|
- ruff: F811
|
|
159
|
+
- pyflakes: F811
|
|
140
160
|
|
|
141
161
|
- # f-string is missing placeholders
|
|
142
162
|
- pylint: f-string-without-interpolation
|
|
143
|
-
-
|
|
163
|
+
- pylint: W1309
|
|
144
164
|
- ruff: F541
|
|
165
|
+
- pyflakes: F541
|
|
145
166
|
|
|
146
167
|
- # Duplicate key in dictionary
|
|
147
168
|
- pylint: duplicate-key
|
|
148
|
-
-
|
|
169
|
+
- pylint: W0109
|
|
149
170
|
- ruff: F601
|
|
171
|
+
- pyflakes: F601
|
|
150
172
|
|
|
151
173
|
- # More than one starred expression in assignment
|
|
152
174
|
- pylint: too-many-star-expressions
|
|
153
|
-
-
|
|
175
|
+
- pylint: E0112
|
|
154
176
|
- ruff: F622
|
|
177
|
+
- pyflakes: F622
|
|
155
178
|
|
|
156
179
|
- # Assert called on a tuple
|
|
157
180
|
- pylint: assert-on-tuple
|
|
158
|
-
-
|
|
181
|
+
- pylint: W0199
|
|
159
182
|
- ruff: F631
|
|
183
|
+
- pyflakes: F631
|
|
160
184
|
|
|
161
185
|
- # 'break' outside loop
|
|
162
186
|
- pylint: not-in-loop
|
|
163
|
-
-
|
|
187
|
+
- pylint: E0103
|
|
164
188
|
- ruff: F701
|
|
189
|
+
- pyflakes: F701
|
|
165
190
|
|
|
166
191
|
- # 'continue' not properly in loop
|
|
167
192
|
- pylint: not-in-loop
|
|
168
|
-
-
|
|
193
|
+
- pylint: E0103
|
|
169
194
|
- ruff: F702
|
|
195
|
+
- pyflakes: F702
|
|
170
196
|
|
|
171
197
|
- # 'continue' not supported inside 'finally' clause
|
|
172
198
|
- pylint: continue-in-finally
|
|
173
199
|
- pylint: E0116
|
|
174
|
-
- pyflakes: F703
|
|
175
200
|
- ruff: F703
|
|
176
201
|
- ruff: PLE0116
|
|
202
|
+
- pyflakes: F703
|
|
177
203
|
|
|
178
204
|
- # Yield outside function
|
|
179
205
|
- pylint: yield-outside-function
|
|
180
|
-
-
|
|
206
|
+
- pylint: E0105
|
|
181
207
|
- ruff: F704
|
|
208
|
+
- pyflakes: F704
|
|
182
209
|
|
|
183
210
|
- # Return outside function
|
|
184
211
|
- pylint: return-outside-function
|
|
185
|
-
-
|
|
212
|
+
- pylint: E0104
|
|
186
213
|
- ruff: F706
|
|
214
|
+
- pyflakes: F706
|
|
187
215
|
|
|
188
216
|
- # default 'except:' must be last
|
|
189
217
|
- pylint: bad-except-order
|
|
190
|
-
-
|
|
218
|
+
- pylint: E0701
|
|
191
219
|
- ruff: F707
|
|
220
|
+
- pyflakes: F707
|
|
192
221
|
|
|
193
222
|
- # NotImplemented raised - should raise NotImplementedError
|
|
194
223
|
- pylint: notimplemented-raised
|
|
195
|
-
-
|
|
224
|
+
- pylint: E0711
|
|
196
225
|
- ruff: F901
|
|
226
|
+
- pyflakes: F901
|
|
197
227
|
|
|
198
228
|
- # first argument of a classmethod should be named 'cls'
|
|
199
|
-
- pep8: N804
|
|
200
|
-
- pycodestyle: N804
|
|
201
229
|
- pylint: bad-classmethod-argument
|
|
230
|
+
- pylint: C0202
|
|
202
231
|
- ruff: N804
|
|
232
|
+
- pep8: N804
|
|
233
|
+
- pycodestyle: N804
|
|
203
234
|
|
|
204
235
|
- # '<>' is deprecated, use '!='
|
|
236
|
+
- pylint: W0331
|
|
205
237
|
- pep8: W603
|
|
206
238
|
- pycodestyle: W603
|
|
207
|
-
- pylint: W0331
|
|
208
239
|
|
|
209
240
|
- # backticks are deprecated, use 'repr()'
|
|
241
|
+
- pylint: W0333
|
|
210
242
|
- pep8: W604
|
|
211
243
|
- pycodestyle: W604
|
|
212
|
-
- pylint: W0333
|
|
213
244
|
|
|
214
245
|
- # Redefining name from outer scope
|
|
215
246
|
- pylint: redefined-outer-name
|
|
247
|
+
- pylint: W0621
|
|
248
|
+
- ruff: F810
|
|
216
249
|
- pyflakes: F810
|
|
217
250
|
- frosted: E306
|
|
218
|
-
- ruff: F810
|
|
219
251
|
|
|
220
252
|
- # Redefinition of unused variable
|
|
221
253
|
- pylint: redefined-outer-name
|
|
254
|
+
- pylint: W0621
|
|
222
255
|
- pyflakes: F811
|
|
223
256
|
|
|
224
257
|
- # Wildcard import
|
|
225
258
|
- pylint: wildcard-import
|
|
259
|
+
- pylint: W0614
|
|
260
|
+
- ruff: F403
|
|
226
261
|
- pyflakes: F403
|
|
227
262
|
- frosted: E103
|
|
228
|
-
- ruff: F403
|
|
229
263
|
|
|
230
264
|
- # Return with argument inside generator
|
|
231
265
|
- pylint: return-arg-in-generator
|
|
266
|
+
- pylint: E0110
|
|
232
267
|
- frosted: E208
|
|
233
268
|
|
|
234
269
|
- # Too many positional arguments for function call
|
|
235
270
|
- pylint: too-many-function-args
|
|
271
|
+
- pylint: E1121
|
|
236
272
|
- frosted: E203
|
|
237
273
|
|
|
238
274
|
- # Passing unexpected keyword argument
|
|
239
275
|
- pylint: unexpected-keyword-arg
|
|
276
|
+
- pylint: E1123
|
|
240
277
|
- frosted: E204
|
|
241
278
|
|
|
242
279
|
- # Missing mandatory keyword argument
|
|
243
280
|
- pylint: missing-kwoa
|
|
281
|
+
- pylint: E1125
|
|
244
282
|
- frosted: E205
|
|
245
283
|
|
|
246
284
|
- # No exception type(s) specified
|
|
247
285
|
- pylint: bare-except
|
|
248
|
-
-
|
|
249
|
-
- pep8: E722
|
|
250
|
-
- pycodestyle: E722
|
|
286
|
+
- pylint: W0702
|
|
251
287
|
- ruff: E722
|
|
252
288
|
# try_except_pass
|
|
253
289
|
- ruff: S110
|
|
290
|
+
- frosted: W101
|
|
291
|
+
- pep8: E722
|
|
292
|
+
- pycodestyle: E722
|
|
254
293
|
- bandit: B110
|
|
255
294
|
|
|
256
295
|
- # No exception type(s) specified
|
|
257
296
|
- pylint: bare-except
|
|
258
|
-
-
|
|
259
|
-
- pep8: E722
|
|
260
|
-
- pycodestyle: E722
|
|
297
|
+
- pylint: W0702
|
|
261
298
|
- ruff: E722
|
|
262
299
|
# try_except_continue
|
|
263
300
|
- ruff: S112
|
|
301
|
+
- frosted: W101
|
|
302
|
+
- pep8: E722
|
|
303
|
+
- pycodestyle: E722
|
|
264
304
|
- bandit: B112
|
|
265
305
|
|
|
266
306
|
- # Do not catch blind exception: `Exception`
|
|
267
307
|
- pylint: broad-exception-caught
|
|
308
|
+
- pylint: W0718
|
|
268
309
|
- ruff: BLE001
|
|
269
310
|
|
|
311
|
+
- # Do not catch blind exception: `BaseException`
|
|
312
|
+
- pylint: broad-except
|
|
313
|
+
- pylint: W0703
|
|
314
|
+
- ruff: BLE002
|
|
315
|
+
|
|
270
316
|
- # Create your own exception
|
|
271
317
|
- pylint: broad-exception-raised
|
|
318
|
+
- pylint: W0719
|
|
272
319
|
- ruff: TRY002
|
|
273
320
|
|
|
274
321
|
- # Spaces around keyword/parameter equals
|
|
322
|
+
- pylint: bad-whitespace
|
|
275
323
|
- pep8: E251
|
|
276
324
|
- pycodestyle: E251
|
|
277
|
-
- pylint: bad-whitespace
|
|
278
325
|
|
|
279
326
|
- # Missing space after a comma
|
|
327
|
+
- pylint: bad-whitespace
|
|
280
328
|
- pep8: E231
|
|
281
329
|
- pycodestyle: E231
|
|
282
|
-
- pylint: bad-whitespace
|
|
283
330
|
|
|
284
331
|
- # redefinition of unused %r from line %r
|
|
332
|
+
- ruff: F811
|
|
285
333
|
- pyflakes: F811
|
|
286
334
|
- frosted: E301
|
|
287
|
-
- ruff: F811
|
|
288
335
|
|
|
289
336
|
- # list comprehension redefines %r from line %r
|
|
337
|
+
- ruff: F812
|
|
290
338
|
- pyflakes: F812
|
|
291
339
|
- frosted: E302
|
|
292
|
-
- ruff: F812
|
|
293
340
|
|
|
294
341
|
- # import %r from line %r shadowed by loop variable
|
|
342
|
+
- ruff: F402
|
|
295
343
|
- pyflakes: F402
|
|
296
344
|
- frosted: E102
|
|
297
|
-
- ruff: F402
|
|
298
345
|
|
|
299
346
|
- # syntax error in doctest
|
|
347
|
+
- ruff: FL0007
|
|
300
348
|
- pyflakes: FL0007
|
|
301
349
|
- frosted: E401
|
|
302
|
-
- ruff: FL0007
|
|
303
350
|
|
|
304
351
|
- # local variable %r referenced before assignment
|
|
352
|
+
- ruff: F823
|
|
305
353
|
- pyflakes: F823
|
|
306
354
|
- frosted: E305
|
|
307
|
-
- ruff: F823
|
|
308
355
|
|
|
309
356
|
- # pep8-naming incorrectly suggests that the first argument of a metaclass __new__ method should be 'cls'
|
|
310
357
|
- pylint: bad-mcs-classmethod-argument
|
|
358
|
+
- pylint: C0204
|
|
311
359
|
- pep8: N804
|
|
312
360
|
- pycodestyle: N804
|
|
313
361
|
|
|
314
362
|
- # class names should be camelcase
|
|
363
|
+
- pylint: invalid-name
|
|
364
|
+
- pylint: C0103
|
|
315
365
|
- pep8: N801
|
|
316
366
|
- pycodestyle: N801
|
|
317
|
-
- pylint: invalid-name
|
|
318
367
|
|
|
319
|
-
# function name should be lowercase
|
|
320
|
-
|
|
368
|
+
- # function name should be lowercase
|
|
369
|
+
- pylint: invalid-name
|
|
370
|
+
- pylint: C0103
|
|
371
|
+
- ruff: N802
|
|
321
372
|
- pep8: N802
|
|
322
373
|
- pycodestyle: N802
|
|
323
|
-
- ruff: N802
|
|
324
374
|
|
|
325
|
-
# argument name should be lowercase
|
|
326
|
-
|
|
375
|
+
- # argument name should be lowercase
|
|
376
|
+
- pylint: invalid-name
|
|
377
|
+
- pylint: C0103
|
|
378
|
+
- ruff: N803
|
|
327
379
|
- pep8: N803
|
|
328
380
|
- pycodestyle: N803
|
|
329
|
-
- ruff: N803
|
|
330
381
|
|
|
331
|
-
# Variable in function should be lowercase
|
|
332
|
-
|
|
382
|
+
- # Variable in function should be lowercase
|
|
383
|
+
- pylint: invalid-name
|
|
384
|
+
- pylint: C0103
|
|
385
|
+
- ruff: N806
|
|
333
386
|
- pep8: N806
|
|
334
387
|
- pycodestyle: N806
|
|
335
|
-
- ruff: N806
|
|
336
388
|
|
|
337
389
|
# too complex
|
|
338
390
|
- # Too many branches ({branches} > {max_branches})
|
|
339
391
|
- pylint: too-many-branches
|
|
340
392
|
- pylint: R0912
|
|
341
|
-
- mccabe: MC0001
|
|
342
393
|
- ruff: PLR0912
|
|
394
|
+
- mccabe: MC0001
|
|
395
|
+
|
|
343
396
|
- # Too many statements ({statements} > {max_statements})
|
|
344
397
|
- pylint: too-many-statements
|
|
345
398
|
- pylint: R0915
|
|
346
|
-
- mccabe: MC0001
|
|
347
|
-
- pylint: too-many-statements
|
|
348
399
|
- ruff: PLR0915
|
|
400
|
+
- mccabe: MC0001
|
|
349
401
|
|
|
350
402
|
- # pep257 takes preference over pylint documentation warnings
|
|
351
|
-
- pep257: D100
|
|
352
|
-
- pydocstyle: D100
|
|
353
403
|
- pylint: missing-docstring
|
|
404
|
+
- pylint: C0111
|
|
354
405
|
- ruff: D100
|
|
406
|
+
- pep257: D100
|
|
407
|
+
- pydocstyle: D100
|
|
355
408
|
|
|
356
409
|
- # Missing docstring in public class
|
|
357
|
-
- pep257: D101
|
|
358
|
-
- pydocstyle: D101
|
|
359
410
|
- pylint: missing-docstring
|
|
411
|
+
- pylint: C0111
|
|
360
412
|
- ruff: D101
|
|
413
|
+
- pep257: D101
|
|
414
|
+
- pydocstyle: D101
|
|
361
415
|
|
|
362
416
|
- # Missing docstring in public method
|
|
363
|
-
- pep257: D102
|
|
364
|
-
- pydocstyle: D102
|
|
365
417
|
- pylint: missing-docstring
|
|
418
|
+
- pylint: C0111
|
|
366
419
|
- ruff: D102
|
|
420
|
+
- pep257: D102
|
|
421
|
+
- pydocstyle: D102
|
|
367
422
|
|
|
368
423
|
- # Missing docstring in public function
|
|
369
|
-
- pep257: D103
|
|
370
|
-
- pydocstyle: D103
|
|
371
424
|
- pylint: missing-docstring
|
|
425
|
+
- pylint: C0111
|
|
372
426
|
- ruff: D103
|
|
427
|
+
- pep257: D103
|
|
428
|
+
- pydocstyle: D103
|
|
373
429
|
|
|
374
430
|
- - pylint: singleton-comparison
|
|
431
|
+
- pylint: C0221
|
|
375
432
|
- pep8: E711
|
|
376
433
|
- pycodestyle: E711
|
|
377
434
|
|
|
378
435
|
- - pylint: subprocess-run-check
|
|
379
|
-
-
|
|
436
|
+
- pylint: W1510
|
|
380
437
|
- ruff: S603
|
|
381
438
|
- ruff: PLW1510
|
|
439
|
+
- bandit: B603
|
|
382
440
|
|
|
383
441
|
- # Private member accessed:
|
|
384
442
|
- pylint: protected-access
|
|
443
|
+
- pylint: W0212
|
|
385
444
|
- ruff: SLF001
|
|
386
445
|
|
|
387
446
|
# assert_used
|
|
@@ -418,6 +477,7 @@ combinations:
|
|
|
418
477
|
|
|
419
478
|
# request_without_timeout
|
|
420
479
|
- - pylint: missing-timeout
|
|
480
|
+
- pylint: W3101
|
|
421
481
|
- ruff: S113
|
|
422
482
|
- bandit: B113
|
|
423
483
|
|
|
@@ -528,13 +588,15 @@ combinations:
|
|
|
528
588
|
# Within an `except` clause, raise exceptions with `raise ... from err` or `raise ... from None` to distinguish them from errors in exception handling
|
|
529
589
|
# See: https://docs.astral.sh/ruff/rules/raise-without-from-inside-except
|
|
530
590
|
- - pylint: raise-missing-from
|
|
591
|
+
- pylint: W0707
|
|
531
592
|
- ruff: B904
|
|
532
593
|
|
|
533
594
|
# Use of possibly insecure function - consider using safer ast.literal_eval
|
|
534
595
|
# See: https://docs.astral.sh/ruff/rules/suspicious-eval-usage
|
|
535
596
|
- - pylint: eval-used
|
|
536
|
-
-
|
|
597
|
+
- pylint: W0123
|
|
537
598
|
- ruff: S307
|
|
599
|
+
- bandit: B307
|
|
538
600
|
|
|
539
601
|
- # {kind} name "{param_name}" does not reflect its {variance}; consider renaming it to "{replacement_name}"
|
|
540
602
|
- pylint: type-name-incorrect-variance
|
|
@@ -1081,6 +1143,11 @@ combinations:
|
|
|
1081
1143
|
- pylint: W3301
|
|
1082
1144
|
- ruff: PLW3301
|
|
1083
1145
|
|
|
1146
|
+
- # Consider using 'with' for resource-allocating operations
|
|
1147
|
+
- pylint: consider-using-with
|
|
1148
|
+
- pylint: R1732
|
|
1149
|
+
- ruff: SIM115
|
|
1150
|
+
|
|
1084
1151
|
- # Missing docstring in public package
|
|
1085
1152
|
- ruff: D104
|
|
1086
1153
|
- pycodestyle: D104
|
|
@@ -127,7 +127,7 @@ def build_command_line_source(
|
|
|
127
127
|
"uses": {
|
|
128
128
|
"flags": ["-u", "--uses"],
|
|
129
129
|
"help": "A list of one or more libraries or frameworks that the"
|
|
130
|
-
" project uses. Possible values are: django, celery
|
|
130
|
+
" project uses. Possible values are: django, celery. This will be"
|
|
131
131
|
" autodetected by default, but if autodetection doesn't"
|
|
132
132
|
" work, manually specify them using this flag.",
|
|
133
133
|
},
|