Repository Analysis

astral-sh/ruff

An extremely fast Python linter and code formatter, written in Rust.

4.8 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of astral-sh/ruff, a Rust project with 49,366 GitHub stars. SynthScan v2.0 examined 1,110,427 lines of code across 3914 source files, recording 5316 pattern matches distributed across 24 syntactic categories. The overall adjusted score of 4.8 places this repository in the Likely human-written 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).

4.8
Adjusted Score
4.8
Raw Score
100%
Time Factor
2026-08-28
Last Push
49.4K
Stars
Rust
Language
1.1M
Lines of Code
3.9K
Files
5.3K
Pattern Hits
2026-08-29
Scan Date
0.01
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

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.

Severity Breakdown

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.

CRITICAL 0HIGH 28MEDIUM 81LOW 5207

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 5316 distinct pattern matches across 24 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.

Over-Commented Block3972 hits · 3764 pts
SeverityFileLineSnippetContext
LOWCargo.toml321COMMENT
LOW.markdownlint.yaml21MD024:COMMENT
LOWcrates/ty_site_packages/src/version.rs21 /// Value loaded from the `pyvenv.cfg` file of the virtual environment.COMMENT
LOWcrates/ty_site_packages/src/lib.rs41/// available, however. Ephemeral environments created with `uv` inCOMMENT
LOWcrates/ty_site_packages/src/lib.rs681 }COMMENT
LOWcrates/ty_site_packages/src/lib.rs961#[derive(Debug, PartialEq, Eq, Copy, Clone)]COMMENT
LOWcrates/ty_site_packages/src/lib.rs1221 ),COMMENT
LOWcrates/ty_site_packages/src/lib.rs1641 sys_prefix_path.to_owned(),COMMENT
LOWcrates/ty_site_packages/src/lib.rs1661 // used for C extensions, never for pure-Python modules. However, in practice,COMMENT
LOWcrates/ty_site_packages/src/lib.rs2041 path.parent().map(|path| Self {COMMENT
LOWcrates/ty_site_packages/src/lib.rs2241/// environment variable that Python provides! However, it'sCOMMENT
LOWcrates/ruff/tests/analyze_graph.rs821 let root = ChildPath::new(tempdir.path());COMMENT
LOWcrates/ruff/tests/cli/lint.rs3821/// ├── collectionsCOMMENT
LOWcrates/ruff/tests/cli/lint.rs4341 );COMMENT
LOWcrates/ruff/tests/cli/main.rs21mod show_settings;COMMENT
LOWcrates/ruff/tests/cli/main.rs41/// ```rust,no_runCOMMENT
LOWcrates/ruff/tests/cli/main.rs201 /// - The correct ruff binary pathCOMMENT
LOWcrates/ruff/src/cache.rs61/// `Cache` holds everything required to display the diagnostics for a singleCOMMENT
LOWcrates/ruff/src/cache.rs321/// On disk representation of a cache of a package.COMMENT
LOWcrates/ruff/src/args.rs61 /// Ignore all configuration files.COMMENT
LOWcrates/ruff/src/args.rs121)]COMMENT
LOWcrates/ruff/src/args.rs201 /// file to files that it depends on. Use `--direction dependents` to generate a map from fileCOMMENT
LOWcrates/ruff/src/args.rs221 python: Option<PathBuf>,COMMENT
LOWcrates/ruff/src/args.rs241 #[clap(long, overrides_with("fix"), hide = true)]COMMENT
LOWcrates/ruff/src/args.rs261 watch: bool,COMMENT
LOWcrates/ruff/src/args.rs401 /// Enforce exclusions, even for paths passed to Ruff directly on the command-line.COMMENT
LOWcrates/ruff/src/args.rs521COMMENT
LOWcrates/ruff/src/args.rs581 #[clap(long, overrides_with("force_exclude"), hide = true)]COMMENT
LOWcrates/ruff/src/args.rs601 no_preview: bool,COMMENT
LOWcrates/ruff/src/args.rs701 /// Whether the user specified --isolated on the command lineCOMMENT
LOWcrates/ruff/src/args.rs921 (false, true) => Some(false),COMMENT
LOWcrates/ruff/src/args.rs961/// Using the `--config` flag, users may pass 0 or 1 pathsCOMMENT
LOWcrates/ruff_python_literal/src/format.rs201/// ```pythonCOMMENT
LOWcrates/ruff_python_trivia/src/textwrap.rs1//! Functions related to adding and removing indentation from lines ofCOMMENT
LOWcrates/ruff_python_trivia/src/textwrap.rs21///COMMENT
LOWcrates/ruff_python_trivia/src/textwrap.rs41/// assert_eq!(indent("foo = 123\n\nprint(foo)\n", "# "),COMMENT
LOWcrates/ruff_python_trivia/src/textwrap.rs81/// ```COMMENT
LOWcrates/ruff_python_trivia/src/textwrap.rs141/// ```COMMENT
LOWcrates/ruff_python_trivia/src/textwrap.rs181 result.push_str(&line.as_full_str()[prefix_len..]);COMMENT
LOWcrates/ruff_python_trivia/src/textwrap.rs201/// removed and the formfeeds reinstatedCOMMENT
LOWcrates/ruff_python_trivia/src/pragmas.rs1/// Returns `true` if a comment appears to be a pragma comment.COMMENT
LOWcrates/ruff_python_trivia/src/pragmas.rs41COMMENT
LOWcrates/ruff_python_trivia/src/comments.rs61 position.is_own_line() && matches!(Self::from_comment(slice), Some(Self::Off))COMMENT
LOWcrates/ruff_python_trivia/src/comments.rs81COMMENT
LOWcrates/ruff_python_trivia/src/comment_ranges.rs121 source.line_end(node.end())COMMENT
LOWcrates/ruff_python_trivia/src/comment_ranges.rs141 /// # even though it is indentedCOMMENT
LOWcrates/ruff_index/src/vec.rs181// not the phantom data.COMMENT
LOWcrates/ruff_workspace/src/options.rs41use ruff_options_metadata::{OptionsMetadata, Visit};COMMENT
LOWcrates/ruff_workspace/src/options.rs61 /// variable, if set.COMMENT
LOWcrates/ruff_workspace/src/options.rs81 /// the parent's rule selection is inherited and both parent and childCOMMENT
LOWcrates/ruff_workspace/src/options.rs101 default = r#""full""#,COMMENT
LOWcrates/ruff_workspace/src/options.rs201 /// named `.mypy_cache` in the tree), `foo.py` (to exclude any file namedCOMMENT
LOWcrates/ruff_workspace/src/options.rs221 /// A list of file patterns to omit from formatting and linting, in addition to thoseCOMMENT
LOWcrates/ruff_workspace/src/options.rs261COMMENT
LOWcrates/ruff_workspace/src/options.rs281 /// A list of file patterns to include when linting.COMMENT
LOWcrates/ruff_workspace/src/options.rs301 /// Whether to automatically exclude files that are ignored by `.ignore`,COMMENT
LOWcrates/ruff_workspace/src/options.rs361 ///COMMENT
LOWcrates/ruff_workspace/src/options.rs381 /// type checker is run using Python 3.9, despite the fact that the `|`COMMENT
LOWcrates/ruff_workspace/src/options.rs401 /// supported Python version of 3.9 but a subdirectory of developer scripts that want to use aCOMMENT
LOWcrates/ruff_workspace/src/options.rs421 ///COMMENT
3912 more matches not shown…
Hyper-Verbose Identifiers890 hits · 837 pts
SeverityFileLineSnippetContext
LOWty.schema.json1539 "description": "## What it does\n\nDetects `return` statements that unsoundly return a type that is not a [subCODE
LOW…ff_python_parser/resources/valid/statement/function.py9def positional_parameters_with_default_values(a, b=20, c=30):CODE
LOW…ff_python_parser/resources/valid/statement/function.py17def positional_only_and_positional_parameters(a, /, b, c):CODE
LOW…ff_python_parser/resources/valid/statement/function.py21def pos_args_with_defaults_and_varargs_and_kwargs(a, b=20, /, c=30, *args, **kwargs):CODE
LOW…ff_python_parser/resources/valid/statement/function.py29def keyword_only_parameters_with_defaults(*, a, b=20, c=30):CODE
LOW…ff_python_parser/resources/valid/statement/function.py33def kw_only_args_with_defaults_and_varargs(*args, a, b=20, c=30):CODE
LOW…ff_python_parser/resources/valid/statement/function.py37def kw_only_args_with_defaults_and_kwargs(*, a, b=20, c=30, **kwargs):CODE
LOW…ff_python_parser/resources/valid/statement/function.py41def kw_only_args_with_defaults_and_varargs_and_kwargs(*args, a, b=20, c=30, **kwargs):CODE
LOW…ff_python_parser/resources/valid/statement/function.py49def pos_and_kw_only_args_with_defaults(a, b, /, c, *, d, e=20, f=30):CODE
LOW…ff_python_parser/resources/valid/statement/function.py53def pos_and_kw_only_args_with_defaults_and_varargs(a, b, /, c, *args, d, e=20, f=30):CODE
LOW…ff_python_parser/resources/valid/statement/function.py57def pos_and_kw_only_args_with_defaults_and_kwargs(CODE
LOW…ff_python_parser/resources/valid/statement/function.py63def pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs(CODE
LOW…ff_python_parser/resources/valid/statement/function.py69def positional_and_keyword_parameters(a, b, c, *, d, e, f):CODE
LOW…ff_python_parser/resources/valid/statement/function.py73def positional_and_keyword_parameters_with_defaults(a, b, c, *, d, e=20, f=30):CODE
LOW…ff_python_parser/resources/valid/statement/function.py77def positional_and_keyword_parameters_with_defaults_and_varargs(CODE
LOW…ff_python_parser/resources/valid/statement/function.py83def positional_and_keyword_parameters_with_defaults_and_varargs_and_kwargs(CODE
LOWcrates/ty_ide/src/rename.rs417class DataProcessor:CODE
LOWcrates/ty_ide/src/semantic_tokens.rs3110def function_with_annotations(param1: int, param2: str) -> Optional[List[str]]:CODE
LOWcrates/ty_ide/src/find_references.rs1154class DataProcessor:CODE
LOWcrates/ty_ide/src/find_references.rs1171 4 | class DataProcessor:CODE
LOW…val/truth/import-deprioritizes-type_check_only/main.py28 def declared_in_type_checking_block() -> None:CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py424def test_select_multiple_items_by_index(ds3):CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py434def test_select_multiple_items_by_slice(ds3):CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py444def test_select_item_by_iteminfo():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py986def test_int_is_valid_type_info():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py995def test_int_is_valid_unit_info():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py1003def test_default_unit_from_type():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py1312def test_concat_by_time_inconsistent_shape_not_possible():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py1320def test_concat_by_time_no_time():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py57def test_create_wrong_data_type_error():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py169def test_index_with_attribute():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py228def test_getitem_multi_indexing_attempted(ds3):CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py277def test_select_subset_isel_axis_out_of_range_error(ds2):CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py294def test_select_temporal_subset_by_idx():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py314def test_temporal_subset_fancy():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py343def test_subset_with_datetime():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py401def test_select_multiple_items_by_name():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py463def test_select_subset_isel_multiple_idxs():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py511def test_create_named_undefined():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py528def test_to_dataframe_single_timestep():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py562def test_multidimensional_to_dataframe_no_supported():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py610def test_interp_time_to_other_dataset():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py673def test_extrapolate_not_allowed():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py719def test_modify_selected_variable():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py764def test_aggregation_workflows(tmpdir):CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py782def test_aggregation_dataset_no_time():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py813def test_to_dfs_extension_validation(tmpdir):CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py895def test_aggregate_across_items():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py914def test_aggregate_selected_items_dfsu_save_to_new_file(tmpdir):CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py1021def test_default_name_from_type():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py1036def test_iteminfo_string_type_should_fail_with_helpful_message():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py1152def test_create_infer_name_from_eum():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py1177def test_add_inconsistent_dataset(ds1):CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py1269def test_concat_dataarray_by_time():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py1350def test_renamed_dataset_has_updated_attributes(ds1: mikeio.Dataset):CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py1458def test_merge_same_name_error():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py1469def test_incompatible_data_not_allowed():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py1535def test_create_dataset_with_many_items():CODE
LOWcrates/ruff_benchmark/resources/large/dataset.py1552def test_create_array_with_defaults_from_dataset():CODE
LOWcrates/ruff_benchmark/resources/tomllib/_parser.py275def skip_comments_and_array_ws(src: str, pos: Pos) -> Pos:CODE
830 more matches not shown…
Unused Imports139 hits · 139 pts
SeverityFileLineSnippetContext
LOW…ruff_python_parser/resources/valid/statement/import.py1CODE
LOW…ruff_python_parser/resources/valid/statement/import.py2CODE
LOW…ruff_python_parser/resources/valid/statement/import.py3CODE
LOW…ruff_python_parser/resources/valid/statement/import.py4CODE
LOW…ruff_python_parser/resources/valid/statement/import.py4CODE
LOW…ruff_python_parser/resources/valid/statement/import.py4CODE
LOW…ruff_python_parser/resources/valid/statement/import.py5CODE
LOW…ruff_python_parser/resources/valid/statement/import.py5CODE
LOW…python_parser/resources/valid/statement/from_import.py1CODE
LOW…python_parser/resources/valid/statement/from_import.py2CODE
LOW…python_parser/resources/valid/statement/from_import.py3CODE
LOW…python_parser/resources/valid/statement/from_import.py3CODE
LOW…python_parser/resources/valid/statement/from_import.py4CODE
LOW…python_parser/resources/valid/statement/from_import.py5CODE
LOW…python_parser/resources/valid/statement/from_import.py6CODE
LOW…python_parser/resources/valid/statement/from_import.py7CODE
LOW…python_parser/resources/valid/statement/from_import.py8CODE
LOW…python_parser/resources/valid/statement/from_import.py8CODE
LOW…python_parser/resources/valid/statement/from_import.py8CODE
LOW…python_parser/resources/valid/statement/from_import.py9CODE
LOW…n_parser/resources/inline/ok/import_stmt_terminator.py1CODE
LOW…n_parser/resources/inline/ok/import_stmt_terminator.py1CODE
LOW…n_parser/resources/inline/ok/import_stmt_terminator.py2CODE
LOW…n_parser/resources/inline/ok/import_stmt_terminator.py2CODE
LOW…hon_parser/resources/inline/ok/valid_future_feature.py1CODE
LOW…er/resources/inline/ok/simple_stmts_with_semicolons.py1CODE
LOW…er/resources/inline/ok/simple_stmts_with_semicolons.py1CODE
LOW…hon_parser/resources/inline/ok/from_import_no_space.py1CODE
LOW…hon_parser/resources/inline/ok/from_import_no_space.py2CODE
LOW…thon_parser/resources/inline/ok/debug_rename_import.py1CODE
LOW…thon_parser/resources/inline/ok/debug_rename_import.py2CODE
LOW…thon_parser/resources/inline/ok/debug_rename_import.py3CODE
LOW…r/resources/inline/ok/dotted_name_normalized_spaces.py1CODE
LOW…r/resources/inline/ok/dotted_name_normalized_spaces.py2CODE
LOW…ser/resources/inline/ok/import_as_name_soft_keyword.py1CODE
LOW…ser/resources/inline/ok/import_as_name_soft_keyword.py2CODE
LOW…ser/resources/inline/ok/import_as_name_soft_keyword.py3CODE
LOW…ser/resources/inline/ok/import_as_name_soft_keyword.py4CODE
LOW…rces/inline/ok/from_import_soft_keyword_module_name.py1CODE
LOW…rces/inline/ok/from_import_soft_keyword_module_name.py2CODE
LOW…rces/inline/ok/from_import_soft_keyword_module_name.py3CODE
LOW…rces/inline/ok/from_import_soft_keyword_module_name.py4CODE
LOW…rces/inline/ok/from_import_soft_keyword_module_name.py5CODE
LOW…_python_parser/resources/inline/ok/import_from_star.py1CODE
LOW…ser/resources/inline/ok/from_import_stmt_terminator.py1CODE
LOW…ser/resources/inline/ok/from_import_stmt_terminator.py1CODE
LOW…ser/resources/inline/ok/from_import_stmt_terminator.py2CODE
LOW…ser/resources/inline/ok/from_import_stmt_terminator.py2CODE
LOW…ser/resources/inline/ok/from_import_stmt_terminator.py3CODE
LOW…ser/resources/inline/ok/from_import_stmt_terminator.py3CODE
LOW…ser/resources/inline/ok/from_import_stmt_terminator.py4CODE
LOW…ser/resources/inline/ok/from_import_stmt_terminator.py4CODE
LOW…rces/inline/ok/lazy_import_soft_keyword_split_py315.py3CODE
LOW…rces/inline/ok/lazy_import_soft_keyword_split_py315.py6CODE
LOW…hon_parser/resources/inline/err/debug_shadow_import.py1CODE
LOW…hon_parser/resources/inline/err/debug_shadow_import.py2CODE
LOW…hon_parser/resources/inline/err/debug_shadow_import.py3CODE
LOW…hon_parser/resources/inline/err/debug_shadow_import.py4CODE
LOW…_parser/resources/inline/err/invalid_future_feature.py1CODE
LOW…_parser/resources/inline/err/invalid_future_feature.py2CODE
79 more matches not shown…
Excessive Try-Catch Wrapping81 hits · 108 pts
SeverityFileLineSnippetContext
LOW…es/ruff_python_parser/resources/valid/statement/try.py15except Exception as e:CODE
LOW…esources/inline/ok/except_stmt_as_name_soft_keyword.py2except Exception as match: ...CODE
LOW…esources/inline/ok/except_stmt_as_name_soft_keyword.py3except Exception as case: ...CODE
LOW…esources/inline/ok/except_stmt_as_name_soft_keyword.py4except Exception as type: ...CODE
LOW…python_parser/resources/inline/err/debug_shadow_try.py2except Exception as __debug__: ...CODE
LOWcrates/ruff_python_formatter/src/comments/mod.rs729except Exception as ex:CODE
LOWcrates/ruff_python_formatter/src/comments/mod.rs756 except Exception as ex:CODE
MEDIUMcrates/ruff_python_formatter/src/comments/mod.rs751def test():CODE
LOW…es/ty_python_core/src/builder/loop_bindings_visitor.rs357 except Exception as exc_var:CODE
LOWcrates/ty_ide/src/semantic_tokens.rs4705except Exception as e:CODE
MEDIUMcrates/ty_ide/src/find_references.rs358 print(f'Error: {err}')CODE
MEDIUMcrates/ty_ide/src/find_references.rs374 5 | print(f'Error: {err}')CODE
LOWcrates/ruff_python_codegen/src/generator.rs1832except Exception as e:CODE
LOWcrates/ruff_benchmark/resources/numpy/ctypeslib.py305 except Exception as e:CODE
LOW…python_semantic/resources/corpus/62_try_except_cond.py3except Exception as exc:CODE
LOW…thon_semantic/resources/corpus/62_try_except_return.py4 except Exception as e:CODE
MEDIUM…thon_semantic/resources/corpus/62_try_except_return.py1def foo():CODE
LOW…ython_semantic/resources/mdtest/pep695_type_aliases.md249except Exception:CODE
LOW…resources/mdtest/diagnostics/semantic_syntax_errors.md581 except Exception:CODE
LOW…resources/mdtest/diagnostics/semantic_syntax_errors.md659 except Exception:CODE
MEDIUM…resources/mdtest/diagnostics/semantic_syntax_errors.md578def i(a):CODE
MEDIUM…resources/mdtest/diagnostics/semantic_syntax_errors.md656def i(a):CODE
MEDIUM…on_semantic/resources/mdtest/exception/control_flow.md65def fallback() -> None:CODE
MEDIUM…on_semantic/resources/mdtest/exception/control_flow.md82def incompatible_fallback() -> None:CODE
MEDIUM…on_semantic/resources/mdtest/exception/control_flow.md112def no_previous_binding() -> None:CODE
MEDIUM…on_semantic/resources/mdtest/exception/control_flow.md199def shadowed_builtin() -> None:CODE
LOW…on_semantic/resources/mdtest/exception/control_flow.md943 except Exception:CODE
LOW…on_semantic/resources/mdtest/exception/control_flow.md957 except Exception:CODE
LOW…on_semantic/resources/mdtest/exception/control_flow.md68 except Exception:CODE
LOW…on_semantic/resources/mdtest/exception/control_flow.md85 except Exception:CODE
LOW…on_semantic/resources/mdtest/exception/control_flow.md97 except Exception:CODE
LOW…on_semantic/resources/mdtest/exception/control_flow.md109 except Exception:CODE
LOW…on_semantic/resources/mdtest/exception/control_flow.md115 except Exception:CODE
LOW…on_semantic/resources/mdtest/exception/control_flow.md127 except Exception:CODE
LOW…on_semantic/resources/mdtest/exception/control_flow.md144 except Exception:CODE
LOW…thon_semantic/src/types/ide_support/unused_bindings.rs284 except Exception as dead_exc:CODE
MEDIUM…nter/resources/mdtest/ruff/fallible-context-manager.md136def bad_yield_in_finally_not_last():CODE
MEDIUM…nter/resources/mdtest/ruff/fallible-context-manager.md172def bad_yield_in_except_with_cleanup():CODE
MEDIUM…nter/resources/mdtest/ruff/fallible-context-manager.md190def bad_yield_in_else_with_cleanup():CODE
MEDIUM…nter/resources/mdtest/ruff/fallible-context-manager.md336def good_async_try_finally():CODE
MEDIUM…nter/resources/mdtest/ruff/fallible-context-manager.md354def good_nested_try_finally():CODE
MEDIUM…nter/resources/mdtest/ruff/fallible-context-manager.md384def good_try_except_with_else():CODE
MEDIUM…nter/resources/mdtest/ruff/fallible-context-manager.md394def good_yield_in_except_no_finally():CODE
MEDIUM…nter/resources/mdtest/ruff/fallible-context-manager.md402def good_yield_in_except_with_finally():CODE
MEDIUM…nter/resources/mdtest/ruff/fallible-context-manager.md412def good_yield_in_else_with_finally():CODE
MEDIUM…nter/resources/mdtest/ruff/fallible-context-manager.md424def good_yield_in_finally():CODE
LOW…nter/resources/mdtest/ruff/fallible-context-manager.md379 except Exception:CODE
LOW…nter/resources/mdtest/ruff/fallible-context-manager.md387 except Exception:CODE
LOW…nter/resources/mdtest/ruff/fallible-context-manager.md397 except Exception:CODE
LOW…nter/resources/mdtest/ruff/fallible-context-manager.md405 except Exception:CODE
LOW…nter/resources/mdtest/ruff/fallible-context-manager.md415 except Exception:CODE
LOW…nter/resources/mdtest/ruff/fallible-context-manager.md444 except Exception:CODE
LOW…nter/resources/mdtest/ruff/fallible-context-manager.md157 except Exception:CODE
LOW…nter/resources/mdtest/ruff/fallible-context-manager.md175 except Exception:CODE
LOW…nter/resources/mdtest/ruff/fallible-context-manager.md193 except Exception:CODE
LOW…nter/resources/mdtest/ruff/fallible-context-manager.md347 except Exception:CODE
LOW…r/resources/mdtest/flake8-return/unnecessary-assign.md19 except Exception as e:CODE
LOW…r/resources/mdtest/flake8-return/unnecessary-assign.md74 except Exception:CODE
LOW…r/resources/mdtest/flake8-return/unnecessary-assign.md89 except Exception:CODE
LOW…r/resources/mdtest/flake8-return/unnecessary-assign.md210 except Exception as e:CODE
21 more matches not shown…
Decorative Section Separators26 hits · 74 pts
SeverityFileLineSnippetContext
MEDIUM…resources/valid/statement/ambiguous_lpar_with_items.py10# ------------------------COMMENT
MEDIUM…resources/valid/statement/ambiguous_lpar_with_items.py43# ------------------------COMMENT
MEDIUM…resources/valid/statement/ambiguous_lpar_with_items.py71# ----------------COMMENT
MEDIUM…resources/valid/statement/ambiguous_lpar_with_items.py99# ----------------------------------COMMENT
MEDIUMcrates/ruff_annotate_snippets/src/renderer/render.rs1185 // │ ┏━━━━━┛ │ │ < We are writing these linesCOMMENT
MEDIUMcrates/ruff_annotate_snippets/src/renderer/render.rs1186 // │ ┃┌───────┘ │ < by reverting the "depth" ofCOMMENT
MEDIUMcrates/ruff_annotate_snippets/src/renderer/render.rs1187 // │ ┃│┌─────────┘ < their multiline spans.COMMENT
MEDIUMcrates/ruff_annotate_snippets/src/renderer/render.rs1191 // │ ┃└─────│──┤COMMENT
MEDIUMcrates/ruff_annotate_snippets/src/renderer/render.rs1192 // │ ┗━━━━━━┥ `Y` is a good letter tooCOMMENT
MEDIUMcrates/ruff_annotate_snippets/src/renderer/mod.rs363 // bottom_left > ┗━━━━━┥ < bottom_right_with_textCOMMENT
MEDIUMcrates/ty_python_semantic/src/types/typevar.rs164/// # ╰─────╰─────────── [2]COMMENT
MEDIUMcrates/ty_python_semantic/src/types/typevar.rs164/// # ╰─────╰─────────── [2]COMMENT
MEDIUMcrates/ty_python_semantic/src/types/typevar.rs165/// # ╰─────────────────────── [1]COMMENT
MEDIUMcrates/ty_python_semantic/src/types/typevar.rs165/// # ╰─────────────────────── [1]COMMENT
MEDIUMcrates/ruff_python_ast/generate.py81# ------------------------------------------------------------------------------COMMENT
MEDIUMcrates/ruff_python_ast/generate.py92# ------------------------------------------------------------------------------COMMENT
MEDIUMcrates/ruff_python_ast/generate.py288# ------------------------------------------------------------------------------COMMENT
MEDIUMcrates/ruff_python_ast/generate.py302# ------------------------------------------------------------------------------STRING
MEDIUMcrates/ruff_python_ast/generate.py505# ------------------------------------------------------------------------------STRING
MEDIUMcrates/ruff_python_ast/generate.py598# ------------------------------------------------------------------------------STRING
MEDIUMcrates/ruff_python_ast/generate.py771# ------------------------------------------------------------------------------STRING
MEDIUMcrates/ruff_python_ast/generate.py998# ------------------------------------------------------------------------------STRING
MEDIUMcrates/ruff_python_ast/generate.py1043# ------------------------------------------------------------------------------STRING
MEDIUMcrates/ruff_python_ast/generate.py1094# ------------------------------------------------------------------------------STRING
MEDIUMcrates/ruff_python_ast/generate.py1164# ------------------------------------------------------------------------------STRING
MEDIUMcrates/ruff_python_ast/generate.py1186# ------------------------------------------------------------------------------STRING
Docstring Block Structure13 hits · 65 pts
SeverityFileLineSnippetContext
HIGH…/ruff_linter/src/rules/pydocstyle/rules/not_missing.rs313Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// timeSTRING
HIGH…tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs47Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// STRING
HIGH…tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs68Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// timeSTRING
HIGH…tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs235Calculate speed as distance divided by time. /// /// args: /// distance: Distance traveled. /// timeSTRING
HIGH…tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs256Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// timeSTRING
HIGH…tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs321Calculate speed as distance divided by time. /// /// Parameters: /// ----------- /// distance : float /// STRING
HIGH…tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs1132Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// timeSTRING
HIGH…tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs1200Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// /// RetuSTRING
HIGH…tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs1220Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// timeSTRING
HIGH…tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs1285Calculate speed as distance divided by time. /// /// Args: /// /// distance: Distance traveled. /// STRING
HIGH…tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs1307Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// timeSTRING
HIGH…ff_linter/src/rules/pydoclint/rules/check_docstring.rs355Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// timeSTRING
HIGH…ff_linter/src/rules/pydoclint/rules/check_docstring.rs411Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// timeSTRING
Cross-File Repetition10 hits · 50 pts
SeverityFileLineSnippetContext
HIGH…inter/src/rules/pycodestyle/rules/doc_line_too_long.rs0lorem ipsum dolor sit amet. lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.STRING
HIGH…ff_linter/src/rules/pycodestyle/rules/line_too_long.rs0lorem ipsum dolor sit amet. lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.STRING
HIGHdocs/linter.md0lorem ipsum dolor sit amet. lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.STRING
HIGH…/ruff_linter/src/rules/pydocstyle/rules/not_missing.rs0calculate speed as distance divided by time. /// /// args: /// /// distance: distance traveled. /// time: time spent traSTRING
HIGH…tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs0calculate speed as distance divided by time. /// /// args: /// /// distance: distance traveled. /// time: time spent traSTRING
HIGH…ff_linter/src/rules/pydoclint/rules/check_docstring.rs0calculate speed as distance divided by time. /// /// args: /// /// distance: distance traveled. /// time: time spent traSTRING
HIGH…rules/pydocstyle/rules/newline_after_last_paragraph.rs0return a sorted copy of the list. /// /// sort the list in ascending order and return a copy of the result using the bubSTRING
HIGH…src/rules/pydocstyle/rules/multi_line_summary_start.rs0return a sorted copy of the list. /// /// sort the list in ascending order and return a copy of the result using the bubSTRING
HIGHcrates/ruff_linter/src/rules/pydocstyle/rules/indent.rs0return a sorted copy of the list. /// /// sort the list in ascending order and return a copy of the result using the bubSTRING
HIGH…nter/src/rules/pydocstyle/rules/blank_after_summary.rs0return a sorted copy of the list. /// /// sort the list in ascending order and return a copy of the result using the bubSTRING
Self-Referential Comments16 hits · 48 pts
SeverityFileLineSnippetContext
MEDIUM…resources/valid/statement/ambiguous_lpar_with_items.py6# The following sections basically separates between which node does theCOMMENT
MEDIUM…s/invalid/statements/with/ambiguous_lpar_with_items.py1# This file contains test cases where the with items has an ambiguous left parenthesis.COMMENT
MEDIUM…c/rules/flake8_bugbear/rules/loop_iterator_mutation.rs34/// # Create an infinite loop by appending to the list.COMMENT
MEDIUM…s/ruff_linter/src/rules/flake8_comprehensions/fixes.rs873 // # The above code will be converted to:COMMENT
MEDIUMcrates/ruff_python_ast/ast.toml1# This file is used by generate.py to autogenerate our Python AST data model.COMMENT
MEDIUMplayground/ruff/src/constants.ts4 "# Define a function that takes an integer n and returns the nth number in the Fibonacci\n" +CODE
MEDIUMscripts/update_schemastore.py94 # Create a new branch tagged with the current ruff commit up to date with the latestCOMMENT
MEDIUMscripts/add_plugin.py55 # Create the test fixture folder.COMMENT
MEDIUMscripts/add_plugin.py60 # Create the Plugin rules module.COMMENT
MEDIUMscripts/add_plugin.py95 # Create a subdirectory for rules and create a `mod.rs` placeholderCOMMENT
MEDIUMscripts/add_plugin.py101 # Create the snapshots subdirectoryCOMMENT
MEDIUMscripts/add_rule.py65 # Create a test fixture.COMMENT
MEDIUMscripts/ty_benchmark/src/benchmark/lsp_client.py18 # Define a union type that cattrs struggles with.COMMENT
MEDIUM.github/workflows/release.yml319 # Create a GitHub Release while uploading all files to itCOMMENT
MEDIUM.github/workflows/release.yml345 # Create a GitHub Release while uploading all files to itCOMMENT
MEDIUM.github/workflows/build-docker.yml230 # Initialize a variable to store all tag docker metadata patternsCOMMENT
Fake / Example Data31 hits · 48 pts
SeverityFileLineSnippetContext
LOWcrates/ty_ide/src/hover.rs5143 """Lorem ipsum dolor sit amet.<CURSOR>"""STRING
LOWcrates/ty_ide/src/hover.rs5143 """Lorem ipsum dolor sit amet.<CURSOR>"""STRING
LOW…pets/tests/color/highlight_source_multi_width_chars.rs7 let source = r#"[lorem ipsum](表意文字)"#;CODE
LOW…ython_semantic/resources/mdtest/external/sqlalchemy.md28user = User(name="John Doe")CODE
LOW…/ty_python_semantic/resources/mdtest/external/attrs.md22user = User(id=1, name="John Doe")CODE
LOW…/ty_python_semantic/resources/mdtest/external/attrs.md38user = User(id=1, name="John Doe")CODE
LOW…_python_semantic/resources/mdtest/external/pydantic.md25user = User(id=1, name="John Doe")CODE
LOW…_python_semantic/resources/mdtest/external/sqlmodel.md21user = User(id=1, name="John Doe")CODE
LOW…_linter/src/rules/ruff/rules/invalid_pyproject_toml.rs32/// { name = "Ferris the Crab", email = "ferris@example.org" }COMMENT
LOW…inter/src/rules/pycodestyle/rules/doc_line_too_long.rs44/// """Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis auctor purus ut ex fermentum, at maximus est heCOMMENT
LOW…inter/src/rules/pycodestyle/rules/doc_line_too_long.rs44/// """Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis auctor purus ut ex fermentum, at maximus est heCOMMENT
LOW…inter/src/rules/pycodestyle/rules/doc_line_too_long.rs51/// Lorem ipsum dolor sit amet, consectetur adipiscing elit.COMMENT
LOW…inter/src/rules/pycodestyle/rules/doc_line_too_long.rs51/// Lorem ipsum dolor sit amet, consectetur adipiscing elit.COMMENT
LOW…inter/src/rules/pycodestyle/rules/doc_line_too_long.rs63/// """Lorem ipsum dolor sit amet.COMMENT
LOW…inter/src/rules/pycodestyle/rules/doc_line_too_long.rs63/// """Lorem ipsum dolor sit amet.COMMENT
LOW…inter/src/rules/pycodestyle/rules/doc_line_too_long.rs65/// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.COMMENT
LOW…inter/src/rules/pycodestyle/rules/doc_line_too_long.rs65/// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.COMMENT
LOW…ff_linter/src/rules/pycodestyle/rules/line_too_long.rs60/// """Lorem ipsum dolor sit amet.COMMENT
LOW…ff_linter/src/rules/pycodestyle/rules/line_too_long.rs60/// """Lorem ipsum dolor sit amet.COMMENT
LOW…ff_linter/src/rules/pycodestyle/rules/line_too_long.rs62/// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.COMMENT
LOW…ff_linter/src/rules/pycodestyle/rules/line_too_long.rs62/// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.COMMENT
LOWdocs/linter.md445"""Lorem ipsum dolor sit amet.STRING
LOWdocs/linter.md445"""Lorem ipsum dolor sit amet.STRING
LOWdocs/linter.md447Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.STRING
LOWdocs/linter.md447Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.STRING
LOWdocs/linter.md537VALUE_1 = "Lorem ipsum dolor sit amet ..."CODE
LOWdocs/linter.md537VALUE_1 = "Lorem ipsum dolor sit amet ..."CODE
LOWdocs/linter.md538VALUE_2 = "Lorem ipsum dolor sit amet ..."CODE
LOWdocs/linter.md538VALUE_2 = "Lorem ipsum dolor sit amet ..."CODE
LOWdocs/linter.md539VALUE_3 = "Lorem ipsum dolor sit amet ..."CODE
LOWdocs/linter.md539VALUE_3 = "Lorem ipsum dolor sit amet ..."CODE
Verbosity Indicators32 hits · 45 pts
SeverityFileLineSnippetContext
LOWcrates/ty_python_semantic/src/types/member.rs85 // Otherwise, we need to check if the symbol has bindingsCOMMENT
LOWcrates/ty_python_semantic/src/types/class.rs2378 // Step 3: If the return type of the `__new__` evaluates to a type that is not a subclass of this class,COMMENT
LOWcrates/ty_python_semantic/src/types/call/bind.rs3690 // Step 1: Check the result of the arity check which is done by `match_parameters`COMMENT
LOWcrates/ty_python_semantic/src/types/call/bind.rs3734 // Step 2: Evaluate each remaining overload as a regular (non-overloaded) call to determineCOMMENT
LOWcrates/ty_python_semantic/src/types/call/bind.rs3808 // Step 3: Perform "argument type expansion". Reference:COMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1670 // Step 3: Clean-upCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1672 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2330 // Step 2: TraversalCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2333 // Step 3: Clean-upCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2343 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2350 // Step 1: Binding.COMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2357 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2362 // Step 1: Binding.COMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2372 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2377 // Step 1: BindingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2398 // Step 2: TraversalCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2401 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2406 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2409 // Step 2: TraversalCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs986 // Step 0: Pre-processingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1068 // Step 1: BindingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1262 // Step 2: TraversalCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1690 // Step 0: Pre-processingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1742 // Step 1: BindingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1777 // Step 2: TraversalCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2269 // Step 3: Clean-upCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2282 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2302 // Step 1: BindingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2427 // Step 1: BindingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2440 // Step 2: TraversalCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2574 // Step 4: AnalysisCOMMENT
LOW…_linter/src/rules/refurb/rules/isinstance_type_none.rs87 // the union operator, so we need to check if we're in a union.COMMENT
Structural Annotation Overuse30 hits · 42 pts
SeverityFileLineSnippetContext
LOWcrates/ty_python_semantic/src/types/class.rs2378 // Step 3: If the return type of the `__new__` evaluates to a type that is not a subclass of this class,COMMENT
LOWcrates/ty_python_semantic/src/types/call/bind.rs3690 // Step 1: Check the result of the arity check which is done by `match_parameters`COMMENT
LOWcrates/ty_python_semantic/src/types/call/bind.rs3734 // Step 2: Evaluate each remaining overload as a regular (non-overloaded) call to determineCOMMENT
LOWcrates/ty_python_semantic/src/types/call/bind.rs3808 // Step 3: Perform "argument type expansion". Reference:COMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1670 // Step 3: Clean-upCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1672 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2330 // Step 2: TraversalCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2333 // Step 3: Clean-upCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2343 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2350 // Step 1: Binding.COMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2357 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2362 // Step 1: Binding.COMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2372 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2377 // Step 1: BindingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2398 // Step 2: TraversalCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2401 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2406 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2409 // Step 2: TraversalCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs986 // Step 0: Pre-processingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1068 // Step 1: BindingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1262 // Step 2: TraversalCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1690 // Step 0: Pre-processingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1742 // Step 1: BindingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs1777 // Step 2: TraversalCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2269 // Step 3: Clean-upCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2282 // Step 4: AnalysisCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2302 // Step 1: BindingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2427 // Step 1: BindingCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2440 // Step 2: TraversalCOMMENT
LOWcrates/ruff_linter/src/checkers/ast/mod.rs2574 // Step 4: AnalysisCOMMENT
AI Slop Vocabulary10 hits · 28 pts
SeverityFileLineSnippetContext
MEDIUMcrates/ruff/src/commands/format.rs806 // a snippet to measure. If we commit to staying on our fork, a more robust way ofCOMMENT
MEDIUMcrates/ty_python_core/src/predicate.rs331/// will be visible from all control-flow paths or not. Essentially, we model `importer.py` asCOMMENT
MEDIUMcrates/ty_ide/src/docstring/markdown/general.rs10// Here lies a monument to robust parsing and escaping:COMMENT
LOWcrates/ruff_benchmark/resources/pydantic/types.py461 # hence we just use `secret_display`COMMENT
MEDIUMcrates/ty_python_semantic/src/types/special_form.rs294 /// This is much more robust than having a manual `from_string` method that matchesCOMMENT
MEDIUM…rules/ruff/rules/access_annotations_from_class_dict.rs30/// robust (e.g., correctly handling the Python 3.14 behavior mentionedCOMMENT
MEDIUM…ff_linter/src/rules/flake8_pytest_style/rules/patch.rs21/// `return_value` is also robust to changes in the patched function'sCOMMENT
MEDIUM…e_annotations/rules/future_required_type_annotation.rs27/// does not impact your ability to leverage PEP 604-style unions (e.g., toCOMMENT
MEDIUM…annotations/rules/future_rewritable_type_annotation.rs32/// does not impact your ability to leverage PEP 604-style unions (e.g., toCOMMENT
MEDIUMcrates/ruff_python_semantic/src/model.rs972 // could actually be referred to. This is not as robust as back-trackingCOMMENT
Deep Nesting26 hits · 26 pts
SeverityFileLineSnippetContext
LOWcrates/ruff_benchmark/resources/typeis_narrowing.py210CODE
LOWcrates/ruff_benchmark/resources/tomllib/_parser.py69CODE
LOWcrates/ruff_benchmark/resources/numpy/ctypeslib.py235CODE
LOWcrates/ty_python_semantic/mdtest.py157CODE
LOWcrates/ty_python_semantic/mdtest.py231CODE
LOW…s/67_with_inside_try_finally_multiple_terminal_elif.py1CODE
LOWcrates/ruff_python_ast/generate.py306CODE
LOWcrates/ruff_python_ast/generate.py1047CODE
LOWcrates/ruff_python_ast/generate.py1098CODE
LOWpython/ruff-ecosystem/ruff_ecosystem/check.py345CODE
LOWpython/ruff-ecosystem/ruff_ecosystem/projects.py88CODE
LOWpython/py-fuzzer/fuzz.py223CODE
LOWpython/py-fuzzer/fuzz.py326CODE
LOWscripts/add_plugin.py53CODE
LOWscripts/generate_mkdocs.py194CODE
LOWscripts/conformance.py463CODE
LOWscripts/conformance.py605CODE
LOWscripts/conformance.py689CODE
LOWscripts/conformance.py761CODE
LOWscripts/add_rule.py63CODE
LOWscripts/generate_builtin_modules.py73CODE
LOWscripts/setup-crates-io-publish.py305CODE
LOWscripts/generate-crate-readmes.py92CODE
LOWscripts/ty_benchmark/src/benchmark/snapshot.py60CODE
LOWscripts/ty_benchmark/src/benchmark/lsp_client.py15CODE
LOWscripts/ty_benchmark/src/benchmark/lsp_client.py27CODE
Redundant / Tautological Comments13 hits · 25 pts
SeverityFileLineSnippetContext
LOW…style/rules/logical_lines/whitespace_before_comment.rs24/// x = x + 1 # Increment xCOMMENT
LOW…style/rules/logical_lines/whitespace_before_comment.rs29/// x = x + 1 # Increment xCOMMENT
LOW…style/rules/logical_lines/whitespace_before_comment.rs30/// x = x + 1 # Increment xCOMMENT
LOW…style/rules/logical_lines/whitespace_before_comment.rs59/// x = x + 1 #Increment xCOMMENT
LOW…style/rules/logical_lines/whitespace_before_comment.rs60/// x = x + 1 # Increment xCOMMENT
LOW…style/rules/logical_lines/whitespace_before_comment.rs66/// x = x + 1 # Increment xCOMMENT
LOW…style/rules/logical_lines/whitespace_before_comment.rs67/// x = x + 1 # Increment xCOMMENT
LOWscripts/update_schemastore.py129 # Check if the schema has changedCOMMENT
LOWscripts/ty_benchmark/src/benchmark/snapshot.py95 # Check if snapshot exists.COMMENT
LOW.github/workflows/ci.yaml740 # Set pipefail to avoid hiding errors with teeCOMMENT
LOW.github/workflows/ci.yaml753 # Set pipefail to avoid hiding errors with teeCOMMENT
LOW.github/workflows/ci.yaml766 # Set pipefail to avoid hiding errors with teeCOMMENT
LOW.github/workflows/ci.yaml779 # Set pipefail to avoid hiding errors with teeCOMMENT
Cross-Language Confusion (JS/TS)3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHplayground/ty/src/Playground.tsx318 elif style == "bold":CODE
HIGHplayground/ty/src/Playground.tsx327print(with_style("ty is a fast type checker for Python.", "fast", "underlined"))CODE
HIGHplayground/ty/src/Editor/runPython.ts45 print(f"Runtime value is '{obj}'")CODE
Modern Structural Boilerplate11 hits · 12 pts
SeverityFileLineSnippetContext
LOWcrates/ruff_benchmark/resources/numpy/globals.py22__all__ = ['_NoValue', '_CopyMode']CODE
LOWcrates/ruff_benchmark/resources/numpy/ctypeslib.py52__all__ = ['load_library', 'ndpointer', 'c_intp', 'as_ctypes', 'as_array',CODE
LOWcrates/ruff_benchmark/resources/pydantic/types.py33__all__ = [CODE
LOW…_semantic/resources/corpus/97_global_nonlocal_store.py4 def update_task_runs() -> None:CODE
LOWpython/ruff/__init__.py5__all__ = ["find_ruff_bin"]CODE
LOWscripts/setup-crates-io-publish.py258def set_trustpub_only(client: httpx.Client, crate_name: str, enabled: bool) -> None:CODE
LOWscripts/ty_benchmark/src/benchmark/__init__.py16logger = logging.getLogger(__name__)CODE
LOWscripts/ty_benchmark/src/benchmark/venv.py9logger = logging.getLogger(__name__)CODE
LOWscripts/ty_benchmark/src/benchmark/projects.py8logger = logging.getLogger(__name__)CODE
LOWscripts/ty_benchmark/src/benchmark/snapshot.py13logger = logging.getLogger(__name__)CODE
LOWscripts/ty_benchmark/src/benchmark/lsp_client.py12logger = logging.getLogger(__name__)CODE
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHdist-workspace.toml58# Whether CI should include auto-generated code to build local artifactsCOMMENT
AI Response Leakage1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…on_eval/truth/auto-import-skips-current-module/main.py15# I've added it anyway in case it does in theCOMMENT
Modern AI Meta-Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM…semantic/resources/mdtest/generics/pep695/callables.md758## SymPy one-import MRE scaffold (multi-file)COMMENT
MEDIUM…semantic/resources/mdtest/generics/legacy/callables.md560## SymPy one-import MRE scaffold (multi-file)COMMENT
Example Usage Blocks4 hits · 6 pts
SeverityFileLineSnippetContext
LOWscripts/publish-crates.py26# Usage:COMMENT
LOWscripts/ecosystem_all_check.sh8# Usage:COMMENT
LOWscripts/setup-crates-io-publish.py16# Usage:COMMENT
LOWscripts/benchmarks/run_formatter.sh12# Example usage:COMMENT
TODO Padding2 hits · 4 pts
SeverityFileLineSnippetContext
LOWcrates/ruff_benchmark/resources/large/dataset.py1319# TODO: implement thisCOMMENT
LOW…ython_semantic/resources/mdtest/comparison/integers.md25# TODO: implement lookup of `__eq__` on typeshed `int` stub.COMMENT
Dead Code1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUM…tes/ty_python_semantic/resources/corpus/93_deadcode.py3CODE
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOWCargo.toml163# When updating salsa, make sure to also update the version in `fuzz/Cargo.toml`COMMENT
AI Structural Patterns1 hit · 0 pts
SeverityFileLineSnippetContext
LOWcrates/ruff_benchmark/resources/pydantic/types.py271CODE