A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
This report presents the forensic synthetic code analysis of perspective-dev/perspective, a C++ project with 11,017 GitHub stars. SynthScan v2.0 examined 281,475 lines of code across 1374 source files, recording 6256 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 72.9 places this repository in the Strong AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 6256 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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 |
| 4033 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 | 121 | return { | 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 | …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 | …rspective-viewer/test/js/settings_panel/toggle.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …spective-viewer/test/js/settings_panel/plugins.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …erspective-viewer/test/js/settings_panel/close.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …pective-viewer/test/js/dragdrop/dragdrop_test_utils.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …t/perspective-viewer/test/js/dragdrop/dragover.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | rust/perspective-viewer/test/js/dragdrop/drop.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …e-viewer/test/js/dragdrop/drop_column_settings.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …ive-viewer/test/js/dragdrop/drop_named_columns.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | rust/perspective-viewer/test/js/dragdrop/cancel.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | rust/perspective-viewer/test/js/stability/leaks.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …st/perspective-viewer/test/js/stability/export.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …ve-viewer/test/js/column_settings/interactions.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| LOW | …pective-viewer/test/js/column_settings/sidebar.spec.ts | 1 | // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | COMMENT |
| 1215 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 | 162 | export async function compareContentsToSnapshot( | CODE |
| LOW⚡ | tools/test/src/js/utils.ts | 196 | export async function compareSVGContentsToSnapshot( | CODE |
| LOW⚡ | tools/test/src/js/utils.ts | 204 | export function getWorkspaceLightDOMContents(page: Page): Promise<string> { | CODE |
| LOW⚡ | tools/test/src/js/utils.ts | 210 | export function getWorkspaceShadowDOMContents(page: Page): Promise<string> { | CODE |
| LOW | rust/perspective-viewer/test/js/helpers.ts | 58 | export async function compareContentsToSnapshot( | 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 | …ctive-python/perspective/virtual_servers/clickhouse.py | 157 | def table_validate_expression(self, view_name, expression): | CODE |
| LOW | …pective-python/perspective/virtual_servers/__init__.py | 107 | def table_validate_expression(self, view_name, expression): | CODE |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 142 | def table_validate_expression(self, table_name, expression): | CODE |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 484 | def build_split_by_grouped_flat(df, group_by, split_by, columns, aggregates, col_alias): | CODE |
| LOW | …rspective-python/perspective/virtual_servers/duckdb.py | 168 | def table_validate_expression(self, view_name, expression): | CODE |
| LOW | rust/perspective-python/perspective/widget/__init__.py | 340 | 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 | …ython/perspective/tests/virtual_servers/test_polars.py | 75 | def test_get_hosted_table_names(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 220 | def test_multi_level_group_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 263 | def test_group_by_with_count_aggregate(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 280 | def test_group_by_with_avg_aggregate(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 298 | def test_group_by_with_min_aggregate(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 315 | def test_group_by_with_max_aggregate(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 350 | def test_filter_with_not_equals(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 366 | def test_filter_with_greater_than(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 382 | def test_filter_with_less_than(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 398 | def test_filter_with_greater_than_or_equal(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 414 | def test_filter_with_less_than_or_equal(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 449 | def test_filter_with_group_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 524 | def test_split_by_without_group_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 611 | def test_start_row_and_end_row(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 624 | def test_start_col_and_end_col(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 695 | def test_flat_mode_with_group_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 716 | def test_flat_mode_with_multi_level_group_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 757 | def test_flat_mode_with_group_by_and_split_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 796 | def test_flat_mode_with_group_by_and_split_by_and_sort(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 836 | def test_flat_mode_with_group_by_and_sort(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 869 | def test_total_mode_with_multiple_columns(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 882 | def test_total_mode_with_split_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 907 | def test_group_by_filter_sort(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 927 | def test_split_by_group_by_filter(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 1013 | def test_expressions_group_by_sort(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 72 | def test_get_hosted_table_names(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 215 | def test_multi_level_group_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 247 | def test_group_by_with_count_aggregate(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 264 | def test_group_by_with_avg_aggregate(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 280 | def test_group_by_with_min_aggregate(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 297 | def test_group_by_with_max_aggregate(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 366 | def test_split_by_without_group_by(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 396 | def test_filter_with_not_equals(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 412 | def test_filter_with_greater_than(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 428 | def test_filter_with_less_than(self, client): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 444 | def test_filter_with_greater_than_or_equal(self, client): | CODE |
| 761 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 | 224 | await view.columnSettingsSidebar.attributesTab.expressionEditor.textarea.clear(); | CODE |
| CRITICAL | …pective-viewer/test/js/column_settings/sidebar.spec.ts | 225 | 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 | 63 | ### 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 | …rspective-python/perspective/virtual_servers/duckdb.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | rust/perspective-python/perspective/widget/__init__.py | 27 | __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-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 |
|---|---|---|---|---|
| HIGH⚡ | …python/perspective/tests/table/test_view_expression.py | 1857 | replace("a", '[a-z]{4}$', null)""", | STRING |
| HIGH | …python/perspective/tests/table/test_view_expression.py | 1935 | 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 |
|---|---|---|---|---|
| HIGH | rust/perspective-js/test/js/view_config.spec.js | 127 | // In revisiting this broken feature, I've updated the behavior to | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ctive-python/perspective/virtual_servers/clickhouse.py | 76 | def handle_request(self, msg): | CODE |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 71 | def handle_request(self, msg): | CODE |
| LOW | …rspective-python/perspective/virtual_servers/duckdb.py | 89 | def handle_request(self, msg): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_polars.py | 63 | def handle_request(msg): | CODE |
| LOW | …ython/perspective/tests/virtual_servers/test_duckdb.py | 60 | def handle_request(msg): | CODE |
| 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 |
|---|---|---|---|---|
| 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 |
|---|---|---|---|---|
| LOW | rust/perspective-python/bench/runtime/bench.py | 329 | CODE | |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 320 | CODE | |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 150 | CODE | |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 227 | CODE | |
| LOW | rust/perspective-python/perspective/widget/__init__.py | 259 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | rust/perspective-viewer/src/rust/components/viewer.rs | 114 | /// Value-semantic state snapshots (Step 4 scaffold). | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 423 | CODE | |
| LOW | …rspective-python/perspective/virtual_servers/polars.py | 675 | 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 | 285 | // Lorem ipsum "dolor" sit amet, consectetur adipiscing elit. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ctive-python/perspective/virtual_servers/clickhouse.py | 227 | except Exception as e: | CODE |