It's not just a linter that annoys you!
This report presents the forensic synthetic code analysis of pylint-dev/pylint, a Python project with 5,699 GitHub stars. SynthScan v2.0 examined 136,848 lines of code across 3282 source files, recording 2637 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 20.9 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 2637 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pylint/graph.py | 20 | def target_info_from_filename(filename: str) -> tuple[str, str, str]: | CODE |
| LOW | pylint/__pkginfo__.py | 15 | def get_numversion_from_version(v: str) -> tuple[int, int, int]: | CODE |
| LOW | pylint/lint/report_functions.py | 15 | def report_total_messages_stats( | CODE |
| LOW | pylint/lint/report_functions.py | 46 | def report_messages_by_module_stats( | CODE |
| LOW | pylint/lint/pylinter.py | 405 | def load_plugin_configuration(self) -> None: | CODE |
| LOW | pylint/lint/pylinter.py | 567 | def pass_fail_on_config_to_color_reporter(self) -> None: | CODE |
| LOW | pylint/lint/pylinter.py | 898 | def _get_file_descr_from_stdin(self, filepath: str) -> Iterator[FileItem]: | CODE |
| LOW | pylint/lint/message_state_handler.py | 169 | def _register_by_id_managed_msg( | CODE |
| LOW | pylint/lint/parallel.py | 61 | def _worker_check_single_file( | CODE |
| LOW | pylint/checkers/dataclass_checker.py | 26 | def _check_name_or_attrname_eq_to( | CODE |
| LOW | pylint/checkers/dataclass_checker.py | 58 | def _check_invalid_field_call(self, node: nodes.Call) -> None: | CODE |
| LOW | pylint/checkers/dataclass_checker.py | 104 | def _check_invalid_field_call_within_call( | CODE |
| LOW | pylint/checkers/logging.py | 294 | def _is_node_explicit_str_concatenation(node: nodes.NodeNG) -> bool: | CODE |
| LOW | pylint/checkers/logging.py | 407 | def str_formatting_in_f_string(node: nodes.JoinedStr) -> bool: | CODE |
| LOW | pylint/checkers/spelling.py | 66 | def _get_enchant_dict_choices( | CODE |
| LOW | pylint/checkers/spelling.py | 191 | def _strip_code_flanked_in_backticks(line: str) -> str: | STRING |
| LOW | pylint/checkers/spelling.py | 198 | def replace_code_but_leave_surrounding_characters(match_obj: re.Match[str]) -> str: | STRING |
| LOW | pylint/checkers/misc.py | 36 | def _clear_by_id_managed_msgs(self) -> None: | CODE |
| LOW | pylint/checkers/dunder_methods.py | 54 | def within_dunder_or_lambda_def(node: nodes.NodeNG) -> bool: | CODE |
| LOW | pylint/checkers/typecheck.py | 551 | def _get_all_attribute_assignments( | CODE |
| LOW | pylint/checkers/typecheck.py | 711 | def _no_context_variadic_keywords(node: nodes.Call, scope: nodes.Lambda) -> bool: | CODE |
| LOW | pylint/checkers/typecheck.py | 728 | def _no_context_variadic_positional(node: nodes.Call, scope: nodes.Lambda) -> bool: | CODE |
| LOW | pylint/checkers/typecheck.py | 794 | def _infer_from_metaclass_constructor( | CODE |
| LOW | pylint/checkers/typecheck.py | 843 | def _is_invalid_isinstance_type(arg: nodes.NodeNG) -> bool: | CODE |
| LOW | pylint/checkers/typecheck.py | 1035 | def _compiled_generated_members(self) -> tuple[Pattern[str], ...]: | CODE |
| LOW | pylint/checkers/typecheck.py | 1288 | def _check_assignment_from_function_call(self, node: nodes.Assign) -> None: | CODE |
| LOW | pylint/checkers/typecheck.py | 1361 | def _check_dundername_is_string(self, node: nodes.Assign) -> None: | CODE |
| LOW | pylint/checkers/typecheck.py | 1728 | def _keyword_argument_is_in_all_decorator_returns( | CODE |
| LOW | pylint/checkers/typecheck.py | 1772 | def _check_invalid_sequence_index(self, subscript: nodes.Subscript) -> None: | CODE |
| LOW | pylint/checkers/typecheck.py | 1872 | def _check_invalid_slice_index(self, node: nodes.Slice) -> None: | CODE |
| LOW | pylint/checkers/typecheck.py | 2047 | def _detect_unsupported_alternative_union_syntax(self, node: nodes.BinOp) -> None: | CODE |
| LOW | pylint/checkers/typecheck.py | 2089 | def _includes_version_compatible_overload(self, attrs: list[nodes.NodeNG]) -> bool: | CODE |
| LOW | pylint/checkers/typecheck.py | 2105 | def _recursive_search_for_classdef_type( | CODE |
| LOW | pylint/checkers/typecheck.py | 2118 | def _check_unsupported_alternative_union_syntax(self, node: nodes.BinOp) -> None: | CODE |
| LOW | pylint/checkers/typecheck.py | 2306 | def _check_await_outside_coroutine(self, node: nodes.Await) -> None: | CODE |
| LOW | pylint/checkers/modified_iterating_checker.py | 62 | def _modified_iterating_check_on_node_and_children( | CODE |
| LOW | pylint/checkers/modified_iterating_checker.py | 70 | def _modified_iterating_check( | CODE |
| LOW | pylint/checkers/modified_iterating_checker.py | 101 | def _is_node_expr_that_calls_attribute_name(node: nodes.NodeNG) -> bool: | CODE |
| LOW | pylint/checkers/modified_iterating_checker.py | 123 | def _is_node_assigns_subscript_name(node: nodes.NodeNG) -> bool: | CODE |
| LOW | pylint/checkers/modified_iterating_checker.py | 129 | def _modified_iterating_list_cond( | CODE |
| LOW | pylint/checkers/modified_iterating_checker.py | 142 | def _modified_iterating_dict_cond( | CODE |
| LOW | pylint/checkers/modified_iterating_checker.py | 167 | def _modified_iterating_set_cond( | CODE |
| LOW | pylint/checkers/modified_iterating_checker.py | 180 | def _deleted_iteration_target_cond( | CODE |
| LOW⚡ | pylint/checkers/variables.py | 2556 | def _is_first_level_self_reference( | CODE |
| LOW⚡ | pylint/checkers/variables.py | 3023 | def _should_ignore_redefined_builtin(self, stmt: nodes.NodeNG) -> bool: | CODE |
| LOW⚡ | pylint/checkers/variables.py | 3028 | def _allowed_redefined_builtin(self, name: str) -> bool: | CODE |
| LOW⚡ | pylint/checkers/variables.py | 3032 | def _comprehension_between_frame_and_node(node: nodes.Name) -> bool: | CODE |
| LOW | pylint/checkers/variables.py | 111 | def _get_unpacking_extra_info(node: nodes.Assign, inferred: InferenceResult) -> str: | CODE |
| LOW | pylint/checkers/variables.py | 347 | def _has_locals_call_after_node(stmt: nodes.NodeNG, scope: nodes.FunctionDef) -> bool: | CODE |
| LOW | pylint/checkers/variables.py | 1119 | def _recursive_search_for_continue_before_break( | CODE |
| LOW | pylint/checkers/variables.py | 1140 | def _uncertain_nodes_in_try_blocks_when_evaluating_except_blocks( | CODE |
| LOW | pylint/checkers/variables.py | 1189 | def _uncertain_nodes_in_try_blocks_when_evaluating_finally_blocks( | CODE |
| LOW | pylint/checkers/variables.py | 1738 | def _undefined_and_used_before_checker( | CODE |
| LOW | pylint/checkers/variables.py | 2048 | def _report_unfound_name_definition( | CODE |
| LOW | pylint/checkers/variables.py | 2097 | def _filter_type_checking_definitions_from_consumption( | CODE |
| LOW | pylint/checkers/variables.py | 2229 | def _allow_global_unused_variables(self) -> bool: | CODE |
| LOW | pylint/checkers/variables.py | 2233 | def _defined_in_function_definition( | CODE |
| LOW | pylint/checkers/variables.py | 2251 | def _in_lambda_or_comprehension_body( | CODE |
| LOW | pylint/checkers/variables.py | 2437 | def _maybe_used_and_assigned_at_once(defstmt: _base_nodes.Statement) -> bool: | CODE |
| LOW | pylint/checkers/variables.py | 2480 | def _has_nonlocal_in_enclosing_frame( | CODE |
| 1105 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pylint/interfaces.py | 5 | CODE | |
| LOW | pylint/graph.py | 10 | CODE | |
| LOW | pylint/constants.py | 5 | CODE | |
| LOW | pylint/__init__.py | 5 | CODE | |
| LOW | pylint/__pkginfo__.py | 10 | CODE | |
| LOW | pylint/typing.py | 7 | CODE | |
| LOW | pylint/typing.py | 23 | CODE | |
| LOW | pylint/typing.py | 26 | CODE | |
| LOW | pylint/typing.py | 28 | CODE | |
| LOW | pylint/lint/report_functions.py | 5 | CODE | |
| LOW | pylint/lint/run.py | 5 | CODE | |
| LOW | pylint/lint/run.py | 214 | CODE | |
| LOW | pylint/lint/pylinter.py | 5 | CODE | |
| LOW | pylint/lint/__init__.py | 20 | CODE | |
| LOW | pylint/lint/__init__.py | 21 | CODE | |
| LOW | pylint/lint/__init__.py | 21 | CODE | |
| LOW | pylint/lint/__init__.py | 22 | CODE | |
| LOW | pylint/lint/__init__.py | 23 | CODE | |
| LOW | pylint/lint/__init__.py | 24 | CODE | |
| LOW | pylint/lint/__init__.py | 25 | CODE | |
| LOW | pylint/lint/__init__.py | 25 | CODE | |
| LOW | pylint/lint/__init__.py | 25 | CODE | |
| LOW | pylint/lint/__init__.py | 31 | CODE | |
| LOW | pylint/lint/__init__.py | 31 | CODE | |
| LOW | pylint/lint/message_state_handler.py | 5 | CODE | |
| LOW | pylint/lint/expand_modules.py | 5 | CODE | |
| LOW | pylint/lint/caching.py | 5 | CODE | |
| LOW | pylint/lint/base_options.py | 7 | CODE | |
| LOW | pylint/lint/utils.py | 5 | CODE | |
| LOW | pylint/lint/parallel.py | 5 | CODE | |
| LOW | pylint/checkers/dataclass_checker.py | 7 | CODE | |
| LOW | pylint/checkers/logging.py | 7 | CODE | |
| LOW | pylint/checkers/spelling.py | 7 | CODE | |
| LOW | pylint/checkers/misc.py | 7 | CODE | |
| LOW | pylint/checkers/async_checker.py | 7 | CODE | |
| LOW | pylint/checkers/dunder_methods.py | 5 | CODE | |
| LOW | pylint/checkers/symilar.py | 30 | CODE | |
| LOW | pylint/checkers/typecheck.py | 7 | CODE | |
| LOW | pylint/checkers/unicode.py | 14 | CODE | |
| LOW | pylint/checkers/modified_iterating_checker.py | 5 | CODE | |
| LOW | pylint/checkers/lambda_expressions.py | 5 | CODE | |
| LOW | pylint/checkers/variables.py | 7 | CODE | |
| LOW | pylint/checkers/unsupported_version.py | 9 | CODE | |
| LOW | pylint/checkers/ellipsis_checker.py | 7 | CODE | |
| LOW | pylint/checkers/clear_lru_cache.py | 5 | CODE | |
| LOW | pylint/checkers/deprecated.py | 7 | CODE | |
| LOW | pylint/checkers/non_ascii_names.py | 13 | CODE | |
| LOW | pylint/checkers/base_checker.py | 5 | CODE | |
| LOW | pylint/checkers/__init__.py | 43 | CODE | |
| LOW | pylint/checkers/__init__.py | 47 | CODE | |
| LOW | pylint/checkers/__init__.py | 47 | CODE | |
| LOW | pylint/checkers/__init__.py | 47 | CODE | |
| LOW | pylint/checkers/__init__.py | 52 | CODE | |
| LOW | pylint/checkers/format.py | 14 | CODE | |
| LOW | pylint/checkers/imports.py | 7 | CODE | |
| LOW | pylint/checkers/method_args.py | 7 | CODE | |
| LOW | pylint/checkers/match_statements_checker.py | 7 | CODE | |
| LOW | pylint/checkers/utils.py | 7 | CODE | |
| LOW | pylint/checkers/utils.py | 34 | CODE | |
| LOW | pylint/checkers/threading_checker.py | 5 | CODE | |
| 832 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | pylint/pyreverse/plantuml_printer.py | 0 | create a new node. nodes can be classes, packages, participants etc. | STRING |
| HIGH | pylint/pyreverse/mermaidjs_printer.py | 0 | create a new node. nodes can be classes, packages, participants etc. | STRING |
| HIGH | pylint/pyreverse/printer.py | 0 | create a new node. nodes can be classes, packages, participants etc. | STRING |
| HIGH | pylint/pyreverse/dot_printer.py | 0 | create a new node. nodes can be classes, packages, participants etc. | STRING |
| HIGH | pylint/pyreverse/plantuml_printer.py | 0 | create an edge from one node to another to display relationships. | STRING |
| HIGH | pylint/pyreverse/mermaidjs_printer.py | 0 | create an edge from one node to another to display relationships. | STRING |
| HIGH | pylint/pyreverse/printer.py | 0 | create an edge from one node to another to display relationships. | STRING |
| HIGH | pylint/pyreverse/dot_printer.py | 0 | create an edge from one node to another to display relationships. | STRING |
| HIGH | tests/lint/unittest_lint.py | 0 | create a temp directory and change the current location to it. this is supposed to be used with a *with* statement. | STRING |
| HIGH | tests/config/test_find_default_config_files.py | 0 | create a temp directory and change the current location to it. this is supposed to be used with a *with* statement. | STRING |
| HIGH | tests/testutils/test_functional_testutils.py | 0 | create 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.py | 0 | test_ignores_return_in_abstract_method_numpy example of an abstract method documenting the return type that an implement | STRING |
| HIGH | …onal/ext/docparams/return/missing_return_doc_Sphinx.py | 0 | test_ignores_return_in_abstract_method_numpy example of an abstract method documenting the return type that an implement | STRING |
| HIGH | …ional/ext/docparams/return/missing_return_doc_Numpy.py | 0 | test_ignores_return_in_abstract_method_numpy example of an abstract method documenting the return type that an implement | STRING |
| HIGH | …er/missing_param_doc_required_no_doc_rgx_check_init.py | 0 | tests for missing-param-doc and missing-type-doc for non-specified style docstrings with accept-no-param-doc = no and no | STRING |
| HIGH | …ams/parameter/missing_param_doc_required_min_length.py | 0 | tests for missing-param-doc and missing-type-doc for non-specified style docstrings with accept-no-param-doc = no and no | STRING |
| HIGH | …/ext/docparams/parameter/missing_param_doc_required.py | 0 | tests for missing-param-doc and missing-type-doc for non-specified style docstrings with accept-no-param-doc = no and no | STRING |
| HIGH | …eter/missing_param_doc_required_no_doc_rgx_test_all.py | 0 | tests for missing-param-doc and missing-type-doc for non-specified style docstrings with accept-no-param-doc = no and no | STRING |
| HIGH | …er/missing_param_doc_required_no_doc_rgx_check_none.py | 0 | tests for missing-param-doc and missing-type-doc for non-specified style docstrings with accept-no-param-doc = no and no | STRING |
| HIGH | tests/functional/r/return_outside_function.py | 0 | this is grammatically correct, but it's still a syntaxerror | STRING |
| HIGH | tests/functional/y/yield_outside_func.py | 0 | this is grammatically correct, but it's still a syntaxerror | STRING |
| HIGH | tests/functional/y/yield_from_outside_func.py | 0 | this is grammatically correct, but it's still a syntaxerror | STRING |
| HIGH | …se/use_implicit_booleaness_not_comparison_to_string.py | 0 | cases 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.py | 0 | cases 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.py | 0 | cases 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.py | 0 | cases where a comparison like `x != []` is used in a non-boolean context. these comparisons cannot be safely replaced wi | STRING |
| HIGH | …/use/use_implicit_booleaness_not_comparison_to_zero.py | 0 | cases where a comparison like `x != []` is used in a non-boolean context. these comparisons cannot be safely replaced wi | STRING |
| HIGH | …tional/u/use/use_implicit_booleaness_not_comparison.py | 0 | cases where a comparison like `x != []` is used in a non-boolean context. these comparisons cannot be safely replaced wi | STRING |
| HIGH | doc/data/messages/m/missing-return-doc/good.py | 0 | returns sum of two integers :param a: first integer :param b: second integer :return: sum of parameters a and b | STRING |
| HIGH | doc/data/messages/m/missing-return-type-doc/good.py | 0 | returns sum of two integers :param a: first integer :param b: second integer :return: sum of parameters a and b | STRING |
| HIGH | doc/data/messages/m/missing-return-type-doc/bad.py | 0 | returns sum of two integers :param a: first integer :param b: second integer :return: sum of parameters a and b | STRING |
| HIGH | doc/data/messages/m/missing-return-doc/bad.py | 0 | returns sum of two integers :param a: first integer :param b: second integer | STRING |
| HIGH | doc/data/messages/m/missing-raises-doc/bad.py | 0 | returns sum of two integers :param a: first integer :param b: second integer | STRING |
| HIGH | doc/data/messages/m/missing-type-doc/good.py | 0 | returns sum of two integers :param a: first integer :param b: second integer | STRING |
| HIGH | doc/data/messages/m/missing-type-doc/bad.py | 0 | returns sum of two integers :param a: first integer :param b: second integer | STRING |
| HIGH | doc/data/messages/m/missing-param-doc/good.py | 0 | returns sum of two integers :param a: first integer :param b: second integer | STRING |
| HIGH | doc/data/messages/m/missing-yield-type-doc/good.py | 0 | prints even numbers smaller than n. args: n: upper limit of even numbers. | STRING |
| HIGH | doc/data/messages/m/missing-yield-type-doc/bad.py | 0 | prints even numbers smaller than n. args: n: upper limit of even numbers. | STRING |
| HIGH | doc/data/messages/m/missing-yield-doc/good.py | 0 | prints even numbers smaller than n. args: n: upper limit of even numbers. | STRING |
| HIGH | doc/data/messages/m/missing-yield-doc/bad.py | 0 | prints even numbers smaller than n. args: n: upper limit of even numbers. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pylint/__pkginfo__.py | 15 | CODE | |
| LOW | pylint/lint/run.py | 135 | CODE | |
| LOW | pylint/lint/pylinter.py | 533 | CODE | |
| LOW | pylint/lint/pylinter.py | 567 | CODE | |
| LOW | pylint/lint/pylinter.py | 663 | CODE | |
| LOW | pylint/lint/message_state_handler.py | 343 | CODE | |
| LOW | pylint/lint/expand_modules.py | 71 | CODE | |
| LOW | pylint/checkers/logging.py | 322 | CODE | |
| LOW | pylint/checkers/spelling.py | 339 | CODE | |
| LOW | pylint/checkers/misc.py | 150 | CODE | |
| LOW | pylint/checkers/async_checker.py | 57 | CODE | |
| LOW | pylint/checkers/symilar.py | 566 | CODE | |
| LOW | pylint/checkers/typecheck.py | 1105 | CODE | |
| LOW | pylint/checkers/typecheck.py | 1507 | CODE | |
| LOW | pylint/checkers/typecheck.py | 1941 | CODE | |
| LOW | pylint/checkers/typecheck.py | 2047 | CODE | |
| LOW | pylint/checkers/unicode.py | 249 | CODE | |
| LOW | pylint/checkers/modified_iterating_checker.py | 70 | CODE | |
| LOW | pylint/checkers/variables.py | 223 | CODE | |
| LOW | pylint/checkers/variables.py | 269 | CODE | |
| LOW | pylint/checkers/variables.py | 869 | CODE | |
| LOW | pylint/checkers/variables.py | 950 | CODE | |
| LOW | pylint/checkers/variables.py | 1044 | CODE | |
| LOW | pylint/checkers/variables.py | 1838 | CODE | |
| LOW | pylint/checkers/variables.py | 2281 | CODE | |
| LOW | pylint/checkers/variables.py | 2646 | CODE | |
| LOW | pylint/checkers/variables.py | 2795 | CODE | |
| LOW | pylint/checkers/variables.py | 3200 | CODE | |
| LOW | pylint/checkers/variables.py | 3241 | CODE | |
| LOW | pylint/checkers/variables.py | 3320 | CODE | |
| LOW | pylint/checkers/variables.py | 3425 | CODE | |
| LOW | pylint/checkers/format.py | 288 | CODE | |
| LOW | pylint/checkers/imports.py | 87 | CODE | |
| LOW | pylint/checkers/utils.py | 305 | CODE | |
| LOW | pylint/checkers/utils.py | 353 | CODE | |
| LOW | pylint/checkers/utils.py | 518 | CODE | |
| LOW | pylint/checkers/utils.py | 637 | CODE | |
| LOW | pylint/checkers/utils.py | 747 | CODE | |
| LOW | pylint/checkers/utils.py | 843 | CODE | |
| LOW | pylint/checkers/utils.py | 945 | CODE | |
| LOW | pylint/checkers/utils.py | 1110 | CODE | |
| LOW | pylint/checkers/utils.py | 1676 | CODE | |
| LOW | pylint/checkers/utils.py | 1875 | CODE | |
| LOW | pylint/checkers/utils.py | 1989 | CODE | |
| LOW | pylint/checkers/raw_metrics.py | 79 | CODE | |
| LOW | pylint/checkers/newstyle.py | 47 | CODE | |
| LOW | pylint/checkers/exceptions.py | 478 | CODE | |
| LOW | pylint/checkers/exceptions.py | 576 | CODE | |
| LOW | pylint/checkers/stdlib.py | 690 | CODE | |
| LOW | pylint/checkers/stdlib.py | 752 | CODE | |
| LOW | pylint/checkers/stdlib.py | 794 | CODE | |
| LOW | pylint/checkers/strings.py | 265 | CODE | |
| LOW | pylint/checkers/strings.py | 538 | CODE | |
| LOW | pylint/checkers/strings.py | 947 | CODE | |
| LOW | pylint/checkers/classes/class_checker.py | 396 | CODE | |
| LOW | pylint/checkers/classes/class_checker.py | 415 | CODE | |
| LOW | pylint/checkers/classes/class_checker.py | 1062 | CODE | |
| LOW | pylint/checkers/classes/class_checker.py | 1118 | CODE | |
| LOW | pylint/checkers/classes/class_checker.py | 1193 | CODE | |
| LOW | pylint/checkers/classes/class_checker.py | 1267 | CODE | |
| 100 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …s/functional/ext/docparams/raise/missing_raises_doc.py | 25 | CODE | |
| MEDIUM | …s/functional/ext/docparams/raise/missing_raises_doc.py | 42 | CODE | |
| MEDIUM | …tional/ext/docparams/raise/missing_raises_doc_Numpy.py | 20 | CODE | |
| MEDIUM | …tional/ext/docparams/raise/missing_raises_doc_Numpy.py | 34 | CODE | |
| MEDIUM | …tional/ext/docparams/raise/missing_raises_doc_Numpy.py | 158 | CODE | |
| MEDIUM | …tional/ext/docparams/raise/missing_raises_doc_Numpy.py | 182 | CODE | |
| MEDIUM | …tional/ext/docparams/raise/missing_raises_doc_Numpy.py | 215 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Sphinx.py | 13 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Sphinx.py | 36 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Sphinx.py | 37 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Sphinx.py | 38 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Sphinx.py | 48 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Sphinx.py | 97 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Sphinx.py | 110 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Google.py | 13 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Google.py | 83 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Google.py | 94 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Google.py | 95 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Google.py | 96 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Google.py | 158 | CODE | |
| MEDIUM | …ional/ext/docparams/raise/missing_raises_doc_Google.py | 180 | CODE | |
| MEDIUM | …onal/ext/docparams/return/missing_return_doc_Google.py | 95 | CODE | |
| MEDIUM | …onal/ext/docparams/return/missing_return_doc_Google.py | 112 | CODE | |
| MEDIUM | …docparams/return/missing_return_doc_required_Google.py | 57 | CODE | |
| MEDIUM | …docparams/return/missing_return_doc_required_Google.py | 74 | CODE | |
| MEDIUM | …docparams/return/missing_return_doc_required_Sphinx.py | 64 | CODE | |
| MEDIUM | …/docparams/return/missing_return_doc_required_Numpy.py | 59 | CODE | |
| MEDIUM | …/docparams/return/missing_return_doc_required_Numpy.py | 78 | CODE | |
| MEDIUM | …/docparams/return/missing_return_doc_required_Numpy.py | 97 | CODE | |
| MEDIUM | …cparams/parameter/missing_param_doc_required_Sphinx.py | 343 | CODE | |
| MEDIUM | …cparams/parameter/missing_param_doc_required_Sphinx.py | 382 | CODE | |
| MEDIUM | tests/functional/u/unreachable.py | 11 | CODE | |
| MEDIUM | tests/functional/u/unreachable.py | 26 | CODE | |
| MEDIUM | tests/functional/u/unreachable.py | 33 | CODE | |
| MEDIUM | tests/functional/u/unreachable.py | 38 | CODE | |
| MEDIUM | tests/functional/u/unreachable.py | 39 | CODE | |
| MEDIUM | tests/functional/u/unicode/unicode_bidi_early_return.py | 15 | CODE | |
| MEDIUM | tests/functional/u/unicode/unicode_bidi_early_return.py | 16 | CODE | |
| MEDIUM | tests/functional/u/unused/unused_private_member.py | 162 | CODE | |
| MEDIUM | tests/functional/b/bad_exception_cause.py | 14 | CODE | |
| MEDIUM | tests/functional/b/bad_exception_cause.py | 15 | CODE | |
| MEDIUM | tests/functional/b/bad_exception_cause.py | 16 | CODE | |
| MEDIUM | tests/functional/b/bad_exception_cause.py | 17 | CODE | |
| MEDIUM | tests/functional/b/bad_exception_cause.py | 18 | CODE | |
| MEDIUM | tests/functional/b/bad_exception_cause.py | 19 | CODE | |
| MEDIUM | tests/functional/b/bad_exception_cause.py | 20 | CODE | |
| MEDIUM | tests/functional/b/bad_exception_cause.py | 21 | CODE | |
| MEDIUM | tests/functional/b/bad_exception_cause.py | 22 | CODE | |
| MEDIUM | tests/functional/b/bad_exception_cause.py | 23 | CODE | |
| MEDIUM | doc/data/messages/u/unreachable/bad.py | 3 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pylint/lint/pylinter.py | 810 | except Exception as ex: # pylint: disable=broad-except | CODE |
| LOW | pylint/lint/pylinter.py | 846 | except Exception as e: | CODE |
| LOW | pylint/lint/pylinter.py | 889 | except Exception as e: # pragma: no cover | CODE |
| LOW | pylint/lint/pylinter.py | 1056 | except Exception as ex: | CODE |
| LOW | pylint/lint/pylinter.py | 1195 | except Exception as ex: # pylint: disable=broad-except | CODE |
| LOW | pylint/lint/caching.py | 52 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | pylint/lint/utils.py | 98 | except Exception as exc: # pylint: disable=broad-except | STRING |
| LOW | pylint/checkers/imports.py | 1084 | except Exception as e: # pragma: no cover | CODE |
| LOW | pylint/checkers/utils.py | 1377 | except Exception as e: # pragma: no cover | CODE |
| LOW | pylint/checkers/utils.py | 1413 | except Exception as e: # pragma: no cover | CODE |
| LOW | pylint/checkers/utils.py | 1426 | except Exception as e: # pragma: no cover | CODE |
| LOW | pylint/utils/ast_walker.py | 93 | except Exception: | CODE |
| LOW | pylint/pyreverse/inspector.py | 44 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | pylint/reporters/json_reporter.py | 187 | except Exception as ex: # pylint: disable=broad-except | CODE |
| LOW | pylint/testutils/configuration_test.py | 112 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | pylint/testutils/output_line.py | 97 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | pylint/testutils/checker_test_case.py | 54 | except Exception: | CODE |
| LOW | tests/test_func.py | 73 | except Exception as ex: | CODE |
| LOW⚡ | tests/checkers/unittest_utils.py | 243 | except Exception: | CODE |
| LOW⚡ | tests/checkers/unittest_utils.py | 253 | except Exception: | CODE |
| LOW⚡ | tests/checkers/unittest_utils.py | 266 | except Exception: | CODE |
| LOW⚡ | tests/checkers/unittest_utils.py | 278 | except Exception: | CODE |
| LOW | tests/checkers/unittest_utils.py | 69 | except Exception: #@ | CODE |
| LOW | tests/checkers/unittest_utils.py | 88 | except Exception: | CODE |
| LOW | …/r/regression/regression_3416_unused_argument_raise.py | 13 | except Exception: | CODE |
| LOW | tests/functional/u/unused/unused_private_member.py | 242 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | tests/functional/u/unused/unused_private_member.py | 261 | except Exception: # pylint: disable=broad-except | CODE |
| MEDIUM | tests/functional/u/unused/unused_private_member.py | 238 | def __init__(self): | CODE |
| MEDIUM | tests/functional/u/unused/unused_private_member.py | 258 | def __init__(self): | CODE |
| LOW | tests/functional/u/unused/unused_variable.py | 222 | except Exception as e: | CODE |
| LOW | tests/functional/u/unused/unused_variable.py | 228 | except Exception as e: # [unused-variable] | CODE |
| MEDIUM | tests/functional/u/unused/unused_variable.py | 119 | def func(): | CODE |
| LOW | tests/functional/u/undefined/undefined_variable.py | 44 | except Exception: # pylint:disable = broad-except | CODE |
| LOW | tests/functional/u/undefined/undefined_variable.py | 167 | except Exception: | CODE |
| LOW | …sts/functional/u/used/used_before_assignment_typing.py | 39 | except Exception as e: # pylint: disable=broad-exception-caught | CODE |
| LOW | tests/functional/n/no/no_name_in_module.py | 55 | except Exception: | CODE |
| LOW | tests/functional/n/no/no_name_in_module.py | 72 | except Exception: | CODE |
| LOW | tests/functional/n/no/no_else_return.py | 188 | except Exception: | CODE |
| LOW | tests/functional/n/no/no_member_if_statements.py | 49 | except Exception as err: | CODE |
| MEDIUM | tests/functional/n/no/no_member_if_statements.py | 53 | print(f'An error occurred: {str(err)}') | CODE |
| LOW | tests/functional/n/no/no_member_if_statements.py | 76 | except Exception as ex: | CODE |
| LOW | tests/functional/t/try_except_raise.py | 115 | except Exception: | CODE |
| LOW | tests/functional/t/try_except_raise_crash.py | 25 | except Exception: | CODE |
| MEDIUM | tests/functional/t/try_except_raise_crash.py | 20 | def test(): | CODE |
| LOW⚡ | tests/functional/m/misplaced_bare_raise.py | 7 | except Exception: | CODE |
| LOW⚡ | tests/functional/m/misplaced_bare_raise.py | 12 | except Exception: | CODE |
| LOW⚡ | tests/functional/m/misplaced_bare_raise.py | 17 | except Exception: | CODE |
| LOW⚡ | tests/functional/m/misplaced_bare_raise.py | 24 | except Exception: | CODE |
| LOW⚡ | tests/functional/m/misplaced_bare_raise.py | 28 | except Exception: | CODE |
| LOW⚡ | tests/functional/m/misplaced_bare_raise.py | 37 | except Exception: | CODE |
| LOW | tests/functional/m/misplaced_bare_raise.py | 55 | except Exception: | CODE |
| MEDIUM | tests/functional/m/misplaced_bare_raise.py | 21 | def test(): | CODE |
| MEDIUM | tests/functional/m/misplaced_bare_raise.py | 25 | def chest(): | CODE |
| MEDIUM | tests/functional/m/misplaced_bare_raise.py | 32 | def test1(): | CODE |
| LOW | tests/functional/m/member/member_checks.py | 124 | except Exception: | CODE |
| LOW⚡ | …nctional/c/contextmanager_generator_missing_cleanup.py | 166 | except Exception: | CODE |
| LOW | tests/functional/c/continue_in_finally.py | 20 | except Exception: | CODE |
| LOW | tests/functional/d/disabled_msgid_in_pylintrc.py | 5 | except Exception: | CODE |
| LOW | tests/functional/b/bad_except_order.py | 7 | except Exception: | CODE |
| LOW | tests/functional/b/bad_except_order.py | 30 | except Exception: | CODE |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pylint/lint/message_state_handler.py | 286 | # Check if the message's line is after the maximum line existing in ast tree. | COMMENT |
| LOW | pylint/checkers/async_checker.py | 63 | # Check if we are dealing with a function decorated | COMMENT |
| LOW | pylint/checkers/async_checker.py | 68 | # Check if we are dealing with a function decorated | COMMENT |
| LOW | pylint/checkers/typecheck.py | 500 | # Verify if we are dealing with an invalid Super object. | COMMENT |
| LOW | pylint/checkers/typecheck.py | 1764 | # Check if the keyword is another type of argument | COMMENT |
| LOW | pylint/checkers/typecheck.py | 1793 | # Check if this instance's __getitem__, __setitem__, or __delitem__, as | COMMENT |
| LOW | pylint/checkers/typecheck.py | 1948 | # Check if we are dealing with a function decorated | COMMENT |
| LOW | pylint/checkers/typecheck.py | 1954 | # Check if it's an AsyncGenerator decorated with asynccontextmanager | COMMENT |
| LOW⚡ | pylint/checkers/variables.py | 2566 | # Check if used as type annotation | COMMENT |
| LOW⚡ | pylint/checkers/variables.py | 2572 | # Check if used as default value by calling the class | COMMENT |
| LOW | pylint/checkers/variables.py | 2189 | # Check if we have starred nodes. | COMMENT |
| LOW | pylint/checkers/variables.py | 2990 | # Check if node is a cell var | COMMENT |
| LOW | pylint/checkers/variables.py | 3378 | # Check if the name is in fact loaded from a | COMMENT |
| LOW | pylint/checkers/variables.py | 3537 | # Check if parent's or grandparent's first child is typing.Literal | COMMENT |
| LOW | pylint/checkers/imports.py | 711 | # Check if import comes after a non-import statement | COMMENT |
| LOW | pylint/checkers/utils.py | 929 | # Check if the import is of the form: `from typing import final` | COMMENT |
| LOW | pylint/checkers/utils.py | 932 | # Check if the import is of the form: `import typing` | COMMENT |
| LOW | pylint/checkers/exceptions.py | 424 | # Check if it is a tuple of exceptions. | COMMENT |
| LOW | pylint/checkers/stdlib.py | 767 | # Check if there is a maxsize argument set to None in the call | COMMENT |
| LOW | pylint/checkers/bad_chained_comparison.py | 38 | # Check if comparison operators are in the same semantic group | COMMENT |
| LOW | pylint/checkers/classes/class_checker.py | 1229 | # Check if any method attr is defined in is a defining method | COMMENT |
| LOW | pylint/checkers/classes/class_checker.py | 1659 | # Check if we have a conflict with a class variable. | COMMENT |
| LOW | pylint/checkers/classes/class_checker.py | 1704 | # Check if attribute call is in frame definition in class definition | COMMENT |
| LOW | pylint/checkers/classes/class_checker.py | 1852 | # Check if the arg passed to classmethod is a class member | COMMENT |
| LOW | pylint/checkers/classes/class_checker.py | 1929 | # Check if we are inside the scope of a class or nested inner class | COMMENT |
| LOW | pylint/checkers/classes/class_checker.py | 2125 | # Check if there is a decorator which is not named `staticmethod` | COMMENT |
| LOW | pylint/checkers/classes/class_checker.py | 2267 | # Check if the init of the class that defines this init has already | COMMENT |
| LOW | …nt/checkers/refactoring/implicit_booleaness_checker.py | 274 | # Set target_node to opposite side of literal | COMMENT |
| LOW | pylint/checkers/refactoring/recommendation_checker.py | 112 | # Check if call is split() or rsplit() | COMMENT |
| LOW | pylint/checkers/refactoring/recommendation_checker.py | 150 | # Check if loop present within the scope of the node | COMMENT |
| LOW | pylint/checkers/refactoring/recommendation_checker.py | 156 | # Check if var is mutated within loop (Assign/AugAssign) | COMMENT |
| LOW | pylint/checkers/refactoring/refactoring_checker.py | 616 | # Check if both branches can be reduced. | COMMENT |
| LOW | pylint/checkers/refactoring/refactoring_checker.py | 628 | # Check if we assign to the same value | COMMENT |
| LOW | pylint/checkers/refactoring/refactoring_checker.py | 2163 | # Check if there are any for / while loops within the loop in question; | COMMENT |
| LOW | pylint/checkers/refactoring/refactoring_checker.py | 2331 | # Check if there are any for / while loops within the loop in question; | COMMENT |
| LOW | pylint/checkers/refactoring/refactoring_checker.py | 2340 | # Check if there are any if statements within the loop in question; | COMMENT |
| LOW | pylint/checkers/base/function_checker.py | 119 | # Check if yield expression is last statement | COMMENT |
| LOW | pylint/checkers/base/basic_error_checker.py | 628 | # Check if we have forward references for this node. | COMMENT |
| LOW | pylint/config/arguments_manager.py | 378 | # Check if it is default value if we are in minimal mode | COMMENT |
| LOW | pylint/config/config_initialization.py | 97 | # Check if there are any options that we do not recognize | COMMENT |
| LOW | pylint/extensions/code_style.py | 258 | # Check if `node.test` contains a `Name` node | COMMENT |
| LOW | pylint/extensions/code_style.py | 275 | # Check if match statement would be a better fit. | COMMENT |
| LOW | pylint/extensions/redefined_variable_type.py | 61 | # Check if there is a type in the following nodes that would be | COMMENT |
| LOW | pylint/reporters/text.py | 131 | # Set template to the currently selected template | COMMENT |
| LOW | …lint/testutils/functional/lint_module_output_update.py | 39 | # Write file with expected output | COMMENT |
| LOW | tests/test_self.py | 1722 | # Check if they are loaded | COMMENT |
| LOW | …ts/functional/u/unicode/unicode_bidi_commenting_out.py | 11 | if access_level != "none": # Check if admin ' and access_level != 'user | CODE |
| LOW | tests/functional/t/too/too_many_function_args.py | 26 | # Check if respecting Python's actual runtime MRO when using metaclasses | COMMENT |
| LOW | tests/functional/a/arguments.py | 338 | # Check if respecting Python's actual runtime MRO when using metaclasses | COMMENT |
| LOW | examples/pyproject.toml | 288 | # Add paths to the list of the source roots. Supports globbing patterns. The | COMMENT |
| LOW | doc/test_messages_documentation.py | 90 | # Check if this message has a custom configuration file (e.g. for enabling optional checkers). | COMMENT |
| LOW | doc/exts/pylint_messages.py | 165 | # Check if the placeholder file can even be presented by checking if its path exists | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 181 | ] | COMMENT |
| LOW | pylint/checkers/typecheck.py | 1961 | args=(inferred.parent.name,), | COMMENT |
| LOW | pylint/checkers/variables.py | 1901 | # myattr = 1 | COMMENT |
| LOW | pylint/checkers/variables.py | 2321 | maybe_before_assign = not _is_nonlocal_name(node, defframe) | COMMENT |
| LOW | pylint/checkers/refactoring/refactoring_checker.py | 681 | and token_string.startswith("#") | COMMENT |
| LOW | pylint/utils/file_state.py | 61 | msg_state: dict[int, bool], | COMMENT |
| LOW | pylint/utils/file_state.py | 121 | # 1. """Module docstring""" | COMMENT |
| LOW | tests/lint/__init__.py | 1 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html | COMMENT |
| LOW | tests/input/func_noerror_cycle/__init__.py | 1 | # https://github.com/pylint-dev/pylint/issues/3525 | COMMENT |
| LOW | tests/message/__init__.py | 1 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html | COMMENT |
| LOW | tests/extensions/__init__.py | 1 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html | COMMENT |
| LOW | tests/regrtest_data/line_too_long_no_code.py | 1 | # ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJ | COMMENT |
| LOW | …functional/t/too/too_many_ancestors_ignored_parents.py | 1 | # pylint: disable=missing-docstring, too-few-public-methods, invalid-name | COMMENT |
| LOW | tests/functional/f/fixme.py | 1 | """Tests for fixme and its disabling and enabling.""" | COMMENT |
| LOW | tests/functional/f/fixme.py | 21 | # TODO: Do something with the variables | COMMENT |
| LOW | tests/functional/d/docstrings.py | 21 | # +1: [missing-class-docstring] | COMMENT |
| LOW | tests/functional/e/.#emacs_file_lock_redefined_conf.py | 1 | # [invalid-name] | COMMENT |
| LOW | tests/functional/e/.#emacs_file_lock_by_conf.py | 1 | # The name is invalid, but we should not analyse this file | COMMENT |
| LOW | tests/functional/e/.#emacs_file_lock.py | 1 | # The name is invalid, but we should not analyse this file | COMMENT |
| LOW | tests/functional/b/bad_option_value.py | 1 | """Check unknown or deleted option. """ | COMMENT |
| LOW | tests/functional/b/bad_option_value.py | 21 | # disable-next with msgid moved to extension | COMMENT |
| LOW | tests/testutils/dummy_checker.py | 1 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html | COMMENT |
| LOW | script/copyright.txt | 1 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html | COMMENT |
| LOW | script/__init__.py | 1 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html | COMMENT |
| LOW | examples/pyproject.toml | 1 | [tool.pylint] | COMMENT |
| LOW | examples/pyproject.toml | 21 | "deprecated-pragma", | COMMENT |
| LOW | examples/pyproject.toml | 41 | # attr-rgx = | COMMENT |
| LOW | examples/pyproject.toml | 61 | # Regular expression matching correct class names. Overrides class-naming-style. | COMMENT |
| LOW | examples/pyproject.toml | 81 | # good-names-rgxs = | COMMENT |
| LOW | examples/pyproject.toml | 101 | # name regexes allow several styles. | COMMENT |
| LOW | examples/pyproject.toml | 121 | # type variable tuple names will be checked with the set naming style. | COMMENT |
| LOW | examples/pyproject.toml | 141 | # exclude-too-few-public-methods = | COMMENT |
| LOW | examples/pyproject.toml | 161 | design.max-returns = 6 | COMMENT |
| LOW | examples/pyproject.toml | 181 | format.max-module-lines = 1000 | COMMENT |
| LOW | examples/pyproject.toml | 201 | # Output a graph (.gv or any supported image format) of internal dependencies to | COMMENT |
| LOW | examples/pyproject.toml | 221 | # one or another interpreter, leading to false positives when analysed. | COMMENT |
| LOW | examples/pyproject.toml | 241 | # fail-on = | COMMENT |
| LOW | examples/pyproject.toml | 261 | # analysis). It supports qualified module names, as well as Unix pattern | COMMENT |
| LOW | examples/pyproject.toml | 281 | # increase not-an-iterable messages. | COMMENT |
| LOW | examples/pyproject.toml | 321 | # empty (resulting in expected fixes of the type: ``"- " + " - ".join(items)``) | COMMENT |
| LOW | examples/pyproject.toml | 341 | # Comments are removed from the similarity computation | COMMENT |
| LOW | examples/pyproject.toml | 361 | # A path to a file that contains the private dictionary; one word per line. | COMMENT |
| LOW | examples/pyproject.toml | 381 | # return multiple potential results while evaluating a Python object, but some | COMMENT |
| LOW | examples/pyproject.toml | 401 | # similar match for a missing member name. | COMMENT |
| LOW | examples/pyproject.toml | 421 | # be used). | COMMENT |
| LOW | .github/workflows/codeql-analysis.yml | 1 | # For most projects, this workflow file will not need changing; you simply need | COMMENT |
| LOW | .github/workflows/codeql-analysis.yml | 61 | # queries: ./path/to/local/query, your-org/your-repo/queries@main | COMMENT |
| LOW | doc/conf.py | 1 | # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html | COMMENT |
| LOW | doc/conf.py | 121 | # The version info for the project you're documenting, acts as replacement for | COMMENT |
| LOW | doc/conf.py | 141 | exclude_patterns = ["_build", "data/**", "whatsnew/fragments"] | COMMENT |
| LOW | doc/conf.py | 161 | # modindex_common_prefix = [] | COMMENT |
| LOW | doc/conf.py | 181 | # html_title = None | COMMENT |
| LOW | doc/conf.py | 201 | # using the given strftime format. | COMMENT |
| LOW | doc/conf.py | 221 | # html_split_index = False | COMMENT |
| LOW | doc/conf.py | 261 | ) | COMMENT |
| LOW | doc/exts/pylint_messages.py | 521 | # Uncomment to allow running this script by your local python interpreter | COMMENT |
| LOW | …ative-beyond-top-level/good/fix_the_relative_import.py | 1 | # Right number of dots in the import: you needed 15 dots, not 16, duh. | COMMENT |
| LOW | doc/data/messages/u/unrecognized-inline-option/bad.py | 1 | # +1: [unrecognized-inline-option] | COMMENT |
| LOW | doc/data/messages/s/suppressed-message/bad.py | 1 | ### This is a contrived example, to show how suppressed-message works. | COMMENT |
| LOW | doc/data/messages/f/file-ignored/bad.py | 1 | # pylint: skip-file | COMMENT |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/regrtest_data/beyond_top_three/a.py | 6 | def do_something(var, some_other_var): # error | CODE |
| LOW | …beyond_top_two/namespace_package/top_level_function.py | 4 | def do_something(): | CODE |
| LOW | tests/functional/ext/check_elif/check_elif.py | 7 | def my_function(): | CODE |
| LOW⚡ | tests/functional/r/regression_02/regression_4660.py | 18 | def my_method(self, option: Literal["mandatory"]) -> Callable[..., Any]: | CODE |
| LOW⚡ | tests/functional/r/regression_02/regression_4660.py | 27 | def my_method(self, option: Literal["mandatory"]) -> Callable[..., Any]: | CODE |
| LOW⚡ | tests/functional/r/regression_02/regression_4660.py | 31 | def my_method( | CODE |
| LOW⚡ | tests/functional/r/regression_02/regression_4660.py | 36 | def my_method( | CODE |
| LOW | tests/functional/u/unexpected_keyword_arg.py | 38 | def do_something(junk=None): | CODE |
| LOW⚡ | …ctional/u/unsupported/unsupported_version_for_final.py | 14 | def my_method(self): | CODE |
| LOW⚡ | …ctional/u/unsupported/unsupported_version_for_final.py | 21 | def my_method(self): | CODE |
| LOW⚡ | …ctional/u/unsupported/unsupported_version_for_final.py | 28 | def my_method(self): | CODE |
| LOW⚡ | …ctional/u/unsupported/unsupported_version_for_final.py | 35 | def my_method(self): | CODE |
| LOW | tests/functional/u/use/use_symbolic_message_instead.py | 4 | def my_function(arg): # [missing-function-docstring] | CODE |
| LOW | …tional/u/use/use_implicit_booleaness_not_comparison.py | 149 | def test_function(): | CODE |
| LOW | …s/functional/u/undefined/undefined_variable_classes.py | 22 | def my_method(self) -> MyType: | CODE |
| LOW | tests/functional/u/undefined/undefined_loop_variable.py | 6 | def do_stuff(some_random_list): | CODE |
| LOW | …/functional/u/unbalanced/unbalanced_tuple_unpacking.py | 11 | def do_stuff(): | CODE |
| LOW | …/functional/u/unbalanced/unbalanced_tuple_unpacking.py | 151 | def my_function(mystring): | CODE |
| LOW⚡ | …onal/u/used/used_before_assignment_type_annotations.py | 85 | def my_method(self) -> Coords: | CODE |
| LOW | tests/functional/t/too/too_many_nested_blocks.py | 5 | def my_function(): | CODE |
| LOW | …ts/functional/t/type/typealias_naming_style_default.py | 36 | def my_function(): | CODE |
| LOW | …nctional/a/assignment/assignment_from_no_return_py3.py | 33 | def do_stuff(): | CODE |
| LOW | tests/functional/f/function_redefined.py | 127 | def do_something() -> int: | CODE |
| LOW⚡ | tests/functional/o/overridden_final_method_py38.py | 10 | def my_method(self): | CODE |
| LOW⚡ | tests/functional/o/overridden_final_method_py38.py | 15 | def my_method(self): # [overridden-final-method] | CODE |
| LOW⚡ | tests/functional/o/overridden_final_method_py38.py | 25 | def my_method(self): | CODE |
| LOW⚡ | tests/functional/o/overridden_final_method_py38.py | 30 | def my_method(self): # [overridden-final-method] | CODE |
| LOW | tests/functional/m/modified_iterating.py | 121 | def my_method(self): | CODE |
| LOW | tests/functional/m/modified_iterating.py | 132 | def my_method(self): | CODE |
| LOW | tests/functional/c/consider/consider_using_enumerate.py | 82 | def my_function(instance: MyClass): | CODE |
| LOW | tests/functional/d/deprecated/deprecated_decorators.py | 8 | def my_method(cls): | CODE |
| LOW | doc/data/messages/u/unnecessary-ellipsis/good.py | 1 | def my_function(): | CODE |
| LOW | doc/data/messages/u/unnecessary-ellipsis/bad.py | 1 | def my_function(): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pylint/__init__.py | 7 | __all__ = [ | CODE |
| LOW | pylint/lint/pylinter.py | 962 | def set_current_module(self, modname: str, filepath: str | None = None) -> None: | CODE |
| LOW | pylint/lint/__init__.py | 33 | __all__ = [ | CODE |
| LOW | pylint/checkers/__init__.py | 133 | __all__ = [ | CODE |
| LOW | pylint/checkers/classes/class_checker.py | 751 | def set_accessed(self, node: _AccessNodes) -> None: | CODE |
| LOW | pylint/checkers/refactoring/__init__.py | 21 | __all__ = [ | CODE |
| LOW | pylint/checkers/base/__init__.py | 9 | __all__ = [ | CODE |
| LOW | pylint/checkers/base/name_checker/__init__.py | 5 | __all__ = [ | CODE |
| LOW | pylint/config/arguments_manager.py | 397 | def set_option(self, optname: str, value: Any) -> None: | CODE |
| LOW | pylint/config/__init__.py | 7 | __all__ = ["find_default_config_files"] | CODE |
| LOW | pylint/config/utils.py | 155 | def _set_rcfile(run: Run, value: str | None) -> None: | CODE |
| LOW | pylint/config/utils.py | 161 | def _set_output(run: Run, value: str | None) -> None: | CODE |
| LOW | pylint/config/utils.py | 173 | def _set_verbose_mode(run: Run, value: str | None) -> None: | CODE |
| LOW | pylint/message/__init__.py | 12 | __all__ = [ | CODE |
| LOW | pylint/utils/__init__.py | 29 | __all__ = [ | CODE |
| LOW | pylint/extensions/__init__.py | 20 | __all__ = ["initialize"] | CODE |
| LOW | pylint/pyreverse/diadefslib.py | 84 | def _set_default_options(self) -> None: | CODE |
| LOW | pylint/pyreverse/writer.py | 173 | def set_printer(self, file_name: str, basename: str) -> None: | CODE |
| LOW | pylint/reporters/__init__.py | 27 | __all__ = [ | CODE |
| LOW | pylint/reporters/text.py | 242 | def set_fail_on_symbols(self, fail_on_symbols: list[str]) -> None: | CODE |
| LOW | pylint/testutils/__init__.py | 7 | __all__ = [ | CODE |
| LOW | pylint/testutils/_primer/__init__.py | 5 | __all__ = ["PRIMER_DIRECTORY_PATH", "PackageToLint"] | CODE |
| LOW | pylint/testutils/functional/__init__.py | 5 | __all__ = [ | CODE |
| LOW | tests/regrtest_data/package_all/__init__.py | 3 | __all__ = ['notmissing', 'missing'] | CODE |
| LOW | …nal/u/unused/unused_variable_future_and_annotations.py | 7 | __all__ = [ "apple" ] | CODE |
| LOW | …al/i/invalid/invalid_all/invalid_all_format_valid_2.py | 2 | __all__ = ["CONST"] | CODE |
| LOW | tests/functional/n/names_in__all__.py | 14 | __all__ = [ | CODE |
| LOW | tests/functional/n/not_callable.py | 154 | def set_item(self, item: int) -> None: | CODE |
| LOW | doc/data/messages/u/undefined-all-variable/good.py | 1 | __all__ = ["get_fruit_color"] | CODE |
| LOW | doc/data/messages/u/undefined-all-variable/bad.py | 1 | __all__ = ["get_fruit_colour"] # [undefined-all-variable] | CODE |
| LOW | doc/data/messages/i/invalid-all-object/good.py | 1 | __all__ = ["Fruit", "Worm"] | CODE |
| LOW | doc/data/messages/t/too-many-lines/good/__init__.py | 1 | __all__ = ["is_palindrome", "main"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pylint/lint/pylinter.py | 1059 | # Creating an issue template and adding the 'astroid-error' message is handled | COMMENT |
| MEDIUM | pylint/checkers/refactoring/refactoring_checker.py | 919 | # This function is written expecting a test condition of form: | COMMENT |
| MEDIUM | pylint/config/arguments_manager.py | 353 | # Create a comment if the option has no value | COMMENT |
| MEDIUM | tests/test_check_parallel.py | 400 | # Create a dummy file, the actual contents of which will be ignored by the | COMMENT |
| MEDIUM | tests/test_check_parallel.py | 469 | # Create a dummy file, the actual contents of which will be ignored by the | COMMENT |
| MEDIUM | tests/test_check_parallel.py | 683 | # Create a dummy file, the actual contents of which will be ignored by the | COMMENT |
| MEDIUM | tests/pyreverse/test_diadefs.py | 445 | # Create a tree with a single root node and multiple leaf nodes | STRING |
| MEDIUM | .github/workflows/primer_run_main.yaml | 45 | # Create a re-usable virtual environment | COMMENT |
| MEDIUM | doc/conf.py | 14 | # This file is execfile()d with the current directory set to its containing dir. | COMMENT |
| MEDIUM | doc/exts/pylint_options.py | 130 | # Create a comment if the option has no value | COMMENT |
| MEDIUM | doc/data/messages/t/too-many-statements/bad.py | 7 | # This function is a masterpiece of code that embodies the epitome of efficiency | COMMENT |
| MEDIUM | …/data/messages/t/too-many-positional-arguments/good.py | 2 | """This function is 'Keyword only' for all args due to the '*'.""" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …functional/i/implicit/implicit_str_concat_multiline.py | 10 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit," | CODE |
| LOW⚡ | …functional/i/implicit/implicit_str_concat_multiline.py | 10 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit," | CODE |
| LOW⚡ | …functional/i/implicit/implicit_str_concat_multiline.py | 17 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit," | CODE |
| LOW⚡ | …functional/i/implicit/implicit_str_concat_multiline.py | 17 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit," | CODE |
| LOW⚡ | …functional/i/implicit/implicit_str_concat_multiline.py | 25 | "Lorem ipsum dolor sit amet, ""consectetur adipiscing elit," # [implicit-str-concat] | CODE |
| LOW⚡ | …functional/i/implicit/implicit_str_concat_multiline.py | 25 | "Lorem ipsum dolor sit amet, ""consectetur adipiscing elit," # [implicit-str-concat] | CODE |
| LOW⚡ | …functional/i/implicit/implicit_str_concat_multiline.py | 26 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit," | CODE |
| LOW⚡ | …functional/i/implicit/implicit_str_concat_multiline.py | 26 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit," | CODE |
| LOW⚡ | …functional/i/implicit/implicit_str_concat_multiline.py | 35 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit," | CODE |
| LOW⚡ | …functional/i/implicit/implicit_str_concat_multiline.py | 35 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit," | CODE |
| LOW⚡ | …functional/i/implicit/implicit_str_concat_multiline.py | 44 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit," # [implicit-str-concat] | CODE |
| LOW⚡ | …functional/i/implicit/implicit_str_concat_multiline.py | 44 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit," # [implicit-str-concat] | CODE |
| LOW | tests/functional/i/implicit/implicit_str_concat.py | 13 | print("Lorem ipsum " "dolor sit amet") # [implicit-str-concat] | CODE |
| LOW | tests/functional/i/implicit/implicit_str_concat.py | 13 | print("Lorem ipsum " "dolor sit amet") # [implicit-str-concat] | CODE |
| LOW | tests/functional/i/implicit/implicit_str_concat.py | 36 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit," | CODE |
| LOW | tests/functional/i/implicit/implicit_str_concat.py | 36 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit," | CODE |
| LOW | tests/functional/f/fixme_bad_formatting_1139.py | 6 | # TODO Lorem ipsum dolor sit amet consectetur adipiscing elit # [fixme] | COMMENT |
| LOW | tests/functional/f/fixme_bad_formatting_1139.py | 6 | # TODO Lorem ipsum dolor sit amet consectetur adipiscing elit # [fixme] | COMMENT |
| LOW | tests/functional/f/fixme_bad_formatting_1139.txt | 1 | fixme:6:1:None:None::TODO Lorem ipsum dolor sit amet consectetur adipiscing elit # [fixme]:UNDEFINED | CODE |
| LOW | tests/functional/f/fixme_bad_formatting_1139.txt | 1 | fixme:6:1:None:None::TODO Lorem ipsum dolor sit amet consectetur adipiscing elit # [fixme]:UNDEFINED | CODE |
| LOW | doc/exts/pylint_messages.py | 173 | placeholder_good = "placeholder" in f.read() | STRING |
| LOW | doc/data/messages/d/docstring-first-line-empty/good.py | 2 | """Lorem Ipsum is simply dummy text of the printing and typesetting | STRING |
| LOW | doc/data/messages/d/docstring-first-line-empty/good.py | 5 | Lorem Ipsum has been the industry's standard dummy text ever since the | STRING |
| LOW | doc/data/messages/d/docstring-first-line-empty/bad.py | 3 | Lorem Ipsum is simply dummy text of the printing and typesetting | STRING |
| LOW | doc/data/messages/d/docstring-first-line-empty/bad.py | 6 | Lorem Ipsum has been the industry's standard dummy text ever since the | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | pylint/checkers/variables.py | 740 | # ``Const`` carries whose truthiness is undefined, so treat it | STRING |
| HIGH | …s/functional/u/used/used_before_assignment_nonlocal.py | 33 | def test_fail4(*args: test_fail5, **kwargs: undefined): | CODE |
| HIGH | tests/functional/g/globals.py | 33 | global SOMEVAR # [global-variable-undefined] | CODE |
| HIGH | tests/functional/m/match_class_pattern.py | 54 | # If class name is undefined, we can't get __match_args__ | COMMENT |
| HIGH | doc/data/messages/g/global-variable-undefined/bad.py | 2 | global TOMATO # [global-variable-undefined] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pylint/lint/run.py | 245 | # So we use self.linter.msg_status if that is non-zero, otherwise we just return 1. | COMMENT |
| LOW | pylint/lint/run.py | 252 | # So we use self.linter.msg_status if that is non-zero, otherwise we just return 1. | COMMENT |
| LOW | pylint/checkers/typecheck.py | 1531 | # make sense of the function call in this case, so just return. | COMMENT |
| LOW | pylint/checkers/unicode.py | 401 | # If we can't decode properly, we simply use bytes, even so the column offsets | STRING |
| LOW | pylint/checkers/utils.py | 627 | # while on CPython it will simply return the fields, | COMMENT |
| MEDIUM | tests/test_self.py | 794 | # Essentially same test cases as --fail-under, but run with/without a detected | COMMENT |
| MEDIUM | tests/test_check_parallel.py | 319 | """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.py | 15 | # We don't warn on intricate expressions as we lack knowledge of simplifying such | COMMENT |
| MEDIUM | tests/functional/t/type/typevar_name_mismatch.py | 22 | # (that's already handled by the aforementioned rules), | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | pylint/checkers/unicode.py | 280 | Try to extract the codec (unicode only) by checking for the BOM. For details about BOM see https://unicode.org/faq/ | STRING |
| HIGH | pylint/checkers/unicode.py | 421 | Determine the codec from the given stream. first tries https://www.python.org/dev/peps/pep-0263/ and if | STRING |
| HIGH | pylint/checkers/strings.py | 1085 | Returns the quote character used to delimit this token string. This function checks whether the token is a well-for | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pylint/config/deprecation_actions.py | 20 | CODE | |
| LOW | pylint/config/deprecation_actions.py | 65 | CODE | |
| LOW | pylint/config/callback_actions.py | 60 | CODE | |
| LOW | pylint/config/callback_actions.py | 103 | CODE | |
| LOW | pylint/config/callback_actions.py | 309 | CODE | |
| LOW | pylint/config/callback_actions.py | 431 | CODE | |
| LOW | pylint/utils/linterstats.py | 83 | CODE | |
| LOW | pylint/testutils/pyreverse.py | 27 | CODE | |
| LOW | …ext/redefined_variable_type/redefined_variable_type.py | 96 | CODE | |
| LOW | …ext/redefined_variable_type/redefined_variable_type.py | 100 | CODE | |
| LOW | …l/r/regression/regression_9865_calling_bound_lambda.py | 8 | CODE | |
| LOW | tests/functional/t/too/too_many_locals_py312.py | 10 | CODE | |
| LOW | …s/functional/a/assignment/assignment_from_no_return.py | 46 | CODE | |
| LOW | …s/functional/c/consider/consider_merging_isinstance.py | 37 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pylint/testutils/utils.py | 61 | # If new_pythonpath is None, make sure to delete PYTHONPATH if present | COMMENT |
| MEDIUM | examples/pyproject.toml | 10 | # to run only the similarities checker, you can use "--disable=all | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/regrtest_data/fixme.py | 1 | # TODO: implement | COMMENT |