An extremely fast Python linter and code formatter, written in Rust.
This report summarizes scanner evidence for astral-sh/ruff, a Rust project with 49,983 GitHub stars. SynthScan examined 1,208,705 lines of code across 4038 source files, recording 5646 pattern matches distributed across 25 syntactic categories. The legacy adjusted pattern signal is 4.8 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 5316 finding(s).
Are imports declared and package/API names verified? 176 finding(s).
Are wrappers, guards, and repeated structures necessary? 1109 finding(s).
Which changes need focused human review? 5646 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 5646 distinct pattern matches across 25 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Cargo.toml | 361 | # Reduce complexity of a parser function that would trigger a locals limit in a wasm tool. | COMMENT |
| LOW | .markdownlint.yaml | 21 | MD024: | COMMENT |
| LOW | crates/ty_site_packages/src/version.rs | 21 | /// Value loaded from the `pyvenv.cfg` file of the virtual environment. | COMMENT |
| LOW | crates/ty_site_packages/src/lib.rs | 41 | /// available, however. Ephemeral environments created with `uv` in | COMMENT |
| LOW | crates/ty_site_packages/src/lib.rs | 681 | } | COMMENT |
| LOW | crates/ty_site_packages/src/lib.rs | 961 | pub(crate) enum CondaEnvironmentKind { | COMMENT |
| LOW | crates/ty_site_packages/src/lib.rs | 1221 | COMMENT | |
| LOW | crates/ty_site_packages/src/lib.rs | 1641 | system.dyn_clone(), | COMMENT |
| LOW | crates/ty_site_packages/src/lib.rs | 1661 | // some installers appear to do [some strange things on Fedora] that mean that `.py` | COMMENT |
| LOW | crates/ty_site_packages/src/lib.rs | 2041 | inner: path.to_path_buf(), | COMMENT |
| LOW | crates/ty_site_packages/src/lib.rs | 2141 | /// The `sys.prefix` path came from the `VIRTUAL_ENV` environment variable | COMMENT |
| LOW | crates/ty_site_packages/src/lib.rs | 2241 | /// consistent among all mainstream creators of Python virtual | COMMENT |
| LOW | crates/ruff/tests/analyze_graph.rs | 821 | let root = ChildPath::new(tempdir.path()); | COMMENT |
| LOW | crates/ruff/tests/cli/lint.rs | 3961 | /// │ └── __init__.py | COMMENT |
| LOW | crates/ruff/tests/cli/lint.rs | 4481 | #[test_case::test_case("json")] | COMMENT |
| LOW | crates/ruff/tests/cli/lint.rs | 4521 | "input.py", | COMMENT |
| LOW | crates/ruff/tests/cli/main.rs | 21 | mod show_settings; | COMMENT |
| LOW | crates/ruff/tests/cli/main.rs | 41 | /// ```rust,no_run | COMMENT |
| LOW | crates/ruff/tests/cli/main.rs | 201 | /// - The correct ruff binary path | COMMENT |
| LOW | crates/ruff/src/cache.rs | 61 | /// `Cache` holds everything required to display the diagnostics for a single | COMMENT |
| LOW | crates/ruff/src/cache.rs | 321 | /// On disk representation of a cache of a package. | COMMENT |
| LOW | crates/ruff/src/args.rs | 61 | /// Ignore all configuration files. | COMMENT |
| LOW | crates/ruff/src/args.rs | 121 | )] | COMMENT |
| LOW | crates/ruff/src/args.rs | 201 | /// file to files that it depends on. Use `--direction dependents` to generate a map from file | COMMENT |
| LOW | crates/ruff/src/args.rs | 221 | python: Option<PathBuf>, | COMMENT |
| LOW | crates/ruff/src/args.rs | 241 | #[clap(long, overrides_with("fix"), hide = true)] | COMMENT |
| LOW | crates/ruff/src/args.rs | 261 | watch: bool, | COMMENT |
| LOW | crates/ruff/src/args.rs | 401 | /// Enforce exclusions, even for paths passed to Ruff directly on the command-line. | COMMENT |
| LOW | crates/ruff/src/args.rs | 521 | COMMENT | |
| LOW | crates/ruff/src/args.rs | 581 | #[clap(long, overrides_with("force_exclude"), hide = true)] | COMMENT |
| LOW | crates/ruff/src/args.rs | 601 | no_preview: bool, | COMMENT |
| LOW | crates/ruff/src/args.rs | 621 | COMMENT | |
| LOW | crates/ruff/src/args.rs | 941 | #[derive(Debug)] | COMMENT |
| LOW | crates/ruff/src/args.rs | 961 | Self::InvalidToml(_) => "The supplied argument is not valid TOML", | COMMENT |
| LOW | crates/ruff_python_literal/src/format.rs | 201 | /// ```python | COMMENT |
| LOW | crates/ruff_python_literal/src/escape.rs | 61 | pub fn with_preferred_quote(source: &'a str, quote: Quote) -> Self { | COMMENT |
| LOW | crates/ruff_python_trivia/src/textwrap.rs | 1 | //! Functions related to adding and removing indentation from lines of | COMMENT |
| LOW | crates/ruff_python_trivia/src/textwrap.rs | 21 | /// | COMMENT |
| LOW | crates/ruff_python_trivia/src/textwrap.rs | 41 | /// assert_eq!(indent("foo = 123\n\nprint(foo)\n", "# "), | COMMENT |
| LOW | crates/ruff_python_trivia/src/textwrap.rs | 81 | /// ``` | COMMENT |
| LOW | crates/ruff_python_trivia/src/textwrap.rs | 141 | /// ``` | COMMENT |
| LOW | crates/ruff_python_trivia/src/textwrap.rs | 181 | result.push_str(&line.as_full_str()[prefix_len..]); | COMMENT |
| LOW | crates/ruff_python_trivia/src/textwrap.rs | 201 | /// removed and the formfeeds reinstated | COMMENT |
| LOW | crates/ruff_python_trivia/src/pragmas.rs | 1 | /// Returns `true` if a comment appears to be a pragma comment. | COMMENT |
| LOW | crates/ruff_python_trivia/src/pragmas.rs | 41 | COMMENT | |
| LOW | crates/ruff_python_trivia/src/comments.rs | 61 | position.is_own_line() && matches!(Self::from_comment(slice), Some(Self::Off)) | COMMENT |
| LOW | crates/ruff_python_trivia/src/comments.rs | 81 | COMMENT | |
| LOW | crates/ruff_python_trivia/src/name_matcher.rs | 1 | use memchr::memmem::Finder; | COMMENT |
| LOW | crates/ruff_python_trivia/src/comment_ranges.rs | 121 | source.line_end(node.end()) | COMMENT |
| LOW | crates/ruff_python_trivia/src/comment_ranges.rs | 141 | /// # even though it is indented | COMMENT |
| LOW | crates/ruff_index/src/vec.rs | 181 | // not the phantom data. | COMMENT |
| LOW | crates/ruff_workspace/src/options.rs | 41 | use ruff_macros::{CacheKey, CombineOptions, OptionsMetadata}; | COMMENT |
| LOW | crates/ruff_workspace/src/options.rs | 61 | /// This setting will override even the `RUFF_CACHE_DIR` environment | COMMENT |
| LOW | crates/ruff_workspace/src/options.rs | 81 | /// rules are discarded; if the child configuration omits `lint.select`, | COMMENT |
| LOW | crates/ruff_workspace/src/options.rs | 101 | #[option( | COMMENT |
| LOW | crates/ruff_workspace/src/options.rs | 201 | /// - Single-path patterns, like `.mypy_cache` (to exclude any directory | COMMENT |
| LOW | crates/ruff_workspace/src/options.rs | 221 | COMMENT | |
| LOW | crates/ruff_workspace/src/options.rs | 261 | pub extend_include: Option<Vec<String>>, | COMMENT |
| LOW | crates/ruff_workspace/src/options.rs | 281 | COMMENT | |
| LOW | crates/ruff_workspace/src/options.rs | 301 | COMMENT | |
| 4147 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ty.schema.json | 1409 | "description": "## What it does\n\nDetects boolean conditions where the condition can be statically inferred t | CODE |
| LOW | ty.schema.json | 1629 | "description": "## What it does\n\nDetects `return` statements that unsoundly return a type that is not a [sub | CODE |
| LOW⚡ | …ff_python_parser/resources/valid/statement/function.py | 9 | def positional_parameters_with_default_values(a, b=20, c=30): | CODE |
| LOW⚡ | …ff_python_parser/resources/valid/statement/function.py | 17 | def positional_only_and_positional_parameters(a, /, b, c): | CODE |
| LOW⚡ | …ff_python_parser/resources/valid/statement/function.py | 21 | def pos_args_with_defaults_and_varargs_and_kwargs(a, b=20, /, c=30, *args, **kwargs): | CODE |
| LOW⚡ | …ff_python_parser/resources/valid/statement/function.py | 29 | def keyword_only_parameters_with_defaults(*, a, b=20, c=30): | CODE |
| LOW⚡ | …ff_python_parser/resources/valid/statement/function.py | 33 | def kw_only_args_with_defaults_and_varargs(*args, a, b=20, c=30): | CODE |
| LOW⚡ | …ff_python_parser/resources/valid/statement/function.py | 37 | def kw_only_args_with_defaults_and_kwargs(*, a, b=20, c=30, **kwargs): | CODE |
| LOW⚡ | …ff_python_parser/resources/valid/statement/function.py | 41 | def 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.py | 49 | def pos_and_kw_only_args_with_defaults(a, b, /, c, *, d, e=20, f=30): | CODE |
| LOW⚡ | …ff_python_parser/resources/valid/statement/function.py | 53 | def 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.py | 57 | def pos_and_kw_only_args_with_defaults_and_kwargs( | CODE |
| LOW⚡ | …ff_python_parser/resources/valid/statement/function.py | 63 | def pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs( | CODE |
| LOW⚡ | …ff_python_parser/resources/valid/statement/function.py | 69 | def positional_and_keyword_parameters(a, b, c, *, d, e, f): | CODE |
| LOW⚡ | …ff_python_parser/resources/valid/statement/function.py | 73 | def positional_and_keyword_parameters_with_defaults(a, b, c, *, d, e=20, f=30): | CODE |
| LOW⚡ | …ff_python_parser/resources/valid/statement/function.py | 77 | def positional_and_keyword_parameters_with_defaults_and_varargs( | CODE |
| LOW⚡ | …ff_python_parser/resources/valid/statement/function.py | 83 | def positional_and_keyword_parameters_with_defaults_and_varargs_and_kwargs( | CODE |
| LOW | crates/ty_ide/src/rename.rs | 417 | class DataProcessor: | CODE |
| LOW | crates/ty_ide/src/semantic_tokens.rs | 3110 | def function_with_annotations(param1: int, param2: str) -> Optional[List[str]]: | CODE |
| LOW | crates/ty_ide/src/find_references.rs | 1271 | class DataProcessor: | CODE |
| LOW | crates/ty_ide/src/find_references.rs | 1288 | 4 | class DataProcessor: | CODE |
| LOW | …val/truth/import-deprioritizes-type_check_only/main.py | 28 | def declared_in_type_checking_block() -> None: | CODE |
| LOW⚡ | crates/ruff_benchmark/resources/large/dataset.py | 424 | def test_select_multiple_items_by_index(ds3): | CODE |
| LOW⚡ | crates/ruff_benchmark/resources/large/dataset.py | 434 | def test_select_multiple_items_by_slice(ds3): | CODE |
| LOW⚡ | crates/ruff_benchmark/resources/large/dataset.py | 444 | def test_select_item_by_iteminfo(): | CODE |
| LOW⚡ | crates/ruff_benchmark/resources/large/dataset.py | 986 | def test_int_is_valid_type_info(): | CODE |
| LOW⚡ | crates/ruff_benchmark/resources/large/dataset.py | 995 | def test_int_is_valid_unit_info(): | CODE |
| LOW⚡ | crates/ruff_benchmark/resources/large/dataset.py | 1003 | def test_default_unit_from_type(): | CODE |
| LOW⚡ | crates/ruff_benchmark/resources/large/dataset.py | 1312 | def test_concat_by_time_inconsistent_shape_not_possible(): | CODE |
| LOW⚡ | crates/ruff_benchmark/resources/large/dataset.py | 1320 | def test_concat_by_time_no_time(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 57 | def test_create_wrong_data_type_error(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 169 | def test_index_with_attribute(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 228 | def test_getitem_multi_indexing_attempted(ds3): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 277 | def test_select_subset_isel_axis_out_of_range_error(ds2): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 294 | def test_select_temporal_subset_by_idx(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 314 | def test_temporal_subset_fancy(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 343 | def test_subset_with_datetime(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 401 | def test_select_multiple_items_by_name(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 463 | def test_select_subset_isel_multiple_idxs(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 511 | def test_create_named_undefined(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 528 | def test_to_dataframe_single_timestep(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 562 | def test_multidimensional_to_dataframe_no_supported(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 610 | def test_interp_time_to_other_dataset(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 673 | def test_extrapolate_not_allowed(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 719 | def test_modify_selected_variable(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 764 | def test_aggregation_workflows(tmpdir): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 782 | def test_aggregation_dataset_no_time(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 813 | def test_to_dfs_extension_validation(tmpdir): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 895 | def test_aggregate_across_items(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 914 | def test_aggregate_selected_items_dfsu_save_to_new_file(tmpdir): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 1021 | def test_default_name_from_type(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 1036 | def test_iteminfo_string_type_should_fail_with_helpful_message(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 1152 | def test_create_infer_name_from_eum(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 1177 | def test_add_inconsistent_dataset(ds1): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 1269 | def test_concat_dataarray_by_time(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 1350 | def test_renamed_dataset_has_updated_attributes(ds1: mikeio.Dataset): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 1458 | def test_merge_same_name_error(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 1469 | def test_incompatible_data_not_allowed(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 1535 | def test_create_dataset_with_many_items(): | CODE |
| LOW | crates/ruff_benchmark/resources/large/dataset.py | 1552 | def test_create_array_with_defaults_from_dataset(): | CODE |
| 894 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ruff_python_parser/resources/valid/statement/import.py | 1 | CODE | |
| LOW | …ruff_python_parser/resources/valid/statement/import.py | 2 | CODE | |
| LOW | …ruff_python_parser/resources/valid/statement/import.py | 3 | CODE | |
| LOW | …ruff_python_parser/resources/valid/statement/import.py | 4 | CODE | |
| LOW | …ruff_python_parser/resources/valid/statement/import.py | 4 | CODE | |
| LOW | …ruff_python_parser/resources/valid/statement/import.py | 4 | CODE | |
| LOW | …ruff_python_parser/resources/valid/statement/import.py | 5 | CODE | |
| LOW | …ruff_python_parser/resources/valid/statement/import.py | 5 | CODE | |
| LOW | …python_parser/resources/valid/statement/from_import.py | 1 | CODE | |
| LOW | …python_parser/resources/valid/statement/from_import.py | 2 | CODE | |
| LOW | …python_parser/resources/valid/statement/from_import.py | 3 | CODE | |
| LOW | …python_parser/resources/valid/statement/from_import.py | 3 | CODE | |
| LOW | …python_parser/resources/valid/statement/from_import.py | 4 | CODE | |
| LOW | …python_parser/resources/valid/statement/from_import.py | 5 | CODE | |
| LOW | …python_parser/resources/valid/statement/from_import.py | 6 | CODE | |
| LOW | …python_parser/resources/valid/statement/from_import.py | 7 | CODE | |
| LOW | …python_parser/resources/valid/statement/from_import.py | 8 | CODE | |
| LOW | …python_parser/resources/valid/statement/from_import.py | 8 | CODE | |
| LOW | …python_parser/resources/valid/statement/from_import.py | 8 | CODE | |
| LOW | …python_parser/resources/valid/statement/from_import.py | 9 | CODE | |
| LOW | …n_parser/resources/inline/ok/import_stmt_terminator.py | 1 | CODE | |
| LOW | …n_parser/resources/inline/ok/import_stmt_terminator.py | 1 | CODE | |
| LOW | …n_parser/resources/inline/ok/import_stmt_terminator.py | 2 | CODE | |
| LOW | …n_parser/resources/inline/ok/import_stmt_terminator.py | 2 | CODE | |
| LOW | …hon_parser/resources/inline/ok/valid_future_feature.py | 1 | CODE | |
| LOW | …er/resources/inline/ok/simple_stmts_with_semicolons.py | 1 | CODE | |
| LOW | …er/resources/inline/ok/simple_stmts_with_semicolons.py | 1 | CODE | |
| LOW | …hon_parser/resources/inline/ok/from_import_no_space.py | 1 | CODE | |
| LOW | …hon_parser/resources/inline/ok/from_import_no_space.py | 2 | CODE | |
| LOW | …thon_parser/resources/inline/ok/debug_rename_import.py | 1 | CODE | |
| LOW | …thon_parser/resources/inline/ok/debug_rename_import.py | 2 | CODE | |
| LOW | …thon_parser/resources/inline/ok/debug_rename_import.py | 3 | CODE | |
| LOW | …r/resources/inline/ok/dotted_name_normalized_spaces.py | 1 | CODE | |
| LOW | …r/resources/inline/ok/dotted_name_normalized_spaces.py | 2 | CODE | |
| LOW | …ser/resources/inline/ok/import_as_name_soft_keyword.py | 1 | CODE | |
| LOW | …ser/resources/inline/ok/import_as_name_soft_keyword.py | 2 | CODE | |
| LOW | …ser/resources/inline/ok/import_as_name_soft_keyword.py | 3 | CODE | |
| LOW | …ser/resources/inline/ok/import_as_name_soft_keyword.py | 4 | CODE | |
| LOW | …rces/inline/ok/from_import_soft_keyword_module_name.py | 1 | CODE | |
| LOW | …rces/inline/ok/from_import_soft_keyword_module_name.py | 2 | CODE | |
| LOW | …rces/inline/ok/from_import_soft_keyword_module_name.py | 3 | CODE | |
| LOW | …rces/inline/ok/from_import_soft_keyword_module_name.py | 4 | CODE | |
| LOW | …rces/inline/ok/from_import_soft_keyword_module_name.py | 5 | CODE | |
| LOW | …_python_parser/resources/inline/ok/import_from_star.py | 1 | CODE | |
| LOW | …ser/resources/inline/ok/from_import_stmt_terminator.py | 1 | CODE | |
| LOW | …ser/resources/inline/ok/from_import_stmt_terminator.py | 1 | CODE | |
| LOW | …ser/resources/inline/ok/from_import_stmt_terminator.py | 2 | CODE | |
| LOW | …ser/resources/inline/ok/from_import_stmt_terminator.py | 2 | CODE | |
| LOW | …ser/resources/inline/ok/from_import_stmt_terminator.py | 3 | CODE | |
| LOW | …ser/resources/inline/ok/from_import_stmt_terminator.py | 3 | CODE | |
| LOW | …ser/resources/inline/ok/from_import_stmt_terminator.py | 4 | CODE | |
| LOW | …ser/resources/inline/ok/from_import_stmt_terminator.py | 4 | CODE | |
| LOW | …rces/inline/ok/lazy_import_soft_keyword_split_py315.py | 3 | CODE | |
| LOW | …rces/inline/ok/lazy_import_soft_keyword_split_py315.py | 6 | CODE | |
| LOW | …hon_parser/resources/inline/err/debug_shadow_import.py | 1 | CODE | |
| LOW | …hon_parser/resources/inline/err/debug_shadow_import.py | 2 | CODE | |
| LOW | …hon_parser/resources/inline/err/debug_shadow_import.py | 3 | CODE | |
| LOW | …hon_parser/resources/inline/err/debug_shadow_import.py | 4 | CODE | |
| LOW | …_parser/resources/inline/err/invalid_future_feature.py | 1 | CODE | |
| LOW | …_parser/resources/inline/err/invalid_future_feature.py | 2 | CODE | |
| 82 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …es/ruff_python_parser/resources/valid/statement/try.py | 15 | except Exception as e: | CODE |
| LOW⚡ | …esources/inline/ok/except_stmt_as_name_soft_keyword.py | 2 | except Exception as match: ... | CODE |
| LOW⚡ | …esources/inline/ok/except_stmt_as_name_soft_keyword.py | 3 | except Exception as case: ... | CODE |
| LOW⚡ | …esources/inline/ok/except_stmt_as_name_soft_keyword.py | 4 | except Exception as type: ... | CODE |
| LOW | …python_parser/resources/inline/err/debug_shadow_try.py | 2 | except Exception as __debug__: ... | CODE |
| LOW | crates/ruff_python_formatter/src/comments/mod.rs | 729 | except Exception as ex: | CODE |
| LOW | crates/ruff_python_formatter/src/comments/mod.rs | 756 | except Exception as ex: | CODE |
| MEDIUM | crates/ruff_python_formatter/src/comments/mod.rs | 751 | def test(): | CODE |
| LOW | …es/ty_python_core/src/builder/loop_bindings_visitor.rs | 357 | except Exception as exc_var: | CODE |
| LOW | crates/ty_ide/src/semantic_tokens.rs | 4705 | except Exception as e: | CODE |
| MEDIUM | crates/ty_ide/src/find_references.rs | 475 | print(f'Error: {err}') | CODE |
| MEDIUM | crates/ty_ide/src/find_references.rs | 491 | 5 | print(f'Error: {err}') | CODE |
| LOW | crates/ruff_python_codegen/src/generator.rs | 1826 | except Exception as e: | CODE |
| LOW | crates/ruff_benchmark/resources/numpy/ctypeslib.py | 305 | except Exception as e: | CODE |
| LOW | crates/ruff_benchmark/benches/ty.rs | 2241 | except Exception: | CODE |
| LOW | …python_semantic/resources/corpus/62_try_except_cond.py | 3 | except Exception as exc: | CODE |
| LOW | …thon_semantic/resources/corpus/62_try_except_return.py | 4 | except Exception as e: | CODE |
| MEDIUM | …thon_semantic/resources/corpus/62_try_except_return.py | 1 | def foo(): | CODE |
| LOW | …ython_semantic/resources/mdtest/pep695_type_aliases.md | 263 | except Exception: | CODE |
| LOW | crates/ty_python_semantic/resources/mdtest/with/sync.md | 497 | except Exception: | CODE |
| LOW | crates/ty_python_semantic/resources/mdtest/with/sync.md | 513 | except Exception: | CODE |
| LOW | …tes/ty_python_semantic/resources/mdtest/cycle/basic.md | 496 | except Exception: | CODE |
| LOW | …resources/mdtest/diagnostics/semantic_syntax_errors.md | 581 | except Exception: | CODE |
| LOW | …resources/mdtest/diagnostics/semantic_syntax_errors.md | 659 | except Exception: | CODE |
| MEDIUM | …resources/mdtest/diagnostics/semantic_syntax_errors.md | 578 | def i(a): | CODE |
| MEDIUM | …resources/mdtest/diagnostics/semantic_syntax_errors.md | 656 | def i(a): | CODE |
| MEDIUM | …on_semantic/resources/mdtest/exception/control_flow.md | 65 | def fallback() -> None: | CODE |
| MEDIUM | …on_semantic/resources/mdtest/exception/control_flow.md | 82 | def incompatible_fallback() -> None: | CODE |
| MEDIUM | …on_semantic/resources/mdtest/exception/control_flow.md | 112 | def no_previous_binding() -> None: | CODE |
| MEDIUM | …on_semantic/resources/mdtest/exception/control_flow.md | 199 | def shadowed_builtin() -> None: | CODE |
| LOW⚡ | …on_semantic/resources/mdtest/exception/control_flow.md | 943 | except Exception: | CODE |
| LOW⚡ | …on_semantic/resources/mdtest/exception/control_flow.md | 957 | except Exception: | CODE |
| LOW | …on_semantic/resources/mdtest/exception/control_flow.md | 68 | except Exception: | CODE |
| LOW | …on_semantic/resources/mdtest/exception/control_flow.md | 85 | except Exception: | CODE |
| LOW | …on_semantic/resources/mdtest/exception/control_flow.md | 97 | except Exception: | CODE |
| LOW | …on_semantic/resources/mdtest/exception/control_flow.md | 109 | except Exception: | CODE |
| LOW | …on_semantic/resources/mdtest/exception/control_flow.md | 115 | except Exception: | CODE |
| LOW | …on_semantic/resources/mdtest/exception/control_flow.md | 127 | except Exception: | CODE |
| LOW | …on_semantic/resources/mdtest/exception/control_flow.md | 144 | except Exception: | CODE |
| LOW | …thon_semantic/src/types/ide_support/unused_bindings.rs | 284 | except Exception as dead_exc: | CODE |
| MEDIUM | …nter/resources/mdtest/ruff/fallible-context-manager.md | 136 | def bad_yield_in_finally_not_last(): | CODE |
| MEDIUM | …nter/resources/mdtest/ruff/fallible-context-manager.md | 172 | def bad_yield_in_except_with_cleanup(): | CODE |
| MEDIUM | …nter/resources/mdtest/ruff/fallible-context-manager.md | 190 | def bad_yield_in_else_with_cleanup(): | CODE |
| MEDIUM | …nter/resources/mdtest/ruff/fallible-context-manager.md | 336 | def good_async_try_finally(): | CODE |
| MEDIUM | …nter/resources/mdtest/ruff/fallible-context-manager.md | 354 | def good_nested_try_finally(): | CODE |
| MEDIUM | …nter/resources/mdtest/ruff/fallible-context-manager.md | 384 | def good_try_except_with_else(): | CODE |
| MEDIUM | …nter/resources/mdtest/ruff/fallible-context-manager.md | 394 | def good_yield_in_except_no_finally(): | CODE |
| MEDIUM | …nter/resources/mdtest/ruff/fallible-context-manager.md | 402 | def good_yield_in_except_with_finally(): | CODE |
| MEDIUM | …nter/resources/mdtest/ruff/fallible-context-manager.md | 412 | def good_yield_in_else_with_finally(): | CODE |
| MEDIUM | …nter/resources/mdtest/ruff/fallible-context-manager.md | 424 | def good_yield_in_finally(): | CODE |
| LOW⚡ | …nter/resources/mdtest/ruff/fallible-context-manager.md | 379 | except Exception: | CODE |
| LOW⚡ | …nter/resources/mdtest/ruff/fallible-context-manager.md | 387 | except Exception: | CODE |
| LOW⚡ | …nter/resources/mdtest/ruff/fallible-context-manager.md | 397 | except Exception: | CODE |
| LOW⚡ | …nter/resources/mdtest/ruff/fallible-context-manager.md | 405 | except Exception: | CODE |
| LOW⚡ | …nter/resources/mdtest/ruff/fallible-context-manager.md | 415 | except Exception: | CODE |
| LOW⚡ | …nter/resources/mdtest/ruff/fallible-context-manager.md | 444 | except Exception: | CODE |
| LOW | …nter/resources/mdtest/ruff/fallible-context-manager.md | 157 | except Exception: | CODE |
| LOW | …nter/resources/mdtest/ruff/fallible-context-manager.md | 175 | except Exception: | CODE |
| LOW | …nter/resources/mdtest/ruff/fallible-context-manager.md | 193 | except Exception: | CODE |
| LOW | …nter/resources/mdtest/ruff/fallible-context-manager.md | 347 | except Exception: | CODE |
| 25 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …esources/inline/ok/except_stmt_as_name_soft_keyword.py | 2 | except Exception as match: ... | CODE |
| HIGH | …esources/inline/ok/except_stmt_as_name_soft_keyword.py | 3 | except Exception as case: ... | CODE |
| HIGH | …esources/inline/ok/except_stmt_as_name_soft_keyword.py | 4 | except Exception as type: ... | CODE |
| HIGH | …python_parser/resources/inline/ok/except_star_py311.py | 3 | except* ValueError: ... | CODE |
| HIGH | …python_parser/resources/inline/err/debug_shadow_try.py | 2 | except Exception as __debug__: ... | CODE |
| HIGH | …ython_parser/resources/inline/err/except_star_py310.py | 3 | except* ValueError: ... | CODE |
| HIGH | …ython_parser/resources/inline/err/except_star_py310.py | 4 | except* KeyError: ... | CODE |
| HIGH | …ython_parser/resources/inline/err/except_star_py310.py | 5 | except * Error: ... | CODE |
| HIGH | crates/ruff_benchmark/resources/tomllib/_parser.py | 236 | except IndexError: | CODE |
| HIGH | crates/ruff_benchmark/resources/numpy/ctypeslib.py | 321 | except KeyError: | CODE |
| HIGH | crates/ruff_benchmark/resources/pydantic/types.py | 701 | except ValueError: | CODE |
| HIGH | …ources/corpus/except_handler_with_Any_bound_typevar.py | 6 | except x: | CODE |
| HIGH | …/ty_python_semantic/resources/corpus/cyclic_lambdas.py | 20 | except* 0: | CODE |
| HIGH | …s/corpus/62_try_except_double_nested_inside_if_else.py | 7 | except: | CODE |
| HIGH | …s/corpus/62_try_except_double_nested_inside_if_else.py | 5 | except: | CODE |
| HIGH | …mantic/resources/corpus/invalid_typevar_constraints.py | 5 | except foo: | CODE |
| HIGH | …on_semantic/resources/corpus/cyclic_pep695_typevars.py | 4 | except name_2: | CODE |
| HIGH | …ntic/resources/corpus/classliteral_decorators_cycle.py | 8 | except* 0: | CODE |
| HIGH | …/resources/corpus/abstract_methods_cycle_regression.py | 7 | except* 0 as name_1: | CODE |
| HIGH | …/resources/corpus/ty_4080_fuzzed_reachability_cycle.py | 13 | except* 0: | CODE |
| HIGH | …tic/resources/corpus/cyclic_symbol_in_comprehension.py | 14 | except* 0: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …resources/valid/statement/ambiguous_lpar_with_items.py | 10 | # ------------------------ | COMMENT |
| MEDIUM | …resources/valid/statement/ambiguous_lpar_with_items.py | 43 | # ------------------------ | COMMENT |
| MEDIUM | …resources/valid/statement/ambiguous_lpar_with_items.py | 71 | # ---------------- | COMMENT |
| MEDIUM | …resources/valid/statement/ambiguous_lpar_with_items.py | 99 | # ---------------------------------- | COMMENT |
| MEDIUM⚡ | crates/ruff_annotate_snippets/src/renderer/render.rs | 1185 | // │ ┏━━━━━┛ │ │ < We are writing these lines | COMMENT |
| MEDIUM⚡ | crates/ruff_annotate_snippets/src/renderer/render.rs | 1186 | // │ ┃┌───────┘ │ < by reverting the "depth" of | COMMENT |
| MEDIUM⚡ | crates/ruff_annotate_snippets/src/renderer/render.rs | 1187 | // │ ┃│┌─────────┘ < their multiline spans. | COMMENT |
| MEDIUM⚡ | crates/ruff_annotate_snippets/src/renderer/render.rs | 1191 | // │ ┃└─────│──┤ | COMMENT |
| MEDIUM⚡ | crates/ruff_annotate_snippets/src/renderer/render.rs | 1192 | // │ ┗━━━━━━┥ `Y` is a good letter too | COMMENT |
| MEDIUM | crates/ruff_annotate_snippets/src/renderer/mod.rs | 363 | // bottom_left > ┗━━━━━┥ < bottom_right_with_text | COMMENT |
| MEDIUM⚡ | crates/ty_python_semantic/src/types/typevar.rs | 173 | /// # ╰─────╰─────────── [2] | COMMENT |
| MEDIUM⚡ | crates/ty_python_semantic/src/types/typevar.rs | 173 | /// # ╰─────╰─────────── [2] | COMMENT |
| MEDIUM⚡ | crates/ty_python_semantic/src/types/typevar.rs | 174 | /// # ╰─────────────────────── [1] | COMMENT |
| MEDIUM⚡ | crates/ty_python_semantic/src/types/typevar.rs | 174 | /// # ╰─────────────────────── [1] | COMMENT |
| MEDIUM | crates/ruff_unicode_names2/data/NameAliases.txt | 70 | #----------------------------------------------------------------- | COMMENT |
| MEDIUM | crates/ruff_python_ast/generate.py | 96 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | crates/ruff_python_ast/generate.py | 107 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | crates/ruff_python_ast/generate.py | 306 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | crates/ruff_python_ast/generate.py | 320 | # ------------------------------------------------------------------------------ | STRING |
| MEDIUM | crates/ruff_python_ast/generate.py | 523 | # ------------------------------------------------------------------------------ | STRING |
| MEDIUM | crates/ruff_python_ast/generate.py | 616 | # ------------------------------------------------------------------------------ | STRING |
| MEDIUM | crates/ruff_python_ast/generate.py | 789 | # ------------------------------------------------------------------------------ | STRING |
| MEDIUM | crates/ruff_python_ast/generate.py | 1016 | # ------------------------------------------------------------------------------ | STRING |
| MEDIUM | crates/ruff_python_ast/generate.py | 1061 | # ------------------------------------------------------------------------------ | STRING |
| MEDIUM | crates/ruff_python_ast/generate.py | 1112 | # ------------------------------------------------------------------------------ | STRING |
| MEDIUM | crates/ruff_python_ast/generate.py | 1182 | # ------------------------------------------------------------------------------ | STRING |
| MEDIUM | crates/ruff_python_ast/generate.py | 1204 | # ------------------------------------------------------------------------------ | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …/ruff_linter/src/rules/pydocstyle/rules/not_missing.rs | 313 | Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// time | STRING |
| HIGH | …tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs | 47 | Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// | STRING |
| HIGH | …tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs | 68 | Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// time | STRING |
| HIGH | …tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs | 235 | Calculate speed as distance divided by time. /// /// args: /// distance: Distance traveled. /// time | STRING |
| HIGH | …tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs | 256 | Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// time | STRING |
| HIGH | …tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs | 321 | Calculate speed as distance divided by time. /// /// Parameters: /// ----------- /// distance : float /// | STRING |
| HIGH | …tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs | 1132 | Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// time | STRING |
| HIGH | …tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs | 1200 | Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// /// Retu | STRING |
| HIGH | …tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs | 1220 | Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// time | STRING |
| HIGH | …tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs | 1285 | Calculate speed as distance divided by time. /// /// Args: /// /// distance: Distance traveled. /// | STRING |
| HIGH | …tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs | 1307 | Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// time | STRING |
| HIGH | …ff_linter/src/rules/pydoclint/rules/check_docstring.rs | 355 | Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// time | STRING |
| HIGH | …ff_linter/src/rules/pydoclint/rules/check_docstring.rs | 411 | Calculate speed as distance divided by time. /// /// Args: /// distance: Distance traveled. /// time | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …resources/valid/statement/ambiguous_lpar_with_items.py | 6 | # The following sections basically separates between which node does the | COMMENT |
| MEDIUM | …s/invalid/statements/with/ambiguous_lpar_with_items.py | 1 | # This file contains test cases where the with items has an ambiguous left parenthesis. | COMMENT |
| MEDIUM | …c/rules/flake8_bugbear/rules/loop_iterator_mutation.rs | 34 | /// # Create an infinite loop by appending to the list. | COMMENT |
| MEDIUM | …s/ruff_linter/src/rules/flake8_comprehensions/fixes.rs | 873 | // # The above code will be converted to: | COMMENT |
| MEDIUM | crates/ruff_python_ast/ast.toml | 1 | # This file is used by generate.py to autogenerate our Python AST data model. | COMMENT |
| MEDIUM | playground/ruff/src/constants.ts | 4 | "# Define a function that takes an integer n and returns the nth number in the Fibonacci\n" + | CODE |
| MEDIUM | scripts/update_schemastore.py | 100 | # Create a new branch tagged with the current ruff commit up to date with the latest | COMMENT |
| MEDIUM | scripts/add_plugin.py | 61 | # Create the test fixture folder. | COMMENT |
| MEDIUM | scripts/add_plugin.py | 66 | # Create the Plugin rules module. | COMMENT |
| MEDIUM | scripts/add_plugin.py | 101 | # Create a subdirectory for rules and create a `mod.rs` placeholder | COMMENT |
| MEDIUM | scripts/add_plugin.py | 107 | # Create the snapshots subdirectory | COMMENT |
| MEDIUM | scripts/add_rule.py | 71 | # Create a test fixture. | COMMENT |
| MEDIUM⚡ | scripts/ty_benchmark/src/benchmark/lsp_client.py | 18 | # Define a union type that cattrs struggles with. | COMMENT |
| MEDIUM | .github/workflows/release.yml | 416 | # Create a GitHub Release while uploading all files to it | COMMENT |
| MEDIUM | .github/workflows/release.yml | 443 | # Create a GitHub Release while uploading all files to it | COMMENT |
| MEDIUM | .github/workflows/build-docker.yml | 231 | # Initialize a variable to store all tag docker metadata patterns | COMMENT |
| MEDIUM | .github/workflows/sync_typeshed.yaml | 306 | # Create the PR on a separate runner to the job that updates the snapshots. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …inter/src/rules/pycodestyle/rules/doc_line_too_long.rs | 0 | lorem 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.rs | 0 | lorem ipsum dolor sit amet. lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | STRING |
| HIGH | docs/linter.md | 0 | lorem 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.rs | 0 | calculate speed as distance divided by time. /// /// args: /// /// distance: distance traveled. /// time: time spent tra | STRING |
| HIGH | …tes/ruff_linter/src/rules/pydocstyle/rules/sections.rs | 0 | calculate speed as distance divided by time. /// /// args: /// /// distance: distance traveled. /// time: time spent tra | STRING |
| HIGH | …ff_linter/src/rules/pydoclint/rules/check_docstring.rs | 0 | calculate speed as distance divided by time. /// /// args: /// /// distance: distance traveled. /// time: time spent tra | STRING |
| HIGH | …rules/pydocstyle/rules/newline_after_last_paragraph.rs | 0 | return a sorted copy of the list. /// /// sort the list in ascending order and return a copy of the result using the bub | STRING |
| HIGH | …src/rules/pydocstyle/rules/multi_line_summary_start.rs | 0 | return a sorted copy of the list. /// /// sort the list in ascending order and return a copy of the result using the bub | STRING |
| HIGH | crates/ruff_linter/src/rules/pydocstyle/rules/indent.rs | 0 | return a sorted copy of the list. /// /// sort the list in ascending order and return a copy of the result using the bub | STRING |
| HIGH | …nter/src/rules/pydocstyle/rules/blank_after_summary.rs | 0 | return a sorted copy of the list. /// /// sort the list in ascending order and return a copy of the result using the bub | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/ty_ide/src/hover.rs | 5298 | """Lorem ipsum dolor sit amet.<CURSOR>""" | STRING |
| LOW | crates/ty_ide/src/hover.rs | 5298 | """Lorem ipsum dolor sit amet.<CURSOR>""" | STRING |
| LOW | …pets/tests/color/highlight_source_multi_width_chars.rs | 7 | let source = r#"[lorem ipsum](表意文字)"#; | CODE |
| LOW | …ython_semantic/resources/mdtest/external/sqlalchemy.md | 28 | user = User(name="John Doe") | CODE |
| LOW | …/ty_python_semantic/resources/mdtest/external/attrs.md | 22 | user = User(id=1, name="John Doe") | CODE |
| LOW | …/ty_python_semantic/resources/mdtest/external/attrs.md | 38 | user = User(id=1, name="John Doe") | CODE |
| LOW | …_python_semantic/resources/mdtest/external/pydantic.md | 25 | user = User(id=1, name="John Doe") | CODE |
| LOW | …_python_semantic/resources/mdtest/external/sqlmodel.md | 21 | user = User(id=1, name="John Doe") | CODE |
| LOW | …_linter/src/rules/ruff/rules/invalid_pyproject_toml.rs | 32 | /// { name = "Ferris the Crab", email = "ferris@example.org" } | COMMENT |
| LOW⚡ | …inter/src/rules/pycodestyle/rules/doc_line_too_long.rs | 44 | /// """Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis auctor purus ut ex fermentum, at maximus est he | COMMENT |
| LOW⚡ | …inter/src/rules/pycodestyle/rules/doc_line_too_long.rs | 44 | /// """Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis auctor purus ut ex fermentum, at maximus est he | COMMENT |
| LOW⚡ | …inter/src/rules/pycodestyle/rules/doc_line_too_long.rs | 51 | /// Lorem ipsum dolor sit amet, consectetur adipiscing elit. | COMMENT |
| LOW⚡ | …inter/src/rules/pycodestyle/rules/doc_line_too_long.rs | 51 | /// Lorem ipsum dolor sit amet, consectetur adipiscing elit. | COMMENT |
| LOW⚡ | …inter/src/rules/pycodestyle/rules/doc_line_too_long.rs | 63 | /// """Lorem ipsum dolor sit amet. | COMMENT |
| LOW⚡ | …inter/src/rules/pycodestyle/rules/doc_line_too_long.rs | 63 | /// """Lorem ipsum dolor sit amet. | COMMENT |
| LOW⚡ | …inter/src/rules/pycodestyle/rules/doc_line_too_long.rs | 65 | /// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | COMMENT |
| LOW⚡ | …inter/src/rules/pycodestyle/rules/doc_line_too_long.rs | 65 | /// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | COMMENT |
| LOW⚡ | …ff_linter/src/rules/pycodestyle/rules/line_too_long.rs | 60 | /// """Lorem ipsum dolor sit amet. | COMMENT |
| LOW⚡ | …ff_linter/src/rules/pycodestyle/rules/line_too_long.rs | 60 | /// """Lorem ipsum dolor sit amet. | COMMENT |
| LOW⚡ | …ff_linter/src/rules/pycodestyle/rules/line_too_long.rs | 62 | /// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | COMMENT |
| LOW⚡ | …ff_linter/src/rules/pycodestyle/rules/line_too_long.rs | 62 | /// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | COMMENT |
| LOW⚡ | docs/linter.md | 499 | """Lorem ipsum dolor sit amet. | STRING |
| LOW⚡ | docs/linter.md | 499 | """Lorem ipsum dolor sit amet. | STRING |
| LOW⚡ | docs/linter.md | 501 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | STRING |
| LOW⚡ | docs/linter.md | 501 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. | STRING |
| LOW⚡ | docs/linter.md | 591 | VALUE_1 = "Lorem ipsum dolor sit amet ..." | CODE |
| LOW⚡ | docs/linter.md | 591 | VALUE_1 = "Lorem ipsum dolor sit amet ..." | CODE |
| LOW⚡ | docs/linter.md | 592 | VALUE_2 = "Lorem ipsum dolor sit amet ..." | CODE |
| LOW⚡ | docs/linter.md | 592 | VALUE_2 = "Lorem ipsum dolor sit amet ..." | CODE |
| LOW⚡ | docs/linter.md | 593 | VALUE_3 = "Lorem ipsum dolor sit amet ..." | CODE |
| LOW⚡ | docs/linter.md | 593 | VALUE_3 = "Lorem ipsum dolor sit amet ..." | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/ty_python_semantic/src/types/member.rs | 103 | // Otherwise, we need to check if the symbol has bindings | COMMENT |
| LOW | crates/ty_python_semantic/src/types/class.rs | 2462 | // Step 3: If the return type of the `__new__` evaluates to a type that is not a subclass of this class, | COMMENT |
| LOW | crates/ty_python_semantic/src/types/call/bind.rs | 3867 | // Step 1: Check the result of the arity check which is done by `match_parameters` | COMMENT |
| LOW | crates/ty_python_semantic/src/types/call/bind.rs | 3906 | // Step 2: Evaluate each remaining overload as a regular (non-overloaded) call to determine | COMMENT |
| LOW | crates/ty_python_semantic/src/types/call/bind.rs | 3974 | // Step 3: Perform "argument type expansion". Reference: | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 1764 | // Step 3: Clean-up | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 1766 | // Step 4: Analysis | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2472 | // Step 2: Traversal | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2475 | // Step 3: Clean-up | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2485 | // Step 4: Analysis | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2492 | // Step 1: Binding. | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2499 | // Step 4: Analysis | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2504 | // Step 1: Binding. | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2514 | // Step 4: Analysis | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2519 | // Step 1: Binding | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2540 | // Step 2: Traversal | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2543 | // Step 4: Analysis | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2548 | // Step 4: Analysis | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2551 | // Step 2: Traversal | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 1049 | // Step 0: Pre-processing | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 1131 | // Step 1: Binding | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 1336 | // Step 2: Traversal | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 1784 | // Step 0: Pre-processing | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 1836 | // Step 1: Binding | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 1871 | // Step 2: Traversal | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 2411 | // Step 3: Clean-up | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 2424 | // Step 4: Analysis | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 2444 | // Step 1: Binding | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 2569 | // Step 1: Binding | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 2582 | // Step 2: Traversal | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 2716 | // Step 4: Analysis | COMMENT |
| LOW | …_linter/src/rules/refurb/rules/isinstance_type_none.rs | 87 | // the union operator, so we need to check if we're in a union. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/ty_python_semantic/src/types/class.rs | 2462 | // Step 3: If the return type of the `__new__` evaluates to a type that is not a subclass of this class, | COMMENT |
| LOW | crates/ty_python_semantic/src/types/call/bind.rs | 3867 | // Step 1: Check the result of the arity check which is done by `match_parameters` | COMMENT |
| LOW | crates/ty_python_semantic/src/types/call/bind.rs | 3906 | // Step 2: Evaluate each remaining overload as a regular (non-overloaded) call to determine | COMMENT |
| LOW | crates/ty_python_semantic/src/types/call/bind.rs | 3974 | // Step 3: Perform "argument type expansion". Reference: | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 1764 | // Step 3: Clean-up | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 1766 | // Step 4: Analysis | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2472 | // Step 2: Traversal | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2475 | // Step 3: Clean-up | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2485 | // Step 4: Analysis | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2492 | // Step 1: Binding. | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2499 | // Step 4: Analysis | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2504 | // Step 1: Binding. | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2514 | // Step 4: Analysis | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2519 | // Step 1: Binding | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2540 | // Step 2: Traversal | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2543 | // Step 4: Analysis | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2548 | // Step 4: Analysis | COMMENT |
| LOW⚡ | crates/ruff_linter/src/checkers/ast/mod.rs | 2551 | // Step 2: Traversal | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 1049 | // Step 0: Pre-processing | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 1131 | // Step 1: Binding | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 1336 | // Step 2: Traversal | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 1784 | // Step 0: Pre-processing | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 1836 | // Step 1: Binding | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 1871 | // Step 2: Traversal | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 2411 | // Step 3: Clean-up | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 2424 | // Step 4: Analysis | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 2444 | // Step 1: Binding | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 2569 | // Step 1: Binding | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 2582 | // Step 2: Traversal | COMMENT |
| LOW | crates/ruff_linter/src/checkers/ast/mod.rs | 2716 | // Step 4: Analysis | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ty.schema.json | 1409 | "description": "## What it does\n\nDetects boolean conditions where the condition can be statically inferred t | CODE |
| MEDIUM | crates/ruff/src/commands/format.rs | 806 | // a snippet to measure. If we commit to staying on our fork, a more robust way of | COMMENT |
| MEDIUM | crates/ty_python_core/src/predicate.rs | 379 | /// will be visible from all control-flow paths or not. Essentially, we model `importer.py` as | COMMENT |
| MEDIUM | crates/ty_ide/src/docstring/markdown/general.rs | 10 | // Here lies a monument to robust parsing and escaping: | COMMENT |
| LOW | crates/ruff_benchmark/resources/pydantic/types.py | 461 | # hence we just use `secret_display` | COMMENT |
| MEDIUM | crates/ty_python_semantic/src/types/special_form.rs | 294 | /// This is much more robust than having a manual `from_string` method that matches | COMMENT |
| MEDIUM | …rules/ruff/rules/access_annotations_from_class_dict.rs | 30 | /// robust (e.g., correctly handling the Python 3.14 behavior mentioned | COMMENT |
| MEDIUM | …ff_linter/src/rules/flake8_pytest_style/rules/patch.rs | 21 | /// `return_value` is also robust to changes in the patched function's | COMMENT |
| MEDIUM | …e_annotations/rules/future_required_type_annotation.rs | 27 | /// does not impact your ability to leverage PEP 604-style unions (e.g., to | COMMENT |
| MEDIUM | …annotations/rules/future_rewritable_type_annotation.rs | 32 | /// does not impact your ability to leverage PEP 604-style unions (e.g., to | COMMENT |
| MEDIUM | crates/ruff_python_semantic/src/model.rs | 1001 | // could actually be referred to. This is not as robust as back-tracking | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/ruff_benchmark/resources/typeis_narrowing.py | 210 | CODE | |
| LOW | crates/ruff_benchmark/resources/tomllib/_parser.py | 69 | CODE | |
| LOW | crates/ruff_benchmark/resources/numpy/ctypeslib.py | 235 | CODE | |
| LOW | crates/ty_python_semantic/mdtest.py | 172 | CODE | |
| LOW | crates/ty_python_semantic/mdtest.py | 246 | CODE | |
| LOW | …s/67_with_inside_try_finally_multiple_terminal_elif.py | 1 | CODE | |
| LOW | crates/ruff_python_ast/generate.py | 324 | CODE | |
| LOW | crates/ruff_python_ast/generate.py | 1065 | CODE | |
| LOW | crates/ruff_python_ast/generate.py | 1116 | CODE | |
| LOW | python/ruff-ecosystem/ruff_ecosystem/check.py | 345 | CODE | |
| LOW | python/ruff-ecosystem/ruff_ecosystem/projects.py | 88 | CODE | |
| LOW | python/py-fuzzer/fuzz.py | 73 | CODE | |
| LOW | python/py-fuzzer/fuzz.py | 325 | CODE | |
| LOW | python/py-fuzzer/fuzz.py | 559 | CODE | |
| LOW | scripts/check-cargo-bans.py | 38 | CODE | |
| LOW | scripts/run_ty_ecosystem_repro.py | 34 | CODE | |
| LOW | scripts/add_plugin.py | 59 | CODE | |
| LOW | scripts/generate_mkdocs.py | 199 | CODE | |
| LOW | scripts/conformance.py | 469 | CODE | |
| LOW | scripts/conformance.py | 611 | CODE | |
| LOW | scripts/conformance.py | 699 | CODE | |
| LOW | scripts/conformance.py | 776 | CODE | |
| LOW | scripts/add_rule.py | 69 | CODE | |
| LOW | scripts/generate_builtin_modules.py | 79 | CODE | |
| LOW | scripts/generate-crate-readmes.py | 98 | CODE | |
| LOW | scripts/ty_benchmark/src/benchmark/snapshot.py | 60 | CODE | |
| LOW | scripts/ty_benchmark/src/benchmark/lsp_client.py | 15 | CODE | |
| LOW | scripts/ty_benchmark/src/benchmark/lsp_client.py | 27 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …style/rules/logical_lines/whitespace_before_comment.rs | 24 | /// x = x + 1 # Increment x | COMMENT |
| LOW⚡ | …style/rules/logical_lines/whitespace_before_comment.rs | 29 | /// x = x + 1 # Increment x | COMMENT |
| LOW⚡ | …style/rules/logical_lines/whitespace_before_comment.rs | 30 | /// x = x + 1 # Increment x | COMMENT |
| LOW⚡ | …style/rules/logical_lines/whitespace_before_comment.rs | 59 | /// x = x + 1 #Increment x | COMMENT |
| LOW⚡ | …style/rules/logical_lines/whitespace_before_comment.rs | 60 | /// x = x + 1 # Increment x | COMMENT |
| LOW⚡ | …style/rules/logical_lines/whitespace_before_comment.rs | 66 | /// x = x + 1 # Increment x | COMMENT |
| LOW⚡ | …style/rules/logical_lines/whitespace_before_comment.rs | 67 | /// x = x + 1 # Increment x | COMMENT |
| LOW | scripts/update_schemastore.py | 135 | # Check if the schema has changed | COMMENT |
| LOW | scripts/ty_benchmark/src/benchmark/snapshot.py | 95 | # Check if snapshot exists. | COMMENT |
| LOW | .github/workflows/ci.yaml | 785 | # Set pipefail to avoid hiding errors with tee | COMMENT |
| LOW | .github/workflows/ci.yaml | 798 | # Set pipefail to avoid hiding errors with tee | COMMENT |
| LOW | .github/workflows/ci.yaml | 811 | # Set pipefail to avoid hiding errors with tee | COMMENT |
| LOW | .github/workflows/ci.yaml | 824 | # Set pipefail to avoid hiding errors with tee | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | playground/ty/src/Playground.tsx | 333 | elif style == "bold": | CODE |
| HIGH | playground/ty/src/Playground.tsx | 342 | print(with_style("ty is a fast type checker for Python.", "fast", "underlined")) | CODE |
| HIGH | playground/ty/src/Editor/runPython.ts | 45 | print(f"Runtime value is '{obj}'") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/ruff_benchmark/resources/numpy/globals.py | 22 | __all__ = ['_NoValue', '_CopyMode'] | CODE |
| LOW | crates/ruff_benchmark/resources/numpy/ctypeslib.py | 52 | __all__ = ['load_library', 'ndpointer', 'c_intp', 'as_ctypes', 'as_array', | CODE |
| LOW | crates/ruff_benchmark/resources/pydantic/types.py | 33 | __all__ = [ | CODE |
| LOW | …_semantic/resources/corpus/97_global_nonlocal_store.py | 4 | def update_task_runs() -> None: | CODE |
| LOW | python/ruff/__init__.py | 5 | __all__ = ["find_ruff_bin"] | CODE |
| LOW | scripts/ty_benchmark/src/benchmark/__init__.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/ty_benchmark/src/benchmark/venv.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/ty_benchmark/src/benchmark/projects.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | scripts/ty_benchmark/src/benchmark/snapshot.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | scripts/ty_benchmark/src/benchmark/lsp_client.py | 12 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | dist-workspace.toml | 57 | # Whether CI should include auto-generated code to build local artifacts | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …on_eval/truth/auto-import-skips-current-module/main.py | 15 | # I've added it anyway in case it does in the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …semantic/resources/mdtest/generics/pep695/callables.md | 1319 | ## SymPy one-import MRE scaffold (multi-file) | COMMENT |
| MEDIUM | …semantic/resources/mdtest/generics/legacy/callables.md | 1249 | ## SymPy one-import MRE scaffold (multi-file) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/publish-crates.py | 32 | # Usage: | COMMENT |
| LOW | scripts/ecosystem_all_check.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/benchmarks/run_formatter.sh | 10 | # Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | crates/ruff_benchmark/resources/large/dataset.py | 1319 | # TODO: implement this | COMMENT |
| LOW | …ython_semantic/resources/mdtest/comparison/integers.md | 25 | # TODO: implement lookup of `__eq__` on typeshed `int` stub. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …tes/ty_python_semantic/resources/corpus/93_deadcode.py | 3 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Cargo.toml | 193 | # When updating salsa, make sure to also update the version in `fuzz/Cargo.toml` | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/ruff_benchmark/resources/pydantic/types.py | 271 | CODE |