A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
This report summarizes scanner evidence for perspective-dev/perspective, a Rust project with 11,286 GitHub stars. SynthScan examined 364,608 lines of code across 1557 source files, recording 7496 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 67.2 (High 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? 2553 finding(s).
Are imports declared and package/API names verified? 29 finding(s).
Are wrappers, guards, and repeated structures necessary? 5852 finding(s).
Which changes need focused human review? 7496 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 7496 distinct pattern matches across 18 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 |
|---|---|---|---|---|
| MEDIUM⚡ | Cargo.toml | 1 | # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | Cargo.toml | 6 | # ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | Cargo.toml | 8 | # ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | Cargo.toml | 11 | # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | rustfmt.toml | 1 | # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | rustfmt.toml | 6 | # ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | rustfmt.toml | 8 | # ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | rustfmt.toml | 11 | # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | rust-toolchain.toml | 1 | # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | rust-toolchain.toml | 6 | # ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | rust-toolchain.toml | 8 | # ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | rust-toolchain.toml | 11 | # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | tools/bench/charts_page_harness.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | tools/bench/charts_page_harness.js | 6 | // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | tools/bench/charts_page_harness.js | 8 | // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | tools/bench/charts_page_harness.js | 11 | // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | tools/bench/remote_suite.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | tools/bench/remote_suite.js | 6 | // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | tools/bench/remote_suite.js | 8 | // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | tools/bench/remote_suite.js | 11 | // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | tools/bench/src/python/server.py | 1 | # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | tools/bench/src/python/server.py | 6 | # ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | tools/bench/src/python/server.py | 8 | # ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | tools/bench/src/python/server.py | 11 | # ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-two-csv.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-two-csv.js | 6 | // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-two-csv.js | 8 | // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-two-csv.js | 11 | // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-all-types-small-multi-arrow.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-all-types-small-multi-arrow.js | 6 | // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-all-types-small-multi-arrow.js | 8 | // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-all-types-small-multi-arrow.js | 11 | // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-csv-single-threaded.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-csv-single-threaded.js | 6 | // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-csv-single-threaded.js | 8 | // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-csv-single-threaded.js | 11 | // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-csv.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-csv.js | 6 | // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-csv.js | 8 | // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-csv.js | 11 | // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | tools/test/load-workspace-arrow.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | tools/test/load-workspace-arrow.js | 6 | // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | tools/test/load-workspace-arrow.js | 8 | // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | tools/test/load-workspace-arrow.js | 11 | // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-superstore.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-superstore.js | 6 | // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-superstore.js | 8 | // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer-superstore.js | 11 | // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | tools/test/playwright.config.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | tools/test/playwright.config.ts | 6 | // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | tools/test/playwright.config.ts | 8 | // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | tools/test/playwright.config.ts | 11 | // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer.js | 6 | // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer.js | 8 | // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | tools/test/load-viewer.js | 11 | // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| MEDIUM⚡ | tools/test/playwright/index.tsx | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| MEDIUM⚡ | tools/test/playwright/index.tsx | 6 | // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ | COMMENT |
| MEDIUM⚡ | tools/test/playwright/index.tsx | 8 | // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃ | COMMENT |
| MEDIUM⚡ | tools/test/playwright/index.tsx | 11 | // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | COMMENT |
| 4831 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Cargo.toml | 1 | # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | rustfmt.toml | 1 | # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | rust-toolchain.toml | 1 | # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/bench/charts_page_harness.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/bench/remote_suite.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/bench/src/python/server.py | 1 | # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/load-viewer-two-csv.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/load-viewer-all-types-small-multi-arrow.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/load-viewer-csv-single-threaded.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/load-viewer-csv.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/load-workspace-arrow.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/load-viewer-superstore.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/playwright.config.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/load-viewer.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/playwright/index.tsx | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/simple_viewer_tests.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/global_teardown.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/snapshot-sync.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/start_test_server.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/utils.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/global_startup.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/index.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/set_timezone.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/fixture.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/models/column_settings.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/models/settings_panel.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/models/page.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/models/plugins.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/test/src/js/models/plugins/datagrid.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/esbuild-plugin/worker.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/esbuild-plugin/worker.js | 161 | { filter: /.*/, namespace: "worker-stub" }, | COMMENT |
| LOW | tools/esbuild-plugin/build.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/esbuild-plugin/index.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/esbuild-plugin/resolve.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/esbuild-plugin/external.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/esbuild-plugin/amd.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | tools/esbuild-plugin/wasm.js | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | rust/lint/Cargo.toml | 1 | # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | rust/lint/main.rs | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | rust/perspective-viewer/Cargo.toml | 1 | # ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | rust/perspective-viewer/build.rs | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | rust/perspective-viewer/test/js/helpers.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | rust/perspective-viewer/test/js/windows.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …ctive-viewer/test/js/viewer_config/cancellable.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …ctive-viewer/test/js/viewer_config/expressions.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …erspective-viewer/test/js/viewer_config/filter.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …tive-viewer/test/js/viewer_config/localization.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …e-viewer/test/js/viewer_config/custom_elements.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …ctive-viewer/test/js/status_indicator/updating.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …e-viewer/test/js/multi_panel/load_restore_race.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …pective-viewer/test/js/multi_panel/close_panel.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …r/test/js/multi_panel/status_bar_panel_actions.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …r/test/js/multi_panel/restore_workspace_update.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …spective-viewer/test/js/multi_panel/api_remove.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …ctive-viewer/test/js/multi_panel/layout_events.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …wer/test/js/multi_panel/save_restore_workspace.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …spective-viewer/test/js/multi_panel/inert_load.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …rspective-viewer/test/js/multi_panel/workspace.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …viewer/test/js/multi_panel/context_menu_picker.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …ective-viewer/test/js/multi_panel/panel_chrome.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| 1524 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/test/src/js/simple_viewer_tests.ts | 43 | export function runPerspectiveEventClickTest() { | CODE |
| LOW | tools/test/src/js/utils.ts | 163 | export async function compareContentsToSnapshot( | CODE |
| LOW | tools/test/src/js/utils.ts | 197 | export async function compareSVGContentsToSnapshot( | CODE |
| LOW | rust/perspective-viewer/test/js/helpers.ts | 59 | export async function compareContentsToSnapshot( | CODE |
| LOW | rust/perspective-viewer/test/js/helpers.ts | 96 | export async function compareInnerHTMLToSnapshot( | CODE |
| LOW | rust/perspective-viewer/test/js/helpers.ts | 104 | export async function compareOuterHTMLToSnapshot( | CODE |
| LOW⚡ | …ctive-viewer/test/js/viewer_config/expressions.spec.ts | 20 | async function openSidebarAndScrollToBottom() { | CODE |
| LOW | …spective-python/bench/runtime/perspective_benchmark.py | 109 | def benchmark_view_zero_updates(self): | CODE |
| LOW | …spective-python/bench/runtime/perspective_benchmark.py | 136 | def benchmark_view_one_updates(self): | CODE |
| LOW | …spective-python/bench/runtime/perspective_benchmark.py | 165 | def benchmark_view_two_updates(self): | CODE |
| LOW | …t/perspective-python/pyodide-tests/tests/test_smoke.py | 111 | async def test_parsing_bad_csv_raises_exception(selenium): | CODE |
| LOW | …t/perspective-python/pyodide-tests/tests/test_smoke.py | 134 | async def test_perspective_and_pyarrow_together_at_last(selenium): | CODE |
| LOW | …t/perspective-python/pyodide-tests/tests/test_smoke.py | 174 | async def test_async_client_kitchen_sink(selenium, client): | CODE |
| LOW | rust/perspective-python/perspective/__init__.py | 398 | def _jupyter_labextension_paths(): | STRING |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 524 | def build_split_by_grouped_flat(df, group_by, split_by, columns, aggregates, col_alias): | CODE |
| LOW | rust/perspective-python/perspective/widget/__init__.py | 342 | def _jupyter_html_export_enabled(): | CODE |
| LOW | …erspective/tests/multi_threaded/test_multi_threaded.py | 25 | def test_sync_updates_with_loop_callback_are_sync(self): | CODE |
| LOW | …erspective/tests/multi_threaded/test_multi_threaded.py | 92 | def test_concurrent_updates_with_limit_tables_are_threadsafe(self): | CODE |
| LOW | …erspective/tests/multi_threaded/test_multi_threaded.py | 144 | def test_concurrent_view_creation_on_separate_servers_are_threadsafe(self): | CODE |
| LOW | …erspective/tests/multi_threaded/test_multi_threaded.py | 162 | def test_concurrent_view_creation_with_updates_are_threadsafe(self): | CODE |
| LOW | …erspective/tests/multi_threaded/test_multi_threaded.py | 203 | def test_to_columns_id_while_filtered_rows_shrink(self): | CODE |
| LOW | …erspective/tests/multi_threaded/test_multi_threaded.py | 257 | def test_concurrent_flat_view_reads_are_threadsafe(self): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 76 | def test_get_hosted_table_names(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 221 | def test_multi_level_group_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 264 | def test_group_by_with_count_aggregate(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 281 | def test_group_by_with_avg_aggregate(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 299 | def test_group_by_with_min_aggregate(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 316 | def test_group_by_with_max_aggregate(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 351 | def test_filter_with_not_equals(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 367 | def test_filter_with_greater_than(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 383 | def test_filter_with_less_than(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 399 | def test_filter_with_greater_than_or_equal(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 415 | def test_filter_with_less_than_or_equal(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 450 | def test_filter_with_group_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 525 | def test_split_by_without_group_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 612 | def test_start_row_and_end_row(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 625 | def test_start_col_and_end_col(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 696 | def test_flat_mode_with_group_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 717 | def test_flat_mode_with_multi_level_group_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 758 | def test_flat_mode_with_group_by_and_split_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 797 | def test_flat_mode_with_group_by_and_split_by_and_sort(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 837 | def test_flat_mode_with_group_by_and_sort(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 870 | def test_total_mode_with_multiple_columns(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 883 | def test_total_mode_with_split_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 908 | def test_group_by_filter_sort(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 928 | def test_split_by_group_by_filter(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 1014 | def test_describe_parity_with_view(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 1032 | def test_describe_reports_a_bad_expression(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 1042 | def test_expressions_group_by_sort(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 1075 | def test_narrow_integers_flat(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 1084 | def test_wide_and_fractional_numbers_flat(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 1176 | def test_filter_matching_nothing(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 1191 | def test_group_by_view_unrolls_row_path(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 1218 | def test_group_by_view_qualifies_key_aggregate(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 1271 | def test_rejects_mismatched_type(self, client): | CODE |
| LOW⚡ | …ython/perspective/tests/virtual_servers/test_duckdb.py | 719 | def test_unused_invalid_expression_is_still_rejected(self, client): | STRING |
| LOW⚡ | …ython/perspective/tests/virtual_servers/test_duckdb.py | 724 | def test_bad_column_is_a_config_error(self, client): | STRING |
| LOW⚡ | …ython/perspective/tests/virtual_servers/test_duckdb.py | 729 | def test_validate_expressions(self, client): | STRING |
| LOW⚡ | …ython/perspective/tests/virtual_servers/test_duckdb.py | 737 | def test_view_expression_schema(self, client): | STRING |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 113 | def test_get_hosted_table_names(self, client): | STRING |
| 875 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rust/perspective-python/bench/runtime/__init__.py | 13 | CODE | |
| LOW | rust/perspective-python/bench/runtime/__init__.py | 13 | CODE | |
| LOW | rust/perspective-python/bench/runtime/__init__.py | 13 | CODE | |
| LOW | rust/perspective-python/perspective/__init__.py | 350 | CODE | |
| LOW | rust/perspective-python/perspective/__init__.py | 350 | CODE | |
| LOW | rust/perspective-python/perspective/__init__.py | 350 | CODE | |
| LOW | rust/perspective-python/perspective/__init__.py | 350 | CODE | |
| LOW | rust/perspective-python/perspective/__init__.py | 350 | CODE | |
| LOW | rust/perspective-python/perspective/__init__.py | 350 | CODE | |
| LOW | rust/perspective-python/perspective/__init__.py | 350 | CODE | |
| LOW | rust/perspective-python/perspective/__init__.py | 350 | CODE | |
| LOW | rust/perspective-python/perspective/__init__.py | 350 | CODE | |
| LOW | rust/perspective-python/perspective/__init__.py | 350 | CODE | |
| LOW | rust/perspective-python/perspective/__init__.py | 350 | CODE | |
| LOW | …rspective-python/perspective/widget/viewer/__init__.py | 13 | CODE | |
| LOW | …ython/perspective/tests/table/test_table_view_table.py | 13 | CODE | |
| LOW | …ython/perspective/tests/table/test_table_view_table.py | 14 | CODE | |
| LOW | …ython/perspective/tests/table/test_table_view_table.py | 15 | CODE | |
| LOW | …ython/perspective/tests/table/test_table_view_table.py | 17 | CODE | |
| LOW | …ython/perspective/tests/table/test_table_view_table.py | 17 | CODE | |
| LOW | …ython/perspective/tests/table/test_table_view_table.py | 17 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …pective-viewer/test/js/column_settings/sidebar.spec.ts | 227 | await view.columnSettingsSidebar.attributesTab.expressionEditor.textarea.clear(); | CODE |
| CRITICAL | …pective-viewer/test/js/column_settings/sidebar.spec.ts | 228 | await view.columnSettingsSidebar.attributesTab.expressionEditor.textarea.type( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tools/bench/src/python/server.py | 13 | # This module handles historic versions of `perspective-python`'s API. | COMMENT |
| MEDIUM | rust/perspective-python/perspective/__init__.py | 266 | # Create an instance of Server, and host a Table | COMMENT |
| MEDIUM | rust/perspective-python/perspective/widget/__init__.py | 67 | ### Creating a widget | COMMENT |
| MEDIUM | …erspective/tests/multi_threaded/test_multi_threaded.py | 103 | # Create an updating thread that overlaps the index alot | COMMENT |
| MEDIUM | …erspective/tests/multi_threaded/test_multi_threaded.py | 114 | # Create a thread that serialized the table alot, checking for nulls | COMMENT |
| MEDIUM | rust/perspective-python/perspective/handlers/tornado.py | 56 | # Create a websocket endpoint that the client JavaScript can access | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | packages/cli/src/js/utils.js | 20 | elif which gnome-open > /dev/null | CODE |
| HIGH⚡ | packages/cli/src/js/utils.js | 23 | elif which open > /dev/null | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | rust/perspective-python/bench/runtime/__init__.py | 15 | __all__ = ["Benchmark", "Suite", "Runner"] | CODE |
| LOW⚡ | rust/perspective-python/perspective/__init__.py | 14 | __all__ = [ | CODE |
| LOW⚡ | …ctive-python/perspective/virtual_servers/clickhouse.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | …pective-python/perspective/virtual_servers/postgres.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | …rspective-python/perspective/virtual_servers/duckdb.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | rust/perspective-python/perspective/widget/__init__.py | 29 | __all__ = ["PerspectiveWidget"] | CODE |
| LOW⚡ | …rspective-python/perspective/widget/viewer/__init__.py | 15 | __all__ = ["PerspectiveViewer"] | CODE |
| LOW | examples/python-clickhouse-virtual/server.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/python-postgres-virtual/server.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/python-duckdb-virtual/server.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/python-polars-virtual/server.py | 26 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ctive-python/perspective/virtual_servers/clickhouse.py | 281 | except Exception as e: | CODE |
| LOW | …pective-python/perspective/virtual_servers/__init__.py | 151 | except Exception as e: | CODE |
| LOW | …pective-python/perspective/virtual_servers/__init__.py | 175 | except Exception as error: | CODE |
| LOW | …pective-python/perspective/virtual_servers/__init__.py | 183 | except Exception as e: | CODE |
| LOW | …pective-python/perspective/virtual_servers/__init__.py | 203 | except Exception as error: | CODE |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 151 | except Exception as e: | CODE |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 179 | except Exception as e: | CODE |
| LOW | …spective/tests/multi_threaded/test_derived_threaded.py | 70 | except Exception as e: | CODE |
| MEDIUM | …spective/tests/multi_threaded/test_derived_threaded.py | 65 | def read(): | CODE |
| LOW | …erspective/tests/multi_threaded/test_multi_threaded.py | 276 | except Exception as e: | CODE |
| MEDIUM | …erspective/tests/multi_threaded/test_multi_threaded.py | 270 | def read(): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | …python/perspective/tests/table/test_view_expression.py | 2028 | replace("a", '[a-z]{4}$', null)""", | STRING |
| HIGH | …python/perspective/tests/table/test_view_expression.py | 2106 | replace_all("a", '[a-z]{4}$', null)""", | STRING |
| HIGH | …ctive-python/perspective/tests/table/test_to_polars.py | 26 | assert df.equals(df2) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ctive-python/perspective/virtual_servers/clickhouse.py | 109 | def handle_request(self, msg): | CODE |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 71 | def handle_request(self, msg): | CODE |
| LOW | …pective-python/perspective/virtual_servers/postgres.py | 150 | def handle_request(self, msg): | CODE |
| LOW | …rspective-python/perspective/virtual_servers/duckdb.py | 154 | def handle_request(self, msg): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 64 | def handle_request(msg): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 101 | def handle_request(msg): | STRING |
| LOW | …perspective/tests/virtual_servers/test_coerce_types.py | 114 | def handle_request(msg): | CODE |
| LOW | …hon/perspective/tests/virtual_servers/test_postgres.py | 161 | def handle_request(msg): | STRING |
| LOW | …ective-python/perspective/tests/server/test_session.py | 29 | def handle_request(bytes): | CODE |
| LOW | …ective-python/perspective/tests/server/test_session.py | 44 | def handle_request(bytes): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | rust/perspective-viewer/src/rust/agent/client/turn.rs | 13 | //! The agentic loop: model request → dispatch any tool calls → repeat, until | COMMENT |
| MEDIUM | rust/perspective-viewer/src/rust/components/viewer.rs | 118 | /// Value-semantic state snapshots (Step 4 scaffold). | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | rust/perspective-js/test/js/view_config.spec.js | 130 | // In revisiting this broken feature, I've updated the behavior to | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rust/perspective-python/bench/runtime/bench.py | 329 | CODE | |
| LOW | …pective-python/perspective/virtual_servers/__init__.py | 168 | CODE | |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 360 | CODE | |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 196 | CODE | |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 267 | CODE | |
| LOW | …pective-python/perspective/virtual_servers/postgres.py | 315 | CODE | |
| LOW | rust/perspective-python/perspective/widget/__init__.py | 258 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …-python/perspective/tests/table/test_table_datetime.py | 254 | # Set timezone to UTC, always | COMMENT |
| LOW | …-python/perspective/tests/table/test_table_datetime.py | 831 | # Set timezone to UTC, always | COMMENT |
| LOW | …-python/perspective/tests/table/test_table_datetime.py | 1212 | # Set timezone to UTC, always | COMMENT |
| LOW | …-python/perspective/tests/table/test_table_datetime.py | 1318 | # Set timezone to UTC, always | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …st/perspective-viewer/src/rust/tasks/presize_panels.rs | 367 | /// from a `regular-layout-frame` and its plugin — robust to theme/CSS changes — | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 463 | CODE | |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 715 | CODE | |
| LOW | …perspective-python/perspective/widget/viewer/viewer.py | 52 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/perspective-server/cpp/perspective/src/cpp/server.cpp | 340 | // Lorem ipsum "dolor" sit amet, consectetur adipiscing elit. | COMMENT |