AI Slop Code RIsk Monitor

pylint-dev/pylint

It's not just a linter that annoys you!

27.0 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for pylint-dev/pylint, a Python project with 5,735 GitHub stars. SynthScan examined 150,091 lines of code across 3508 source files, recording 3110 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 27.0 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

27.0
Adjusted Signal
27.0
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
5.7K
Stars
Python
Language
150.1K
Lines of Code
3.5K
Files
3.1K
Pattern Hits
2026-10-12
Scan Date
0.07
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 44.5/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 1771 finding(s).

Hallucinated Dependency & Supply Chain Risk 26.9/100 · MEDIUM

Are imports declared and package/API names verified? 950 finding(s).

Agent Over-Engineering Ratio 59.5/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 1809 finding(s).

PR Review Velocity Impact 77.1/100 · CRITICAL

Which changes need focused human review? 3110 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 229MEDIUM 86LOW 2795

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 3110 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers1406 hits · 1352 pts
SeverityFileLineSnippetContext
LOWpylint/graph.py20def target_info_from_filename(filename: str) -> tuple[str, str, str]:CODE
LOWpylint/__pkginfo__.py15def get_numversion_from_version(v: str) -> tuple[int, int, int]:CODE
LOWpylint/lint/report_functions.py15def report_total_messages_stats(CODE
LOWpylint/lint/report_functions.py46def report_messages_by_module_stats(CODE
LOWpylint/lint/pylinter.py280def _handle_force_color_no_color(CODE
LOWpylint/lint/pylinter.py470 def load_plugin_configuration(self) -> None:CODE
LOWpylint/lint/pylinter.py638 def pass_fail_on_config_to_color_reporter(self) -> None:CODE
LOWpylint/lint/pylinter.py990 def _get_file_descr_from_stdin(self, filepath: str) -> Iterator[FileItem]:CODE
LOWpylint/lint/message_state_handler.py172 def _register_by_id_managed_msg(CODE
LOWpylint/lint/utils.py139def _is_env_set_and_non_empty(env_var: str) -> bool:CODE
LOWpylint/lint/parallel.py61def _worker_check_single_file(CODE
LOWpylint/checkers/dataclass_checker.py26def _check_name_or_attrname_eq_to(CODE
LOWpylint/checkers/dataclass_checker.py58 def _check_invalid_field_call(self, node: nodes.Call) -> None:CODE
LOWpylint/checkers/dataclass_checker.py104 def _check_invalid_field_call_within_call(CODE
LOWpylint/checkers/logging.py294 def _is_node_explicit_str_concatenation(node: nodes.NodeNG) -> bool:CODE
LOWpylint/checkers/logging.py407def str_formatting_in_f_string(node: nodes.JoinedStr) -> bool:CODE
LOWpylint/checkers/spelling.py66def _get_enchant_dict_choices(CODE
LOWpylint/checkers/spelling.py191def _strip_code_flanked_in_backticks(line: str) -> str:STRING
LOWpylint/checkers/spelling.py198 def replace_code_but_leave_surrounding_characters(match_obj: re.Match[str]) -> str:STRING
LOWpylint/checkers/misc.py36 def _clear_by_id_managed_msgs(self) -> None:CODE
LOWpylint/checkers/dunder_methods.py54 def within_dunder_or_lambda_def(node: nodes.NodeNG) -> bool:CODE
LOWpylint/checkers/typecheck.py559def _get_all_attribute_assignments(CODE
LOWpylint/checkers/typecheck.py738def _no_context_variadic_keywords(node: nodes.Call, scope: nodes.Lambda) -> bool:CODE
LOWpylint/checkers/typecheck.py755def _no_context_variadic_positional(node: nodes.Call, scope: nodes.Lambda) -> bool:CODE
LOWpylint/checkers/typecheck.py821def _infer_from_metaclass_constructor(CODE
LOWpylint/checkers/typecheck.py870def _is_invalid_isinstance_type(arg: nodes.NodeNG) -> bool:CODE
LOWpylint/checkers/typecheck.py1083 def _compiled_generated_members(self) -> tuple[Pattern[str], ...]:CODE
LOWpylint/checkers/typecheck.py1339 def _check_assignment_from_function_call(self, node: nodes.Assign) -> None:CODE
LOWpylint/checkers/typecheck.py1432 def _assignment_from_no_return_args(self, call: nodes.Call) -> tuple[str, str]:CODE
LOWpylint/checkers/typecheck.py1445 def _check_dundername_is_string(self, node: nodes.Assign) -> None:CODE
LOWpylint/checkers/typecheck.py1824 def _keyword_argument_is_in_all_decorator_returns(CODE
LOWpylint/checkers/typecheck.py1881 def _check_invalid_sequence_index(self, subscript: nodes.Subscript) -> None:CODE
LOWpylint/checkers/typecheck.py1981 def _check_invalid_slice_index(self, node: nodes.Slice) -> None:CODE
LOWpylint/checkers/typecheck.py2167 def _detect_unsupported_alternative_union_syntax(self, node: nodes.BinOp) -> None:CODE
LOWpylint/checkers/typecheck.py2209 def _includes_version_compatible_overload(self, attrs: list[nodes.NodeNG]) -> bool:CODE
LOWpylint/checkers/typecheck.py2225 def _recursive_search_for_classdef_type(CODE
LOWpylint/checkers/typecheck.py2238 def _check_unsupported_alternative_union_syntax(self, node: nodes.BinOp) -> None:CODE
LOWpylint/checkers/typecheck.py2426 def _check_await_outside_coroutine(self, node: nodes.Await) -> None:CODE
LOWpylint/checkers/typecheck.py2527 def _check_comprehension_generators(self, node: nodes.ComprehensionScope) -> None:CODE
LOWpylint/checkers/modified_iterating_checker.py62 def _modified_iterating_check_on_node_and_children(CODE
LOWpylint/checkers/modified_iterating_checker.py70 def _modified_iterating_check(CODE
LOWpylint/checkers/modified_iterating_checker.py101 def _is_node_expr_that_calls_attribute_name(node: nodes.NodeNG) -> bool:CODE
LOWpylint/checkers/modified_iterating_checker.py123 def _is_node_assigns_subscript_name(node: nodes.NodeNG) -> bool:CODE
LOWpylint/checkers/modified_iterating_checker.py129 def _modified_iterating_list_cond(CODE
LOWpylint/checkers/modified_iterating_checker.py142 def _modified_iterating_dict_cond(CODE
LOWpylint/checkers/modified_iterating_checker.py167 def _modified_iterating_set_cond(CODE
LOWpylint/checkers/modified_iterating_checker.py180 def _deleted_iteration_target_cond(CODE
LOWpylint/checkers/lambda_expressions.py102def _lambda_scope_is_required(node: nodes.Call) -> bool:CODE
LOW⚡pylint/checkers/variables.py2650 def _is_first_level_self_reference(CODE
LOW⚡pylint/checkers/variables.py3116 def _should_ignore_redefined_builtin(self, stmt: nodes.NodeNG) -> bool:CODE
LOW⚡pylint/checkers/variables.py3121 def _allowed_redefined_builtin(self, name: str) -> bool:CODE
LOW⚡pylint/checkers/variables.py3125 def _comprehension_between_frame_and_node(node: nodes.Name) -> bool:CODE
LOWpylint/checkers/variables.py107def _get_unpacking_extra_info(node: nodes.Assign, inferred: InferenceResult) -> str:CODE
LOWpylint/checkers/variables.py343def _is_shadowed_in_nested_scope(name: nodes.Name, defnode: nodes.NamedExpr) -> bool:CODE
LOWpylint/checkers/variables.py356def _is_assigned_in_comprehension_condition(CODE
LOWpylint/checkers/variables.py398def _has_locals_call_after_node(stmt: nodes.NodeNG, scope: nodes.FunctionDef) -> bool:CODE
LOWpylint/checkers/variables.py1191 def _recursive_search_for_continue_before_break(CODE
LOWpylint/checkers/variables.py1212 def _uncertain_nodes_in_try_blocks_when_evaluating_except_blocks(CODE
LOWpylint/checkers/variables.py1261 def _uncertain_nodes_in_try_blocks_when_evaluating_finally_blocks(CODE
LOWpylint/checkers/variables.py1821 def _undefined_and_used_before_checker(CODE
1346 more matches not shown…
Empty Error Handlers178 hits · 890 pts
SeverityFileLineSnippetContext
HIGHpylint/graph.py209except KeyError:CODE
HIGHpylint/lint/pylinter.py569except ValueError:CODE
HIGHpylint/checkers/logging.py182except KeyError:CODE
HIGHpylint/checkers/misc.py130except UnicodeDecodeError:CODE
HIGHpylint/checkers/symilar.py272except KeyError:CODE
HIGHpylint/checkers/typecheck.py521except astroid.NotFoundError:CODE
HIGHpylint/checkers/typecheck.py1938except astroid.NotFoundError:CODE
HIGHpylint/checkers/typecheck.py2003except astroid.NotFoundError:CODE
HIGHpylint/checkers/variables.py3655except ValueError:CODE
HIGHpylint/checkers/variables.py3658except astroid.AstroidSyntaxError:CODE
HIGHpylint/checkers/variables.py3392except SyntaxError:CODE
HIGHpylint/checkers/format.py679except PragmaParserError:CODE
HIGHpylint/checkers/imports.py1106except ImportError:CODE
HIGHpylint/checkers/utils.py1466except AttributeError:CODE
HIGHpylint/checkers/utils.py772except IndexError:CODE
HIGHpylint/checkers/utils.py852except astroid.InferenceError:CODE
HIGHpylint/checkers/utils.py370except astroid.NoDefault:CODE
HIGHpylint/checkers/stdlib.py890except astroid.InferenceError:CODE
HIGHpylint/checkers/classes/class_checker.py1564except astroid.NotFoundError:CODE
HIGHpylint/checkers/classes/class_checker.py1395except astroid.NotFoundError:CODE
HIGHpylint/checkers/classes/class_checker.py2289except astroid.NotFoundError:CODE
HIGHpylint/checkers/classes/class_checker.py2296except StopIteration:CODE
HIGHpylint/checkers/classes/class_checker.py2301except astroid.NotFoundError:CODE
HIGHpylint/checkers/classes/class_checker.py1538except astroid.AttributeInferenceError:CODE
HIGHpylint/checkers/classes/special_methods_checker.py311except astroid.NotFoundError:CODE
HIGHpylint/checkers/classes/special_methods_checker.py319except astroid.NotFoundError:CODE
HIGH…nt/checkers/refactoring/implicit_booleaness_checker.py159except astroid.AttributeInferenceError:CODE
HIGHpylint/checkers/refactoring/refactoring_checker.py2582except (TypeError, AttributeError):CODE
HIGHpylint/checkers/base/basic_error_checker.py638except ValueError:CODE
HIGHpylint/checkers/base/basic_checker.py833except utils.NoSuchArgumentError:CODE
HIGHpylint/config/find_default_config_files.py131except OSError:CODE
HIGHpylint/config/find_default_config_files.py138except OSError:CODE
HIGHpylint/config/find_default_config_files.py143except OSError:CODE
HIGHpylint/config/find_default_config_files.py149except OSError:CODE
HIGHpylint/config/find_default_config_files.py84except OSError:CODE
HIGHpylint/config/config_initialization.py94except ValueError:CODE
HIGHpylint/message/message_id_store.py129except KeyError:CODE
HIGHpylint/utils/file_state.py227except KeyError:CODE
HIGHpylint/extensions/docparams.py688except KeyError:CODE
HIGHpylint/extensions/_check_docs_utils.py127except astroid.InferenceError:CODE
HIGHpylint/pyreverse/utils.py43except OSError:CODE
HIGHpylint/pyreverse/utils.py185except AttributeError:CODE
HIGHpylint/testutils/lint_module_test.py60except NoFileError:CODE
HIGHpylint/testutils/functional/test_file.py84except NoFileError:CODE
HIGHtests/test_import_graph.py28except FileNotFoundError:CODE
HIGHtests/test_import_graph.py79except FileNotFoundError:CODE
HIGHtests/test_check_parallel.py329except (KeyError, TypeError, PickleError, NotImplementedError):CODE
HIGHtests/lint/unittest_lint.py82except OSError:CODE
HIGHtests/checkers/unittest_spelling.py25except enchant.DictNotFoundError:CODE
HIGHtests/checkers/unittest_unicode/unittest_bad_chars.py82except UnicodeDecodeError:CODE
HIGHtests/input/func_i0013.py7except:CODE
HIGHtests/input/ignore_except_pass_by_default.py5except ValueError:CODE
HIGHtests/input/func_i0014.py7except:CODE
HIGHtests/regrtest_data/beyond_top/__init__.py5except ImportError:CODE
HIGH…l/ext/overlapping_exceptions/overlapping_exceptions.py18except (SomeException, SomeException): # [overlapping-except]CODE
HIGH…l/ext/overlapping_exceptions/overlapping_exceptions.py23except (SomeException, SubclassException): # [overlapping-except]CODE
HIGH…l/ext/overlapping_exceptions/overlapping_exceptions.py28except (SomeException, AliasException): # [overlapping-except]CODE
HIGH…l/ext/overlapping_exceptions/overlapping_exceptions.py33except (AliasException, SubclassException): # [overlapping-except]CODE
HIGH…l/ext/overlapping_exceptions/overlapping_exceptions.py39except (SomeException, AliasException, SubclassException):CODE
HIGH…l/ext/overlapping_exceptions/overlapping_exceptions.py44except (ArithmeticError, FloatingPointError): # [overlapping-except]CODE
118 more matches not shown…
Unused Imports920 hits · 886 pts
SeverityFileLineSnippetContext
LOWpylint/interfaces.py5CODE
LOWpylint/graph.py10CODE
LOWpylint/constants.py5CODE
LOWpylint/__init__.py5CODE
LOWpylint/__pkginfo__.py10CODE
LOWpylint/typing.py7CODE
LOWpylint/typing.py23CODE
LOWpylint/typing.py26CODE
LOWpylint/typing.py28CODE
LOWpylint/lint/report_functions.py5CODE
LOWpylint/lint/run.py5CODE
LOWpylint/lint/run.py233CODE
LOWpylint/lint/pylinter.py5CODE
LOWpylint/lint/__init__.py20CODE
LOWpylint/lint/__init__.py21CODE
LOWpylint/lint/__init__.py21CODE
LOWpylint/lint/__init__.py22CODE
LOWpylint/lint/__init__.py23CODE
LOWpylint/lint/__init__.py24CODE
LOWpylint/lint/__init__.py25CODE
LOWpylint/lint/__init__.py25CODE
LOWpylint/lint/__init__.py25CODE
LOWpylint/lint/__init__.py31CODE
LOWpylint/lint/__init__.py31CODE
LOWpylint/lint/message_state_handler.py5CODE
LOWpylint/lint/expand_modules.py5CODE
LOWpylint/lint/caching.py5CODE
LOWpylint/lint/base_options.py7CODE
LOWpylint/lint/utils.py5CODE
LOWpylint/lint/parallel.py5CODE
LOWpylint/checkers/dataclass_checker.py7CODE
LOWpylint/checkers/logging.py7CODE
LOWpylint/checkers/spelling.py7CODE
LOWpylint/checkers/misc.py7CODE
LOWpylint/checkers/async_checker.py7CODE
LOWpylint/checkers/dunder_methods.py5CODE
LOWpylint/checkers/symilar.py30CODE
LOWpylint/checkers/typecheck.py7CODE
LOWpylint/checkers/unicode.py14CODE
LOWpylint/checkers/modified_iterating_checker.py5CODE
LOWpylint/checkers/lambda_expressions.py5CODE
LOWpylint/checkers/variables.py7CODE
LOWpylint/checkers/unsupported_version.py9CODE
LOWpylint/checkers/ellipsis_checker.py7CODE
LOWpylint/checkers/clear_lru_cache.py5CODE
LOWpylint/checkers/deprecated.py7CODE
LOWpylint/checkers/non_ascii_names.py13CODE
LOWpylint/checkers/base_checker.py5CODE
LOWpylint/checkers/__init__.py43CODE
LOWpylint/checkers/__init__.py47CODE
LOWpylint/checkers/__init__.py47CODE
LOWpylint/checkers/__init__.py47CODE
LOWpylint/checkers/__init__.py52CODE
LOWpylint/checkers/format.py14CODE
LOWpylint/checkers/imports.py7CODE
LOWpylint/checkers/method_args.py7CODE
LOWpylint/checkers/match_statements_checker.py7CODE
LOWpylint/checkers/utils.py7CODE
LOWpylint/checkers/utils.py34CODE
LOWpylint/checkers/threading_checker.py5CODE
860 more matches not shown…
Cross-File Repetition43 hits · 215 pts
SeverityFileLineSnippetContext
HIGHpylint/pyreverse/plantuml_printer.py0create a new node. nodes can be classes, packages, participants etc.STRING
HIGHpylint/pyreverse/mermaidjs_printer.py0create a new node. nodes can be classes, packages, participants etc.STRING
HIGHpylint/pyreverse/printer.py0create a new node. nodes can be classes, packages, participants etc.STRING
HIGHpylint/pyreverse/dot_printer.py0create a new node. nodes can be classes, packages, participants etc.STRING
HIGHpylint/pyreverse/plantuml_printer.py0create an edge from one node to another to display relationships.STRING
HIGHpylint/pyreverse/mermaidjs_printer.py0create an edge from one node to another to display relationships.STRING
HIGHpylint/pyreverse/printer.py0create an edge from one node to another to display relationships.STRING
HIGHpylint/pyreverse/dot_printer.py0create an edge from one node to another to display relationships.STRING
HIGHtests/lint/unittest_lint.py0create a temp directory and change the current location to it. this is supposed to be used with a *with* statement.STRING
HIGHtests/config/test_find_default_config_files.py0create a temp directory and change the current location to it. this is supposed to be used with a *with* statement.STRING
HIGHtests/testutils/test_functional_testutils.py0create a temp directory and change the current location to it. this is supposed to be used with a *with* statement.STRING
HIGH…onal/ext/docparams/return/missing_return_doc_Google.py0test_ignores_return_in_abstract_method_numpy example of an abstract method documenting the return type that an implementSTRING
HIGH…onal/ext/docparams/return/missing_return_doc_Sphinx.py0test_ignores_return_in_abstract_method_numpy example of an abstract method documenting the return type that an implementSTRING
HIGH…ional/ext/docparams/return/missing_return_doc_Numpy.py0test_ignores_return_in_abstract_method_numpy example of an abstract method documenting the return type that an implementSTRING
HIGH…er/missing_param_doc_required_no_doc_rgx_check_init.py0tests for missing-param-doc and missing-type-doc for non-specified style docstrings with accept-no-param-doc = no and noSTRING
HIGH…ams/parameter/missing_param_doc_required_min_length.py0tests for missing-param-doc and missing-type-doc for non-specified style docstrings with accept-no-param-doc = no and noSTRING
HIGH…/ext/docparams/parameter/missing_param_doc_required.py0tests for missing-param-doc and missing-type-doc for non-specified style docstrings with accept-no-param-doc = no and noSTRING
HIGH…eter/missing_param_doc_required_no_doc_rgx_test_all.py0tests for missing-param-doc and missing-type-doc for non-specified style docstrings with accept-no-param-doc = no and noSTRING
HIGH…er/missing_param_doc_required_no_doc_rgx_check_none.py0tests for missing-param-doc and missing-type-doc for non-specified style docstrings with accept-no-param-doc = no and noSTRING
HIGHtests/functional/r/return_outside_function.py0this is grammatically correct, but it's still a syntaxerrorSTRING
HIGHtests/functional/y/yield_outside_func.py0this is grammatically correct, but it's still a syntaxerrorSTRING
HIGHtests/functional/y/yield_from_outside_func.py0this is grammatically correct, but it's still a syntaxerrorSTRING
HIGH…se/use_implicit_booleaness_not_comparison_to_string.py0cases where a comparison like `x != []` is used in a boolean context. it is safe and idiomatic to simplify `x != []` to STRING
HIGH…/use/use_implicit_booleaness_not_comparison_to_zero.py0cases where a comparison like `x != []` is used in a boolean context. it is safe and idiomatic to simplify `x != []` to STRING
HIGH…tional/u/use/use_implicit_booleaness_not_comparison.py0cases where a comparison like `x != []` is used in a boolean context. it is safe and idiomatic to simplify `x != []` to STRING
HIGH…se/use_implicit_booleaness_not_comparison_to_string.py0cases where a comparison like `x != []` is used in a non-boolean context. these comparisons cannot be safely replaced wiSTRING
HIGH…/use/use_implicit_booleaness_not_comparison_to_zero.py0cases where a comparison like `x != []` is used in a non-boolean context. these comparisons cannot be safely replaced wiSTRING
HIGH…tional/u/use/use_implicit_booleaness_not_comparison.py0cases where a comparison like `x != []` is used in a non-boolean context. these comparisons cannot be safely replaced wiSTRING
HIGHtests/functional/d/duplicate/duplicate_bases_slots.py0a basket that cannot be built, with a slot for its fruit.STRING
HIGH…functional/d/duplicate/duplicate_bases_class_assign.py0a basket that cannot be built, with a slot for its fruit.STRING
HIGH…ctional/d/duplicate/duplicate_bases_redefined_slots.py0a basket that cannot be built, with a slot for its fruit.STRING
HIGHdoc/data/messages/m/missing-return-doc/good.py0returns sum of two integers :param a: first integer :param b: second integer :return: sum of parameters a and bSTRING
HIGHdoc/data/messages/m/missing-return-type-doc/good.py0returns sum of two integers :param a: first integer :param b: second integer :return: sum of parameters a and bSTRING
HIGHdoc/data/messages/m/missing-return-type-doc/bad.py0returns sum of two integers :param a: first integer :param b: second integer :return: sum of parameters a and bSTRING
HIGHdoc/data/messages/m/missing-return-doc/bad.py0returns sum of two integers :param a: first integer :param b: second integerSTRING
HIGHdoc/data/messages/m/missing-raises-doc/bad.py0returns sum of two integers :param a: first integer :param b: second integerSTRING
HIGHdoc/data/messages/m/missing-type-doc/good.py0returns sum of two integers :param a: first integer :param b: second integerSTRING
HIGHdoc/data/messages/m/missing-type-doc/bad.py0returns sum of two integers :param a: first integer :param b: second integerSTRING
HIGHdoc/data/messages/m/missing-param-doc/good.py0returns sum of two integers :param a: first integer :param b: second integerSTRING
HIGHdoc/data/messages/m/missing-yield-type-doc/good.py0prints even numbers smaller than n. args: n: upper limit of even numbers.STRING
HIGHdoc/data/messages/m/missing-yield-type-doc/bad.py0prints even numbers smaller than n. args: n: upper limit of even numbers.STRING
HIGHdoc/data/messages/m/missing-yield-doc/good.py0prints even numbers smaller than n. args: n: upper limit of even numbers.STRING
HIGHdoc/data/messages/m/missing-yield-doc/bad.py0prints even numbers smaller than n. args: n: upper limit of even numbers.STRING
Deep Nesting165 hits · 144 pts
SeverityFileLineSnippetContext
LOWpylint/__pkginfo__.py15CODE
LOWpylint/lint/run.py141CODE
LOWpylint/lint/pylinter.py604CODE
LOWpylint/lint/pylinter.py638CODE
LOWpylint/lint/pylinter.py734CODE
LOWpylint/lint/message_state_handler.py348CODE
LOWpylint/lint/expand_modules.py71CODE
LOWpylint/checkers/logging.py322CODE
LOWpylint/checkers/spelling.py339CODE
LOWpylint/checkers/misc.py150CODE
LOWpylint/checkers/async_checker.py54CODE
LOWpylint/checkers/symilar.py566CODE
LOWpylint/checkers/typecheck.py1153CODE
LOWpylint/checkers/typecheck.py1591CODE
LOWpylint/checkers/typecheck.py2050CODE
LOWpylint/checkers/typecheck.py2167CODE
LOWpylint/checkers/unicode.py249CODE
LOWpylint/checkers/modified_iterating_checker.py70CODE
LOWpylint/checkers/variables.py219CODE
LOWpylint/checkers/variables.py265CODE
LOWpylint/checkers/variables.py941CODE
LOWpylint/checkers/variables.py1022CODE
LOWpylint/checkers/variables.py1116CODE
LOWpylint/checkers/variables.py1598CODE
LOWpylint/checkers/variables.py1921CODE
LOWpylint/checkers/variables.py2364CODE
LOWpylint/checkers/variables.py2740CODE
LOWpylint/checkers/variables.py3300CODE
LOWpylint/checkers/variables.py3341CODE
LOWpylint/checkers/variables.py3420CODE
LOWpylint/checkers/format.py311CODE
LOWpylint/checkers/imports.py89CODE
LOWpylint/checkers/utils.py331CODE
LOWpylint/checkers/utils.py385CODE
LOWpylint/checkers/utils.py553CODE
LOWpylint/checkers/utils.py672CODE
LOWpylint/checkers/utils.py782CODE
LOWpylint/checkers/utils.py882CODE
LOWpylint/checkers/utils.py934CODE
LOWpylint/checkers/utils.py1099CODE
LOWpylint/checkers/utils.py1709CODE
LOWpylint/checkers/utils.py1923CODE
LOWpylint/checkers/utils.py2046CODE
LOWpylint/checkers/raw_metrics.py79CODE
LOWpylint/checkers/newstyle.py47CODE
LOWpylint/checkers/exceptions.py485CODE
LOWpylint/checkers/exceptions.py583CODE
LOWpylint/checkers/looping_iterator_checker.py110CODE
LOWpylint/checkers/stdlib.py795CODE
LOWpylint/checkers/stdlib.py857CODE
LOWpylint/checkers/stdlib.py899CODE
LOWpylint/checkers/strings.py266CODE
LOWpylint/checkers/strings.py539CODE
LOWpylint/checkers/strings.py948CODE
LOWpylint/checkers/nested_min_max.py84CODE
LOWpylint/checkers/classes/class_checker.py414CODE
LOWpylint/checkers/classes/class_checker.py462CODE
LOWpylint/checkers/classes/class_checker.py532CODE
LOWpylint/checkers/classes/class_checker.py1200CODE
LOWpylint/checkers/classes/class_checker.py1256CODE
105 more matches not shown…
Dead Code56 hits · 112 pts
SeverityFileLineSnippetContext
MEDIUM…s/functional/ext/docparams/raise/missing_raises_doc.py25CODE
MEDIUM…s/functional/ext/docparams/raise/missing_raises_doc.py42CODE
MEDIUM…tional/ext/docparams/raise/missing_raises_doc_Numpy.py20CODE
MEDIUM…tional/ext/docparams/raise/missing_raises_doc_Numpy.py34CODE
MEDIUM…tional/ext/docparams/raise/missing_raises_doc_Numpy.py158CODE
MEDIUM…tional/ext/docparams/raise/missing_raises_doc_Numpy.py182CODE
MEDIUM…tional/ext/docparams/raise/missing_raises_doc_Numpy.py215CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Sphinx.py13CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Sphinx.py36CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Sphinx.py37CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Sphinx.py38CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Sphinx.py48CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Sphinx.py97CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Sphinx.py110CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Google.py13CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Google.py83CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Google.py94CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Google.py95CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Google.py96CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Google.py158CODE
MEDIUM…ional/ext/docparams/raise/missing_raises_doc_Google.py180CODE
MEDIUM…onal/ext/docparams/return/missing_return_doc_Google.py95CODE
MEDIUM…onal/ext/docparams/return/missing_return_doc_Google.py112CODE
MEDIUM…docparams/return/missing_return_doc_required_Google.py57CODE
MEDIUM…docparams/return/missing_return_doc_required_Google.py74CODE
MEDIUM…docparams/return/missing_return_doc_required_Sphinx.py64CODE
MEDIUM…/docparams/return/missing_return_doc_required_Numpy.py59CODE
MEDIUM…/docparams/return/missing_return_doc_required_Numpy.py78CODE
MEDIUM…/docparams/return/missing_return_doc_required_Numpy.py97CODE
MEDIUM…cparams/parameter/missing_param_doc_required_Sphinx.py343CODE
MEDIUM…cparams/parameter/missing_param_doc_required_Sphinx.py382CODE
MEDIUMtests/functional/u/unreachable.py11CODE
MEDIUMtests/functional/u/unreachable.py26CODE
MEDIUMtests/functional/u/unreachable.py33CODE
MEDIUMtests/functional/u/unreachable.py38CODE
MEDIUMtests/functional/u/unreachable.py39CODE
MEDIUMtests/functional/u/unreachable.py124CODE
MEDIUMtests/functional/u/unreachable.py130CODE
MEDIUMtests/functional/u/unreachable.py135CODE
MEDIUMtests/functional/u/unreachable.py148CODE
MEDIUMtests/functional/u/unreachable.py149CODE
MEDIUMtests/functional/u/unreachable.py154CODE
MEDIUMtests/functional/u/unicode/unicode_bidi_early_return.py15CODE
MEDIUMtests/functional/u/unicode/unicode_bidi_early_return.py16CODE
MEDIUMtests/functional/u/unused/unused_private_member.py162CODE
MEDIUMtests/functional/b/bad_exception_cause.py14CODE
MEDIUMtests/functional/b/bad_exception_cause.py15CODE
MEDIUMtests/functional/b/bad_exception_cause.py16CODE
MEDIUMtests/functional/b/bad_exception_cause.py17CODE
MEDIUMtests/functional/b/bad_exception_cause.py18CODE
MEDIUMtests/functional/b/bad_exception_cause.py19CODE
MEDIUMtests/functional/b/bad_exception_cause.py20CODE
MEDIUMtests/functional/b/bad_exception_cause.py21CODE
MEDIUMtests/functional/b/bad_exception_cause.py22CODE
MEDIUMtests/functional/b/bad_exception_cause.py23CODE
MEDIUMdoc/data/messages/u/unreachable/bad.py3CODE
Excessive Try-Catch Wrapping79 hits · 96 pts
SeverityFileLineSnippetContext
LOWpylint/lint/pylinter.py902 except Exception as ex: # pylint: disable=broad-exceptCODE
LOWpylint/lint/pylinter.py938 except Exception as e:CODE
LOWpylint/lint/pylinter.py981 except Exception as e: # pragma: no coverCODE
LOWpylint/lint/pylinter.py1148 except Exception as ex:CODE
LOWpylint/lint/pylinter.py1287 except Exception as ex: # pylint: disable=broad-exceptCODE
LOWpylint/lint/caching.py79 except Exception: # pylint: disable=broad-exceptCODE
LOWpylint/lint/utils.py99 except Exception as exc: # pylint: disable=broad-exceptSTRING
LOWpylint/checkers/imports.py1089 except Exception as e: # pragma: no coverCODE
LOWpylint/checkers/utils.py1366 except Exception as e: # pragma: no coverCODE
LOWpylint/checkers/utils.py1402 except Exception as e: # pragma: no coverCODE
LOWpylint/checkers/utils.py1415 except Exception as e: # pragma: no coverCODE
LOWpylint/utils/ast_walker.py93 except Exception:CODE
LOWpylint/pyreverse/inspector.py44 except Exception: # pylint: disable=broad-exceptCODE
LOWpylint/reporters/json_reporter.py187 except Exception as ex: # pylint: disable=broad-exceptCODE
LOWpylint/testutils/configuration_test.py112 except Exception as e: # pylint: disable=broad-exceptCODE
LOWpylint/testutils/output_line.py97 except Exception: # pylint: disable=broad-exceptCODE
LOWpylint/testutils/checker_test_case.py54 except Exception:CODE
LOWtests/test_func.py73 except Exception as ex:CODE
LOW⚡tests/checkers/unittest_utils.py243 except Exception:CODE
LOW⚡tests/checkers/unittest_utils.py253 except Exception:CODE
LOW⚡tests/checkers/unittest_utils.py266 except Exception:CODE
LOW⚡tests/checkers/unittest_utils.py278 except Exception:CODE
LOWtests/checkers/unittest_utils.py69 except Exception: #@CODE
LOWtests/checkers/unittest_utils.py88 except Exception:CODE
LOW…/r/regression/regression_3416_unused_argument_raise.py13 except Exception:CODE
LOWtests/functional/u/unused/unused_private_member.py242 except Exception: # pylint: disable=broad-exceptCODE
LOWtests/functional/u/unused/unused_private_member.py261 except Exception: # pylint: disable=broad-exceptCODE
MEDIUMtests/functional/u/unused/unused_private_member.py238def __init__(self):CODE
MEDIUMtests/functional/u/unused/unused_private_member.py258def __init__(self):CODE
MEDIUMtests/functional/u/unused/unused_variable.py119def func():CODE
LOWtests/functional/u/unused/unused_variable.py222 except Exception as e:CODE
LOWtests/functional/u/unused/unused_variable.py228 except Exception as e: # [unused-variable]CODE
LOWtests/functional/u/undefined/undefined_variable.py44except Exception: # pylint:disable = broad-exceptCODE
LOWtests/functional/u/undefined/undefined_variable.py167except Exception:CODE
LOW…sts/functional/u/used/used_before_assignment_typing.py39 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWtests/functional/n/no/no_name_in_module.py55except Exception:CODE
LOWtests/functional/n/no/no_name_in_module.py72except Exception:CODE
LOWtests/functional/n/no/no_else_return.py188 except Exception:CODE
LOWtests/functional/n/no/no_member_if_statements.py49except Exception as err:CODE
MEDIUMtests/functional/n/no/no_member_if_statements.py53 print(f'An error occurred: {str(err)}')CODE
LOWtests/functional/n/no/no_member_if_statements.py76except Exception as ex:CODE
LOWtests/functional/t/try_except_raise.py115except Exception:CODE
LOWtests/functional/t/try_except_raise_crash.py25 except Exception:CODE
MEDIUMtests/functional/t/try_except_raise_crash.py20def test():CODE
LOW⚡tests/functional/m/misplaced_bare_raise.py7except Exception:CODE
LOW⚡tests/functional/m/misplaced_bare_raise.py12except Exception:CODE
LOW⚡tests/functional/m/misplaced_bare_raise.py17except Exception:CODE
LOW⚡tests/functional/m/misplaced_bare_raise.py24 except Exception:CODE
LOW⚡tests/functional/m/misplaced_bare_raise.py28 except Exception:CODE
LOW⚡tests/functional/m/misplaced_bare_raise.py37 except Exception:CODE
LOWtests/functional/m/misplaced_bare_raise.py55 except Exception:CODE
MEDIUMtests/functional/m/misplaced_bare_raise.py21def test():CODE
MEDIUMtests/functional/m/misplaced_bare_raise.py25def chest():CODE
MEDIUMtests/functional/m/misplaced_bare_raise.py32def test1():CODE
LOWtests/functional/m/member/member_checks.py124 except Exception:CODE
LOW⚡…nctional/c/contextmanager_generator_missing_cleanup.py166 except Exception:CODE
LOWtests/functional/c/continue_in_finally.py20 except Exception:CODE
LOWtests/functional/d/disabled_msgid_in_pylintrc.py5except Exception:CODE
LOWtests/functional/b/bad_except_order.py7except Exception:CODE
LOWtests/functional/b/bad_except_order.py30except Exception:CODE
19 more matches not shown…
Redundant / Tautological Comments50 hits · 74 pts
SeverityFileLineSnippetContext
LOWpylint/lint/message_state_handler.py291 # Check if the message's line is after the maximum line existing in ast tree.COMMENT
LOWpylint/checkers/async_checker.py60 # Check if we are dealing with a function decoratedCOMMENT
LOWpylint/checkers/async_checker.py65 # Check if we are dealing with a function decoratedCOMMENT
LOWpylint/checkers/typecheck.py507 # Verify if we are dealing with an invalid Super object.COMMENT
LOWpylint/checkers/typecheck.py1873 # Check if the keyword is another type of argumentCOMMENT
LOWpylint/checkers/typecheck.py1902 # Check if this instance's __getitem__, __setitem__, or __delitem__, asCOMMENT
LOWpylint/checkers/typecheck.py2057 # Check if we are dealing with a function decoratedCOMMENT
LOWpylint/checkers/typecheck.py2063 # Check if it's an AsyncGenerator decorated with asynccontextmanagerCOMMENT
LOW⚡pylint/checkers/variables.py2660 # Check if used as type annotationCOMMENT
LOW⚡pylint/checkers/variables.py2666 # Check if used as default value by calling the classCOMMENT
LOWpylint/checkers/variables.py2272 # Check if we have starred nodes.COMMENT
LOWpylint/checkers/variables.py3083 # Check if node is a cell varCOMMENT
LOWpylint/checkers/variables.py3478 # Check if the name is in fact loaded from aCOMMENT
LOWpylint/checkers/variables.py3641 # Check if parent's or grandparent's first child is typing.LiteralCOMMENT
LOWpylint/checkers/imports.py716 # Check if import comes after a non-import statementCOMMENT
LOWpylint/checkers/exceptions.py431 # Check if it is a tuple of exceptions.COMMENT
LOWpylint/checkers/stdlib.py872 # Check if there is a maxsize argument set to None in the callCOMMENT
LOWpylint/checkers/bad_chained_comparison.py38 # Check if comparison operators are in the same semantic groupCOMMENT
LOWpylint/checkers/classes/class_checker.py1380 # Check if any method attr is defined in is a defining methodCOMMENT
LOWpylint/checkers/classes/class_checker.py1879 # Check if we have a conflict with a class variable.COMMENT
LOWpylint/checkers/classes/class_checker.py1924 # Check if attribute call is in frame definition in class definitionCOMMENT
LOWpylint/checkers/classes/class_checker.py2093 # Check if the arg passed to classmethod is a class memberCOMMENT
LOWpylint/checkers/classes/class_checker.py2175 # Check if we are inside the scope of a class or nested inner classCOMMENT
LOWpylint/checkers/classes/class_checker.py2402 # Check if there is a decorator which is not named `staticmethod`COMMENT
LOWpylint/checkers/classes/class_checker.py2547 # Check if the init of the class that defines this init has alreadyCOMMENT
LOW…nt/checkers/refactoring/implicit_booleaness_checker.py274 # Set target_node to opposite side of literalCOMMENT
LOWpylint/checkers/refactoring/recommendation_checker.py112 # Check if call is split() or rsplit()COMMENT
LOWpylint/checkers/refactoring/recommendation_checker.py150 # Check if loop present within the scope of the nodeCOMMENT
LOWpylint/checkers/refactoring/recommendation_checker.py156 # Check if var is mutated within loop (Assign/AugAssign)COMMENT
LOWpylint/checkers/refactoring/refactoring_checker.py728 # Check if both branches can be reduced.COMMENT
LOWpylint/checkers/refactoring/refactoring_checker.py740 # Check if we assign to the same valueCOMMENT
LOWpylint/checkers/refactoring/refactoring_checker.py2660 # Check if there are any for / while loops within the loop in question;COMMENT
LOWpylint/checkers/refactoring/refactoring_checker.py2828 # Check if there are any for / while loops within the loop in question;COMMENT
LOWpylint/checkers/refactoring/refactoring_checker.py2837 # Check if there are any if statements within the loop in question;COMMENT
LOWpylint/checkers/base/function_checker.py119 # Check if yield expression is last statementCOMMENT
LOWpylint/checkers/base/basic_error_checker.py635 # Check if we have forward references for this node.COMMENT
LOWpylint/config/arguments_manager.py388 # Check if it is default value if we are in minimal modeCOMMENT
LOWpylint/config/config_initialization.py97 # Check if there are any options that we do not recognizeCOMMENT
LOWpylint/extensions/code_style.py258 # Check if `node.test` contains a `Name` nodeCOMMENT
LOWpylint/extensions/code_style.py275 # Check if match statement would be a better fit.COMMENT
LOWpylint/extensions/redefined_variable_type.py61 # Check if there is a type in the following nodes that would beCOMMENT
LOWpylint/reporters/text.py131 # Set template to the currently selected templateCOMMENT
LOW…lint/testutils/functional/lint_module_output_update.py39 # Write file with expected outputCOMMENT
LOWtests/test_self.py1792 # Check if they are loadedCOMMENT
LOW…ts/functional/u/unicode/unicode_bidi_commenting_out.py11 if access_level != "none‮⁦": # Check if admin ⁩⁦' and access_level != 'userCODE
LOWtests/functional/t/too/too_many_function_args.py26# Check if respecting Python's actual runtime MRO when using metaclassesCOMMENT
LOWtests/functional/a/arguments.py338# Check if respecting Python's actual runtime MRO when using metaclassesCOMMENT
LOWexamples/pyproject.toml97# Add paths to the list of the source roots. Supports globbing patterns. TheSTRING
LOWdoc/test_messages_documentation.py107 # Check if this message has a custom configuration file (e.g. for enabling optional checkers).COMMENT
LOWdoc/exts/pylint_messages.py361 # Check if the placeholder file can even be presented by checking if its path existsSTRING
Over-Commented Block67 hits · 64 pts
SeverityFileLineSnippetContext
LOWpyproject.toml201 "tests/functional/**",COMMENT
LOWpylint/checkers/variables.py1981 # under the scope of the parent self-referring class.COMMENT
LOWpylint/checkers/variables.py2401 )COMMENT
LOWpylint/checkers/variables.py2741 # filter variables according to node's scopeCOMMENT
LOWpylint/checkers/format.py401 returnCOMMENT
LOWpylint/checkers/exceptions.py381 # cause.COMMENT
LOWpylint/checkers/strings.py961 # alert, and continue.COMMENT
LOWpylint/checkers/refactoring/refactoring_checker.py761COMMENT
LOWpylint/checkers/refactoring/refactoring_checker.py801 c in token_string[15:] for c in ("trailing-comma-tuple", "R1707")COMMENT
LOWpylint/utils/file_state.py61 msg_state: dict[int, bool],COMMENT
LOWpylint/utils/file_state.py121 # 1. """Module docstring"""COMMENT
LOWtests/lint/unittest_discover_files.py201 # This is essentially a "test the test" scenario, where we make sure of theCOMMENT
LOWtests/lint/__init__.py1# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.htmlCOMMENT
LOWtests/input/func_noerror_cycle/__init__.py1# https://github.com/pylint-dev/pylint/issues/3525COMMENT
LOWtests/message/__init__.py1# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.htmlCOMMENT
LOWtests/extensions/__init__.py1# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.htmlCOMMENT
LOWtests/regrtest_data/line_too_long_no_code.py1# ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJCOMMENT
LOWtests/functional/n/nested_min_max.py81# so ``max([1, 2], max([3, 4], [5, 6]))`` equals ``max([1, 2], [3, 4], [5, 6])``COMMENT
LOW…functional/t/too/too_many_ancestors_ignored_parents.py1# pylint: disable=missing-docstring, too-few-public-methods, invalid-nameCOMMENT
LOWtests/functional/f/fixme.py1"""Tests for fixme and its disabling and enabling."""COMMENT
LOWtests/functional/f/fixme.py21 # TODO: Do something with the variablesCOMMENT
LOWtests/functional/d/docstrings.py21# +1: [missing-class-docstring]COMMENT
LOWtests/functional/e/.#emacs_file_lock_redefined_conf.py1# [invalid-name]COMMENT
LOWtests/functional/e/.#emacs_file_lock_by_conf.py1# The name is invalid, but we should not analyse this fileCOMMENT
LOWtests/functional/e/.#emacs_file_lock.py1# The name is invalid, but we should not analyse this fileCOMMENT
LOWtests/functional/b/bad_option_value.py1"""Check unknown or deleted option. """COMMENT
LOWtests/functional/b/bad_option_value.py21# disable-next with msgid moved to extensionCOMMENT
LOWtests/testutils/dummy_checker.py1# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.htmlCOMMENT
LOWscript/copyright.txt1# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.htmlCOMMENT
LOWscript/__init__.py1# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.htmlCOMMENT
LOWexamples/pyproject.toml1[tool.pylint]COMMENT
LOWexamples/pyproject.toml21# Return non-zero exit code if any of these messages/categories are detected,COMMENT
LOWexamples/pyproject.toml41# can't be used as an escape character.COMMENT
LOWexamples/pyproject.toml61# This can help the performance when dealing with large functions or complex,COMMENT
LOWexamples/pyproject.toml81 max(0, 0 if fatal else 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10))\COMMENT
LOWexamples/pyproject.toml101# source-roots =COMMENT
LOWexamples/pyproject.toml121# Naming style matching correct class attribute names.COMMENT
LOWexamples/pyproject.toml141# style. If left empty, constant names will be checked with the set naming style.COMMENT
LOWexamples/pyproject.toml161# inlinevar-naming-style. If left empty, inline iteration names will be checkedCOMMENT
LOWexamples/pyproject.toml181# left empty, parameter specification variable names will be checked with the setCOMMENT
LOWexamples/pyproject.toml201# Regexp for a line that is allowed to be longer than the limit.COMMENT
LOWexamples/pyproject.toml241# Minimum number of public methods for a class (see R0903).COMMENT
LOWexamples/pyproject.toml261# single-line-class-stmt =COMMENT
LOWexamples/pyproject.toml281# Force import order to recognize a module as part of a first party library.COMMENT
LOWexamples/pyproject.toml321# Let 'consider-using-join' be raised when the separator to join on would be non-COMMENT
LOWexamples/pyproject.toml341# appear at the beginning of a comment and should not be checked.COMMENT
LOWexamples/pyproject.toml361# inferred to be None.COMMENT
LOWexamples/pyproject.toml381# Couples of functions with side effects that are often believed to returnCOMMENT
LOWexamples/pyproject.toml401# additional-builtins =COMMENT
LOWexamples/pyproject.toml421# List of note tags to take in consideration, separated by a comma.COMMENT
LOW.github/workflows/codeql-analysis.yml1# For most projects, this workflow file will not need changing; you simply needCOMMENT
LOW.github/workflows/codeql-analysis.yml61 # By default, queries listed here will override any specified in a config file.COMMENT
LOWdoc/conf.py1# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.htmlCOMMENT
LOWdoc/conf.py121# The version info for the project you're documenting, acts as replacement forCOMMENT
LOWdoc/conf.py141exclude_patterns = ["_build", "data/**", "whatsnew/fragments"]COMMENT
LOWdoc/conf.py161# modindex_common_prefix = []COMMENT
LOWdoc/conf.py181# html_title = NoneCOMMENT
LOWdoc/conf.py201# using the given strftime format.COMMENT
LOWdoc/conf.py221# html_split_index = FalseCOMMENT
LOWdoc/conf.py261 )COMMENT
7 more matches not shown…
Overly Generic Function Names38 hits · 44 pts
SeverityFileLineSnippetContext
LOWtests/regrtest_data/beyond_top_three/a.py6def do_something(var, some_other_var): # errorCODE
LOW…beyond_top_two/namespace_package/top_level_function.py4def do_something():CODE
LOWtests/functional/ext/check_elif/check_elif.py7def my_function():CODE
LOW⚡tests/functional/r/regression_02/regression_4660.py18 def my_method(self, option: Literal["mandatory"]) -> Callable[..., Any]:CODE
LOW⚡tests/functional/r/regression_02/regression_4660.py27 def my_method(self, option: Literal["mandatory"]) -> Callable[..., Any]:CODE
LOW⚡tests/functional/r/regression_02/regression_4660.py31 def my_method(CODE
LOW⚡tests/functional/r/regression_02/regression_4660.py36 def my_method(CODE
LOWtests/functional/u/unexpected_keyword_arg.py38def do_something(junk=None):CODE
LOW…upported/unsupported_version_for_final_import_error.py14 def my_method(self):CODE
LOW⚡…ctional/u/unsupported/unsupported_version_for_final.py14 def my_method(self):CODE
LOW⚡…ctional/u/unsupported/unsupported_version_for_final.py21 def my_method(self):CODE
LOW⚡…ctional/u/unsupported/unsupported_version_for_final.py28 def my_method(self):CODE
LOW⚡…ctional/u/unsupported/unsupported_version_for_final.py35 def my_method(self):CODE
LOWtests/functional/u/use/use_symbolic_message_instead.py4def my_function(arg): # [missing-function-docstring]CODE
LOW…tional/u/use/use_implicit_booleaness_not_comparison.py149def test_function():CODE
LOW…s/functional/u/undefined/undefined_variable_classes.py22 def my_method(self) -> MyType:CODE
LOWtests/functional/u/undefined/undefined_loop_variable.py6def do_stuff(some_random_list):CODE
LOW…/functional/u/unbalanced/unbalanced_tuple_unpacking.py11def do_stuff():CODE
LOW…/functional/u/unbalanced/unbalanced_tuple_unpacking.py151def my_function(mystring):CODE
LOW⚡…onal/u/used/used_before_assignment_type_annotations.py85 def my_method(self) -> Coords:CODE
LOWtests/functional/t/too/too_many_nested_blocks.py5def my_function():CODE
LOW…ts/functional/t/type/typealias_naming_style_default.py36def my_function():CODE
LOW…functional/a/access/access_member_before_definition.py121 def helper(self):CODE
LOW…functional/a/access/access_member_before_definition.py125 def helper():CODE
LOW…nctional/a/assignment/assignment_from_no_return_py3.py33def do_stuff():CODE
LOWtests/functional/f/function_redefined.py127def do_something() -> int:CODE
LOW⚡tests/functional/o/overridden_final_method_py38.py10 def my_method(self):CODE
LOW⚡tests/functional/o/overridden_final_method_py38.py15 def my_method(self): # [overridden-final-method]CODE
LOW⚡tests/functional/o/overridden_final_method_py38.py25 def my_method(self):CODE
LOW⚡tests/functional/o/overridden_final_method_py38.py30 def my_method(self): # [overridden-final-method]CODE
LOW…s/functional/o/overridden_final_method_import_error.py13 def my_method(self):CODE
LOW…s/functional/o/overridden_final_method_import_error.py18 def my_method(self):CODE
LOWtests/functional/m/modified_iterating.py121 def my_method(self):CODE
LOWtests/functional/m/modified_iterating.py132 def my_method(self):CODE
LOWtests/functional/c/consider/consider_using_enumerate.py82def my_function(instance: MyClass):CODE
LOWtests/functional/d/deprecated/deprecated_decorators.py8 def my_method(cls):CODE
LOWdoc/data/messages/u/unnecessary-ellipsis/good.py1def my_function():CODE
LOWdoc/data/messages/u/unnecessary-ellipsis/bad.py1def my_function():CODE
Modern Structural Boilerplate33 hits · 32 pts
SeverityFileLineSnippetContext
LOWpylint/__init__.py7__all__ = [CODE
LOWpylint/lint/pylinter.py1054 def set_current_module(self, modname: str, filepath: str | None = None) -> None:CODE
LOWpylint/lint/__init__.py33__all__ = [CODE
LOWpylint/checkers/__init__.py133__all__ = [CODE
LOWpylint/checkers/classes/class_checker.py884 def set_accessed(self, node: _AccessNodes) -> None:CODE
LOWpylint/checkers/refactoring/__init__.py21__all__ = [CODE
LOWpylint/checkers/base/__init__.py9__all__ = [CODE
LOWpylint/checkers/base/name_checker/__init__.py5__all__ = [CODE
LOWpylint/config/arguments_manager.py407 def set_option(self, optname: str, value: Any) -> None:CODE
LOWpylint/config/__init__.py7__all__ = ["find_default_config_files"]CODE
LOWpylint/config/utils.py155def _set_rcfile(run: Run, value: str | None) -> None:CODE
LOWpylint/config/utils.py161def _set_output(run: Run, value: str | None) -> None:CODE
LOWpylint/config/utils.py173def _set_verbose_mode(run: Run, value: str | None) -> None:CODE
LOWpylint/message/__init__.py12__all__ = [CODE
LOWpylint/utils/__init__.py29__all__ = [CODE
LOWpylint/extensions/__init__.py20__all__ = ["initialize"]CODE
LOWpylint/pyreverse/diadefslib.py84 def _set_default_options(self) -> None:CODE
LOWpylint/pyreverse/writer.py173 def set_printer(self, file_name: str, basename: str) -> None:CODE
LOWpylint/reporters/__init__.py32__all__ = [CODE
LOWpylint/reporters/text.py245 def set_fail_on_symbols(self, fail_on_symbols: list[str]) -> None:CODE
LOWpylint/testutils/__init__.py7__all__ = [CODE
LOWpylint/testutils/_primer/__init__.py5__all__ = ["PRIMER_DIRECTORY_PATH", "PackageToLint"]CODE
LOWpylint/testutils/functional/__init__.py5__all__ = [CODE
LOWtests/regrtest_data/package_all/__init__.py3__all__ = ['notmissing', 'missing']CODE
LOWtests/functional/r/regression_03/regression_2981.py49 def set_x(self, x: int) -> None:CODE
LOW…nal/u/unused/unused_variable_future_and_annotations.py7__all__ = [ "apple" ]CODE
LOW…al/i/invalid/invalid_all/invalid_all_format_valid_2.py2__all__ = ["CONST"]CODE
LOWtests/functional/n/names_in__all__.py14__all__ = [CODE
LOWtests/functional/n/not_callable.py154 def set_item(self, item: int) -> None:CODE
LOWdoc/data/messages/u/undefined-all-variable/good.py1__all__ = ["get_fruit_color"]CODE
LOWdoc/data/messages/u/undefined-all-variable/bad.py1__all__ = ["get_fruit_colour"] # [undefined-all-variable]CODE
LOWdoc/data/messages/i/invalid-all-object/good.py1__all__ = ["Fruit", "Worm"]CODE
LOWdoc/data/messages/t/too-many-lines/good/__init__.py1__all__ = ["is_palindrome", "main"]CODE
Self-Referential Comments12 hits · 32 pts
SeverityFileLineSnippetContext
MEDIUMpylint/lint/pylinter.py1151 # Creating an issue template and adding the 'astroid-error' message is handledCOMMENT
MEDIUMpylint/checkers/refactoring/refactoring_checker.py1031 # This function is written expecting a test condition of form:COMMENT
MEDIUMpylint/config/arguments_manager.py363 # Create a comment if the option has no valueCOMMENT
MEDIUMtests/test_check_parallel.py400 # Create a dummy file, the actual contents of which will be ignored by theCOMMENT
MEDIUMtests/test_check_parallel.py469 # Create a dummy file, the actual contents of which will be ignored by theCOMMENT
MEDIUMtests/test_check_parallel.py683 # Create a dummy file, the actual contents of which will be ignored by theCOMMENT
MEDIUMtests/pyreverse/test_diadefs.py539 # Create a tree with a single root node and multiple leaf nodesSTRING
MEDIUM.github/workflows/primer_run_main.yaml48 # Create a re-usable virtual environmentCOMMENT
MEDIUMdoc/conf.py14# This file is execfile()d with the current directory set to its containing dir.COMMENT
MEDIUMdoc/exts/pylint_options.py139 # Create a comment if the option has no valueCOMMENT
MEDIUMdoc/data/messages/t/too-many-statements/bad.py7 # This function is a masterpiece of code that embodies the epitome of efficiencyCOMMENT
MEDIUM…/data/messages/t/too-many-positional-arguments/good.py2 """This function is 'Keyword only' for all args due to the '*'."""STRING
Fake / Example Data25 hits · 30 pts
SeverityFileLineSnippetContext
LOW⚡…functional/i/implicit/implicit_str_concat_multiline.py10 "Lorem ipsum dolor sit amet, consectetur adipiscing elit,"CODE
LOW⚡…functional/i/implicit/implicit_str_concat_multiline.py10 "Lorem ipsum dolor sit amet, consectetur adipiscing elit,"CODE
LOW⚡…functional/i/implicit/implicit_str_concat_multiline.py17 "Lorem ipsum dolor sit amet, consectetur adipiscing elit,"CODE
LOW⚡…functional/i/implicit/implicit_str_concat_multiline.py17 "Lorem ipsum dolor sit amet, consectetur adipiscing elit,"CODE
LOW⚡…functional/i/implicit/implicit_str_concat_multiline.py25 "Lorem ipsum dolor sit amet, ""consectetur adipiscing elit," # [implicit-str-concat]CODE
LOW⚡…functional/i/implicit/implicit_str_concat_multiline.py25 "Lorem ipsum dolor sit amet, ""consectetur adipiscing elit," # [implicit-str-concat]CODE
LOW⚡…functional/i/implicit/implicit_str_concat_multiline.py26 "Lorem ipsum dolor sit amet, consectetur adipiscing elit,"CODE
LOW⚡…functional/i/implicit/implicit_str_concat_multiline.py26 "Lorem ipsum dolor sit amet, consectetur adipiscing elit,"CODE
LOW⚡…functional/i/implicit/implicit_str_concat_multiline.py35 "Lorem ipsum dolor sit amet, consectetur adipiscing elit,"CODE
LOW⚡…functional/i/implicit/implicit_str_concat_multiline.py35 "Lorem ipsum dolor sit amet, consectetur adipiscing elit,"CODE
LOW⚡…functional/i/implicit/implicit_str_concat_multiline.py44 "Lorem ipsum dolor sit amet, consectetur adipiscing elit," # [implicit-str-concat]CODE
LOW⚡…functional/i/implicit/implicit_str_concat_multiline.py44 "Lorem ipsum dolor sit amet, consectetur adipiscing elit," # [implicit-str-concat]CODE
LOWtests/functional/i/implicit/implicit_str_concat.py13print("Lorem ipsum " "dolor sit amet") # [implicit-str-concat]CODE
LOWtests/functional/i/implicit/implicit_str_concat.py13print("Lorem ipsum " "dolor sit amet") # [implicit-str-concat]CODE
LOWtests/functional/i/implicit/implicit_str_concat.py36 "Lorem ipsum dolor sit amet, consectetur adipiscing elit,"CODE
LOWtests/functional/i/implicit/implicit_str_concat.py36 "Lorem ipsum dolor sit amet, consectetur adipiscing elit,"CODE
LOWtests/functional/f/fixme_bad_formatting_1139.py6# TODO Lorem ipsum dolor sit amet consectetur adipiscing elit # [fixme]COMMENT
LOWtests/functional/f/fixme_bad_formatting_1139.py6# TODO Lorem ipsum dolor sit amet consectetur adipiscing elit # [fixme]COMMENT
LOWtests/functional/f/fixme_bad_formatting_1139.txt1fixme:6:1:None:None::TODO Lorem ipsum dolor sit amet consectetur adipiscing elit # [fixme]:UNDEFINEDCODE
LOWtests/functional/f/fixme_bad_formatting_1139.txt1fixme:6:1:None:None::TODO Lorem ipsum dolor sit amet consectetur adipiscing elit # [fixme]:UNDEFINEDCODE
LOWdoc/exts/pylint_messages.py369 placeholder_good = "placeholder" in f.read()STRING
LOWdoc/data/messages/d/docstring-first-line-empty/good.py2 """Lorem Ipsum is simply dummy text of the printing and typesettingSTRING
LOWdoc/data/messages/d/docstring-first-line-empty/good.py5 Lorem Ipsum has been the industry's standard dummy text ever since theSTRING
LOWdoc/data/messages/d/docstring-first-line-empty/bad.py3 Lorem Ipsum is simply dummy text of the printing and typesettingSTRING
LOWdoc/data/messages/d/docstring-first-line-empty/bad.py6 Lorem Ipsum has been the industry's standard dummy text ever since theSTRING
Cross-Language Confusion5 hits · 25 pts
SeverityFileLineSnippetContext
HIGHpylint/checkers/variables.py812 # ``Const`` carries whose truthiness is undefined, so treat itSTRING
HIGH…s/functional/u/used/used_before_assignment_nonlocal.py33def test_fail4(*args: test_fail5, **kwargs: undefined):CODE
HIGHtests/functional/g/globals.py33 global SOMEVAR # [global-variable-undefined]CODE
HIGHtests/functional/m/match_class_pattern.py54 # If class name is undefined, we can't get __match_args__COMMENT
HIGHdoc/data/messages/g/global-variable-undefined/bad.py2 global TOMATO # [global-variable-undefined]CODE
AI Slop Vocabulary10 hits · 20 pts
SeverityFileLineSnippetContext
LOWpylint/lint/run.py264 # So we use self.linter.msg_status if that is non-zero, otherwise we just return 1.COMMENT
LOWpylint/lint/run.py271 # So we use self.linter.msg_status if that is non-zero, otherwise we just return 1.COMMENT
LOWpylint/checkers/typecheck.py1615 # make sense of the function call in this case, so just return.COMMENT
LOWpylint/checkers/unicode.py401 # If we can't decode properly, we simply use bytes, even so the column offsetsSTRING
LOWpylint/checkers/utils.py662 # while on CPython it will simply return the fields,COMMENT
MEDIUMpylint/checkers/looping_iterator_checker.py116 # Use `safe_infer` for a robust check of the function being calledCOMMENT
MEDIUMtests/test_self.py805 # Essentially same test cases as --fail-under, but run with/without a detectedCOMMENT
MEDIUMtests/test_check_parallel.py319 """The linter needs to be pickle-able in order to be passed between workers."""STRING
MEDIUM…l/ext/code_style/cs_consider_using_augmented_assign.py15# We don't warn on intricate expressions as we lack knowledge of simplifying suchCOMMENT
MEDIUMtests/functional/t/type/typevar_name_mismatch.py22# (that's already handled by the aforementioned rules),COMMENT
Docstring Block Structure3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHpylint/checkers/unicode.py280Try to extract the codec (unicode only) by checking for the BOM. For details about BOM see https://unicode.org/faq/STRING
HIGHpylint/checkers/unicode.py421Determine the codec from the given stream. first tries https://www.python.org/dev/peps/pep-0263/ and ifSTRING
HIGHpylint/checkers/strings.py1086Returns the quote character used to delimit this token string. This function checks whether the token is a well-forSTRING
AI Structural Patterns14 hits · 14 pts
SeverityFileLineSnippetContext
LOWpylint/config/deprecation_actions.py20CODE
LOWpylint/config/deprecation_actions.py65CODE
LOWpylint/config/callback_actions.py63CODE
LOWpylint/config/callback_actions.py106CODE
LOWpylint/config/callback_actions.py312CODE
LOWpylint/config/callback_actions.py452CODE
LOWpylint/utils/linterstats.py83CODE
LOWpylint/testutils/pyreverse.py27CODE
LOW…ext/redefined_variable_type/redefined_variable_type.py96CODE
LOW…ext/redefined_variable_type/redefined_variable_type.py100CODE
LOW…l/r/regression/regression_9865_calling_bound_lambda.py8CODE
LOWtests/functional/t/too/too_many_locals_py312.py10CODE
LOW…s/functional/a/assignment/assignment_from_no_return.py48CODE
LOW…s/functional/c/consider/consider_merging_isinstance.py37CODE
Structural Annotation Overuse3 hits · 4 pts
SeverityFileLineSnippetContext
LOWAGENTS.md14#### Step 1: list the pull requests linked to the issueCOMMENT
LOWAGENTS.md66#### Step 2: search for pull requests that are not linkedCOMMENT
LOWAGENTS.md77#### Step 3: check if someone said they are working on itCOMMENT
Slop Phrases2 hits · 2 pts
SeverityFileLineSnippetContext
LOWpylint/testutils/utils.py61 # If new_pythonpath is None, make sure to delete PYTHONPATH if presentCOMMENT
MEDIUMexamples/pyproject.toml431# to run only the similarities checker, you can use "--disable=allSTRING
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWtests/regrtest_data/fixme.py1# TODO: implementCOMMENT