Repository Analysis

apache/superset

Apache Superset is a Data Visualization and Data Exploration Platform

13.6 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of apache/superset, a TypeScript project with 73,817 GitHub stars. SynthScan v2.0 examined 1,369,308 lines of code across 7484 source files, recording 16192 pattern matches distributed across 24 syntactic categories. The overall adjusted score of 13.6 places this repository in the Low 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).

13.6
Adjusted Score
13.6
Raw Score
100%
Time Factor
2026-07-14
Last Push
73.8K
Stars
TypeScript
Language
1.4M
Lines of Code
7.5K
Files
16.2K
Pattern Hits
2026-07-14
Scan Date
0.04
HC Hit Rate

What These Metrics Mean

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

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 4HIGH 300MEDIUM 951LOW 14937

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 16192 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers9565 hits · 8480 pts
SeverityFileLineSnippetContext
LOW…erset-core/src/superset_core/semantic_layers/config.py25def build_configuration_schema(CODE
LOWsuperset-core/src/superset_core/semantic_layers/daos.py67 def validate_update_uniqueness(cls, layer_uuid: str, name: str) -> bool:CODE
LOWsuperset-core/src/superset_core/semantic_layers/daos.py137 def validate_update_uniqueness(CODE
LOWsuperset-core/src/superset_core/semantic_layers/view.py106 def get_compatible_dimensions(CODE
LOWtests/conftest.py79def pandas_loader_configuration(CODE
LOWtests/unit_tests/conftest.py194 def test_your_feature_enabled(self):STRING
LOWtests/unit_tests/conftest.py198 def test_your_feature_disabled(self):STRING
LOWtests/unit_tests/core_tests.py60def test_get_metric_name_saved_metric():CODE
LOWtests/unit_tests/core_tests.py65def test_get_metric_name_adhoc():CODE
LOWtests/unit_tests/core_tests.py88def test_get_metric_name_invalid_metric():CODE
LOWtests/unit_tests/core_tests.py130def test_get_column_name_physical_column():CODE
LOWtests/unit_tests/core_tests.py135def test_get_column_name_adhoc():CODE
LOWtests/unit_tests/core_tests.py159def test_get_column_name_invalid_metric():CODE
LOWtests/unit_tests/core_tests.py173def test_get_time_filter_status_time_col():CODE
LOWtests/unit_tests/core_tests.py181def test_get_time_filter_status_time_range():CODE
LOWtests/unit_tests/core_tests.py189def test_get_time_filter_status_time_grain():CODE
LOWtests/unit_tests/core_tests.py197def test_get_time_filter_status_no_temporal_col():CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py29def restore_schema_init_fields():CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py41 def test_patch_marshmallow_for_flask_appbuilder_applies_patch(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py52 def test_patch_functionality_with_real_schema_creation(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py66 def test_patch_handles_schema_with_no_fields(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py76 def test_patch_pre_stubs_missing_fab_fields_before_initialization(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py101 def test_raw_field_creation_and_configuration(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py110 def test_schema_declared_fields_manipulation(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py133 def test_flask_appbuilder_field_names_list(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py151 def test_patch_function_is_callable(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py161 def test_marshmallow_schema_basic_functionality(self):CODE
LOWtests/unit_tests/jinja_context_test.py121def test_filter_values_default() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py130def test_filter_values_remove_not_present() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py139def test_filter_values_no_default() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py147def test_get_filters_adhoc_filters() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py560def test_url_param_escaped_request_args() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py570def test_url_param_unescaped_request_args() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py579def test_safe_proxy_primitive() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py58def test_filter_values_adhoc_filters() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py105def test_filter_values_extra_filters() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py224def test_get_filters_is_null_operator() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py254def test_get_filters_remove_not_present() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py263def test_get_filters_query_context_filters() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py279def test_get_filters_query_context_filters_remove_filter() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py294def test_get_filters_query_context_filters_is_null() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py305def test_get_filters_query_context_filters_is_not_null() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py318def test_get_filters_adhoc_filters_take_precedence_over_query_context_filters() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py347def test_filter_values_query_context_filters() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py358def test_get_filters_escaped_val_string_adhoc() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py392def test_get_filters_escaped_val_list_adhoc() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py426def test_get_filters_escaped_val_query_context_filters() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py447def test_get_filters_no_escaped_val_without_dialect() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py494def test_url_param_no_default() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py514def test_url_param_escaped_form_data() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py526def test_url_param_escaped_default_form_data() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py537def test_url_param_unescaped_form_data() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py549def test_url_param_unescaped_default_form_data() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py614def test_safe_proxy_nested_lambda() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py673def test_user_macros_without_user_info(mocker: MockerFixture):CODE
LOWtests/unit_tests/jinja_context_test.py687def test_current_user_rls_rules_with_no_table(mocker: MockerFixture):CODE
LOWtests/unit_tests/jinja_context_test.py708def test_current_user_rls_rules_guest_user(mocker: MockerFixture):CODE
LOWtests/unit_tests/jinja_context_test.py898def test_dataset_macro_mutator_with_comments(mocker: MockerFixture) -> None:CODE
LOWtests/unit_tests/jinja_context_test.py921def test_metric_macro_with_dataset_id(mocker: MockerFixture) -> None:CODE
LOWtests/unit_tests/jinja_context_test.py941def test_metric_macro_recursive(mocker: MockerFixture) -> None:CODE
9505 more matches not shown…
Decorative Section Separators704 hits · 2628 pts
SeverityFileLineSnippetContext
MEDIUMdocker-compose-image-tag.yml18# -----------------------------------------------------------------------COMMENT
MEDIUMdocker-compose-image-tag.yml26# -----------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml85 # --------------------------COMMENT
MEDIUMpyproject.toml89 # --------------------------COMMENT
MEDIUMpyproject.toml481# --------------------------------------------------------------COMMENT
MEDIUMpyproject.toml486# --------------------------------------------------------------COMMENT
MEDIUMdocker-compose-non-dev.yml18# -----------------------------------------------------------------------COMMENT
MEDIUMdocker-compose-non-dev.yml26# -----------------------------------------------------------------------COMMENT
MEDIUMdocker-compose-light.yml18# -----------------------------------------------------------------------COMMENT
MEDIUMdocker-compose-light.yml61# -----------------------------------------------------------------------COMMENT
MEDIUMdocker-compose.yml18# -----------------------------------------------------------------------COMMENT
MEDIUMdocker-compose.yml26# -----------------------------------------------------------------------COMMENT
MEDIUMdocker/docker-entrypoint-initdb.d/examples-init.sh20# ------------------------------------------------------------------------COMMENT
MEDIUMdocker/docker-entrypoint-initdb.d/examples-init.sh23# ------------------------------------------------------------------------COMMENT
MEDIUMdocker/docker-entrypoint-initdb.d/cypress-init.sh20# ------------------------------------------------------------------------COMMENT
MEDIUMdocker/docker-entrypoint-initdb.d/cypress-init.sh23# ------------------------------------------------------------------------COMMENT
MEDIUMsuperset-core/src/superset_core/extensions/types.py82# =============================================================================COMMENT
MEDIUMsuperset-core/src/superset_core/extensions/types.py84# =============================================================================COMMENT
MEDIUMsuperset-core/src/superset_core/extensions/types.py109# =============================================================================COMMENT
MEDIUMsuperset-core/src/superset_core/extensions/types.py111# =============================================================================COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py64# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py66# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py104# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py106# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py140# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py142# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py182# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py184# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py219# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py221# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py253# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py255# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py47# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py49# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py593# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py595# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py669# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py671# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py753# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py755# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py51# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py53# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py121# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py123# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py397# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py408# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py557# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py559# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py698# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py700# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/tasks/test_thumbnails.py48# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/tasks/test_thumbnails.py50# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/tasks/test_thumbnails.py68# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/tasks/test_thumbnails.py70# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/tasks/test_timeout.py113# =============================================================================COMMENT
MEDIUMtests/unit_tests/tasks/test_timeout.py115# =============================================================================COMMENT
MEDIUMtests/unit_tests/tasks/test_timeout.py196# =============================================================================COMMENT
MEDIUMtests/unit_tests/tasks/test_timeout.py198# =============================================================================COMMENT
MEDIUMtests/unit_tests/tasks/test_timeout.py399# =============================================================================COMMENT
MEDIUMtests/unit_tests/tasks/test_timeout.py401# =============================================================================COMMENT
644 more matches not shown…
Over-Commented Block2449 hits · 2293 pts
SeverityFileLineSnippetContext
LOW.asf.yaml1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWdocker-compose-image-tag.yml1#COMMENT
LOWpytest.ini1#COMMENT
LOWpytest.ini21# `-p no:warnings` temporarily disabled in favor of more finely tuned `filterwarnings`.COMMENT
LOW.pre-commit-config.yaml1#COMMENT
LOW.fossa.yml1#COMMENT
LOWpyproject.toml1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWlintconf.yaml1#COMMENT
LOWsetup.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWdocker-compose-non-dev.yml1#COMMENT
LOWdocker-compose-light.yml1#COMMENT
LOWdocker-compose-light.yml21#COMMENT
LOWdocker-compose-light.yml41#COMMENT
LOWdocker-compose.yml1#COMMENT
LOWdocker-compose.yml141 extra_hosts:COMMENT
LOWsuperset_text.yml1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset_text.yml21# DB_IMAGES:COMMENT
LOWdocker/frontend-mem-nag.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/tag_latest_release.sh1#! /bin/bashCOMMENT
LOWdocker/docker-bootstrap.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/docker-healthcheck.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/apt-install.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/docker-pytest-entrypoint.sh1#!/bin/bashCOMMENT
LOWdocker/pip-install.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/docker-init.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/docker-frontend.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/pythonpath_dev/superset_config_docker_light.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWdocker/pythonpath_dev/superset_config_docker_light.py61 # just turn it off.COMMENT
LOWdocker/pythonpath_dev/superset_config.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWdocker/pythonpath_dev/superset_test_config_light.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWdocker/docker-entrypoint-initdb.d/examples-init.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/docker-entrypoint-initdb.d/cypress-init.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/entrypoints/run-server.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/entrypoints/docker-ci.sh1#!/usr/bin/env bashCOMMENT
LOWsuperset-core/pyproject.toml1COMMENT
LOWsuperset-core/src/superset_core/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/tasks/models.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/tasks/daos.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/tasks/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/tasks/types.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/tasks/decorators.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…erset-core/src/superset_core/semantic_layers/config.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…erset-core/src/superset_core/semantic_layers/models.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/semantic_layers/daos.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…perset-core/src/superset_core/semantic_layers/types.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/semantic_layers/view.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…perset-core/src/superset_core/semantic_layers/layer.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…t-core/src/superset_core/semantic_layers/decorators.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/queries/models.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/queries/query.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/queries/daos.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/queries/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/queries/types.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/mcp/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/mcp/decorators.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/extensions/constants.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/extensions/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/extensions/types.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/common/models.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/common/daos.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
2389 more matches not shown…
Cross-File Repetition212 hits · 1060 pts
SeverityFileLineSnippetContext
HIGHsuperset-core/src/superset_core/tasks/daos.py0abstract keyvalue model interface. host implementations will replace this class during initialization with concrete implSTRING
HIGHsuperset-core/src/superset_core/queries/models.py0abstract keyvalue model interface. host implementations will replace this class during initialization with concrete implSTRING
HIGHsuperset-core/src/superset_core/queries/daos.py0abstract keyvalue model interface. host implementations will replace this class during initialization with concrete implSTRING
HIGHsuperset-core/src/superset_core/common/models.py0abstract keyvalue model interface. host implementations will replace this class during initialization with concrete implSTRING
HIGHsuperset-core/src/superset_core/common/daos.py0abstract keyvalue model interface. host implementations will replace this class during initialization with concrete implSTRING
HIGHtests/unit_tests/pandas_postprocessing/test_cum.py0count_metric sum_metric country uk us uk us dttm 2019-01-01 1 2 5 6 2019-01-02 3 4 7 8STRING
HIGHtests/unit_tests/pandas_postprocessing/test_rolling.py0count_metric sum_metric country uk us uk us dttm 2019-01-01 1 2 5 6 2019-01-02 3 4 7 8STRING
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py0count_metric sum_metric country uk us uk us dttm 2019-01-01 1 2 5 6 2019-01-02 3 4 7 8STRING
HIGH…it_tests/datasets/commands/importers/v1/import_test.py0non-overwrite re-import of a soft-deleted uuid is implicitly a restore-and-update: the user is bringing the dashboard baSTRING
HIGH…unit_tests/charts/commands/importers/v1/import_test.py0non-overwrite re-import of a soft-deleted uuid is implicitly a restore-and-update: the user is bringing the dashboard baSTRING
HIGH…_tests/dashboards/commands/importers/v1/import_test.py0non-overwrite re-import of a soft-deleted uuid is implicitly a restore-and-update: the user is bringing the dashboard baSTRING
HIGH…it_tests/datasets/commands/importers/v1/import_test.py0non-overwrite re-import that would resurrect a soft-deleted dashboard must respect editorship: a non-editor without admiSTRING
HIGH…unit_tests/charts/commands/importers/v1/import_test.py0non-overwrite re-import that would resurrect a soft-deleted dashboard must respect editorship: a non-editor without admiSTRING
HIGH…_tests/dashboards/commands/importers/v1/import_test.py0non-overwrite re-import that would resurrect a soft-deleted dashboard must respect editorship: a non-editor without admiSTRING
HIGH…it_tests/datasets/commands/importers/v1/import_test.py0an *active* (not soft-deleted) dashboard re-imported with overwrite=true by a caller without can_write must fall throughSTRING
HIGH…unit_tests/charts/commands/importers/v1/import_test.py0an *active* (not soft-deleted) dashboard re-imported with overwrite=true by a caller without can_write must fall throughSTRING
HIGH…_tests/dashboards/commands/importers/v1/import_test.py0an *active* (not soft-deleted) dashboard re-imported with overwrite=true by a caller without can_write must fall throughSTRING
HIGH…ests/mcp_service/semantic_layer/tool/test_get_table.py0errors when neither dataset_id nor view_id is provided.STRING
HIGH…/semantic_layer/tool/test_get_compatible_dimensions.py0errors when neither dataset_id nor view_id is provided.STRING
HIGH…ice/semantic_layer/tool/test_get_compatible_metrics.py0errors when neither dataset_id nor view_id is provided.STRING
HIGH…ests/mcp_service/semantic_layer/tool/test_get_table.py0errors when both dataset_id and view_id are provided.STRING
HIGH…/semantic_layer/tool/test_get_compatible_dimensions.py0errors when both dataset_id and view_id are provided.STRING
HIGH…ice/semantic_layer/tool/test_get_compatible_metrics.py0errors when both dataset_id and view_id are provided.STRING
HIGH…ests/mcp_service/semantic_layer/tool/test_get_table.py0errors when the user lacks data-model metadata access.STRING
HIGH…/semantic_layer/tool/test_get_compatible_dimensions.py0errors when the user lacks data-model metadata access.STRING
HIGH…ice/semantic_layer/tool/test_get_compatible_metrics.py0errors when the user lacks data-model metadata access.STRING
HIGH…ests/mcp_service/semantic_layer/tool/test_get_table.py0returns accessdenied when raise_for_access rejects the view.STRING
HIGH…/semantic_layer/tool/test_get_compatible_dimensions.py0returns accessdenied when raise_for_access rejects the view.STRING
HIGH…ice/semantic_layer/tool/test_get_compatible_metrics.py0returns accessdenied when raise_for_access rejects the view.STRING
HIGH…t_tests/mcp_service/dataset/tool/test_dataset_tools.py0test that minimal default columns are properly defined.STRING
HIGH…/unit_tests/mcp_service/chart/tool/test_list_charts.py0test that minimal default columns are properly defined.STRING
HIGH…sts/mcp_service/dashboard/tool/test_dashboard_tools.py0test that minimal default columns are properly defined.STRING
HIGH…p_service/dashboard/tool/test_manage_native_filters.py0return the fastmcp app instance for use in mcp client tests.STRING
HIGH…dashboard/tool/test_add_chart_to_existing_dashboard.py0return the fastmcp app instance for use in mcp client tests.STRING
HIGH…ice/dashboard/tool/test_remove_chart_from_dashboard.py0return the fastmcp app instance for use in mcp client tests.STRING
HIGH…mcp_service/dashboard/tool/test_duplicate_dashboard.py0return the fastmcp app instance for use in mcp client tests.STRING
HIGH…dashboard/tool/test_add_chart_to_existing_dashboard.py0create a minimal mock slice object with the given id and name.STRING
HIGH…ice/dashboard/tool/test_remove_chart_from_dashboard.py0create a minimal mock slice object with the given id and name.STRING
HIGH…mcp_service/dashboard/tool/test_duplicate_dashboard.py0create a minimal mock slice object with the given id and name.STRING
HIGHtests/unit_tests/db_engine_specs/test_snowflake.py0test the ``adjust_engine_params`` method when the url has catalog and schema.STRING
HIGHtests/unit_tests/db_engine_specs/test_presto.py0test the ``adjust_engine_params`` method when the url has catalog and schema.STRING
HIGHtests/unit_tests/db_engine_specs/test_trino.py0test the ``adjust_engine_params`` method when the url has catalog and schema.STRING
HIGHtests/unit_tests/db_engine_specs/test_snowflake.py0test the ``adjust_engine_params`` method when the url has only the catalog.STRING
HIGHtests/unit_tests/db_engine_specs/test_presto.py0test the ``adjust_engine_params`` method when the url has only the catalog.STRING
HIGHtests/unit_tests/db_engine_specs/test_trino.py0test the ``adjust_engine_params`` method when the url has only the catalog.STRING
HIGHtests/unit_tests/db_engine_specs/test_snowflake.py0test that the private key is masked when the database is edited.STRING
HIGHtests/unit_tests/db_engine_specs/test_bigquery.py0test that the private key is masked when the database is edited.STRING
HIGHtests/unit_tests/db_engine_specs/test_datastore.py0test that the private key is masked when the database is edited.STRING
HIGHtests/unit_tests/db_engine_specs/test_base.py0test that the private key is masked when the database is edited.STRING
HIGHtests/unit_tests/db_engine_specs/test_gsheets.py0test that the private key is masked when the database is edited.STRING
HIGHtests/unit_tests/db_engine_specs/test_databricks.py0test that the result from ``get_parameters_from_uri`` is json serializable.STRING
HIGHtests/unit_tests/db_engine_specs/test_bigquery.py0test that the result from ``get_parameters_from_uri`` is json serializable.STRING
HIGHtests/unit_tests/db_engine_specs/test_datastore.py0test that the result from ``get_parameters_from_uri`` is json serializable.STRING
HIGHtests/unit_tests/db_engine_specs/test_databricks.py0test that custom error messages are extracted correctly.STRING
HIGHtests/unit_tests/db_engine_specs/test_athena.py0test that custom error messages are extracted correctly.STRING
HIGHtests/unit_tests/db_engine_specs/test_mssql.py0test that custom error messages are extracted correctly.STRING
HIGH…ts/integration_tests/db_engine_specs/postgres_tests.py0test that custom error messages are extracted correctly.STRING
HIGHtests/integration_tests/db_engine_specs/mysql_tests.py0test that custom error messages are extracted correctly.STRING
HIGH…ts/integration_tests/db_engine_specs/redshift_tests.py0test that custom error messages are extracted correctly.STRING
HIGH…sts/integration_tests/db_engine_specs/gsheets_tests.py0test that custom error messages are extracted correctly.STRING
152 more matches not shown…
Unused Imports1026 hits · 914 pts
SeverityFileLineSnippetContext
LOWdocker/pythonpath_dev/superset_config_docker_light.py25CODE
LOWdocker/pythonpath_dev/superset_config.py134CODE
LOWdocker/pythonpath_dev/superset_config.py144CODE
LOWdocker/pythonpath_dev/superset_test_config_light.py26CODE
LOWsuperset-core/src/superset_core/tasks/models.py28CODE
LOWsuperset-core/src/superset_core/tasks/models.py37CODE
LOWsuperset-core/src/superset_core/tasks/types.py18CODE
LOWsuperset-core/src/superset_core/tasks/decorators.py18CODE
LOWsuperset-core/src/superset_core/tasks/decorators.py25CODE
LOW…erset-core/src/superset_core/semantic_layers/config.py18CODE
LOW…erset-core/src/superset_core/semantic_layers/models.py32CODE
LOWsuperset-core/src/superset_core/semantic_layers/daos.py32CODE
LOW…perset-core/src/superset_core/semantic_layers/types.py18CODE
LOWsuperset-core/src/superset_core/semantic_layers/view.py18CODE
LOW…perset-core/src/superset_core/semantic_layers/layer.py18CODE
LOW…perset-core/src/superset_core/semantic_layers/layer.py24CODE
LOW…t-core/src/superset_core/semantic_layers/decorators.py42CODE
LOWsuperset-core/src/superset_core/queries/models.py28CODE
LOWsuperset-core/src/superset_core/queries/query.py35CODE
LOWsuperset-core/src/superset_core/queries/types.py25CODE
LOWsuperset-core/src/superset_core/extensions/types.py26CODE
LOWsuperset-core/src/superset_core/common/models.py33CODE
LOWsuperset-core/src/superset_core/common/models.py43CODE
LOWsuperset-core/src/superset_core/common/models.py43CODE
LOWsuperset-core/src/superset_core/common/models.py43CODE
LOWsuperset-core/src/superset_core/rest_api/decorators.py36CODE
LOWtests/conftest.py26CODE
LOWtests/unit_tests/jinja_context_test.py18CODE
LOWtests/unit_tests/legacy_tests.py23CODE
LOWtests/unit_tests/test_marshmallow4_compat.py157CODE
LOWtests/unit_tests/test_sqllab_error_stacktrace.py43CODE
LOW…s/unit_tests/middleware/test_legacy_prefix_redirect.py35CODE
LOWtests/unit_tests/databases/api_test.py20CODE
LOWtests/unit_tests/tasks/test_native_filter_cache.py17CODE
LOW…t_tests/security/test_guest_token_dataset_allowlist.py23CODE
LOWtests/unit_tests/security/guest_rls_test.py25CODE
LOWtests/unit_tests/dao/role_test.py17CODE
LOWtests/unit_tests/dao/user_test.py17CODE
LOWtests/unit_tests/dao/user_test.py29CODE
LOWtests/unit_tests/dao/group_test.py17CODE
LOWtests/unit_tests/dao/subject_test.py17CODE
LOWtests/unit_tests/dao/key_value_test.py18CODE
LOWtests/unit_tests/dao/key_value_test.py41CODE
LOWtests/unit_tests/semantic_layers/decorators_test.py18CODE
LOWtests/unit_tests/semantic_layers/models_test.py20CODE
LOWtests/unit_tests/semantic_layers/dao_test.py20CODE
LOWtests/unit_tests/semantic_layers/types_test.py18CODE
LOWtests/unit_tests/charts/test_chart_data_api.py17CODE
LOW…sts/unit_tests/charts/test_dashboard_filter_context.py17CODE
LOWtests/unit_tests/models/test_no_filter_time_range.py19CODE
LOW…sts/unit_tests/models/multi_space_column_names_test.py31CODE
LOWtests/unit_tests/models/test_soft_delete_mixin.py26CODE
LOWtests/unit_tests/models/core_test.py1303CODE
LOWtests/unit_tests/models/helpers_test.py20CODE
LOWtests/unit_tests/models/helpers_test.py39CODE
LOW…t_tests/models/test_core_database_password_encoding.py20CODE
LOW…s/unit_tests/models/test_double_rls_virtual_dataset.py25CODE
LOW…it_tests/models/test_time_filter_double_application.py19CODE
LOWtests/unit_tests/models/test_virtual_dataset_format.py33CODE
LOWtests/unit_tests/models/test_time_filter_hour_offset.py19CODE
966 more matches not shown…
Self-Referential Comments194 hits · 606 pts
SeverityFileLineSnippetContext
MEDIUMdocker/docker-init.sh51# Create an admin userCOMMENT
MEDIUMdocker/pythonpath_dev/superset_config.py18# This file is included in the final Docker image and SHOULD be overridden whenCOMMENT
MEDIUMtests/unit_tests/connectors/sqla/models_test.py862 # Create a Postgres-like engine to test proper quotingCOMMENT
MEDIUMtests/unit_tests/connectors/sqla/models_test.py899 # Create a PostgreSQL engine (doesn't support cross-catalog queries)COMMENT
MEDIUMtests/unit_tests/connectors/sqla/models_test.py1050 # Create a mock slice whose get_query_context raises DatasourceNotFoundCOMMENT
MEDIUMtests/unit_tests/pandas_postprocessing/test_compare.py194 # Define a non-lexicographical column orderCOMMENT
MEDIUMtests/unit_tests/databases/api_test.py626 # Create a mock objectCOMMENT
MEDIUMtests/unit_tests/databases/api_test.py2431 # Create a database with a non-default configuration_methodCOMMENT
MEDIUMtests/unit_tests/security/manager_test.py2210 # Create a mock table where .data raises an exception if accessedCOMMENT
MEDIUMtests/unit_tests/dao/tag_test.py150 # Define a list of objects to tagCOMMENT
MEDIUMtests/unit_tests/semantic_layers/mapper_test.py1820 # Create main dataframeCOMMENT
MEDIUMtests/unit_tests/utils/test_date_parsing.py197 # Create a DataFrame with string values representing dates that areCOMMENT
MEDIUMtests/unit_tests/utils/test_date_parsing.py202 # Create a mock type that raises ValueError when pd.Timestamp is called on itCOMMENT
MEDIUMtests/unit_tests/utils/test_core.py501 # Create a mock SQLAlchemy database objectCOMMENT
MEDIUMtests/unit_tests/utils/test_core.py504 # Define the table name and constraint detailsCOMMENT
MEDIUMtests/unit_tests/utils/test_core.py510 # Create a mock table object with the same structureCOMMENT
MEDIUMtests/unit_tests/utils/test_core.py515 # Create a mock for the referred_table with a name attributeCOMMENT
MEDIUMtests/unit_tests/utils/test_core.py519 # Create a mock for the foreign key constraint with a name attributeCOMMENT
MEDIUMtests/unit_tests/utils/test_core.py544 # Create a mock SQLAlchemy database objectCOMMENT
MEDIUMtests/unit_tests/utils/test_core.py547 # Define the table name and constraint detailsCOMMENT
MEDIUMtests/unit_tests/utils/test_core.py552 # Create a mock table object with the same structure but no matching constraintCOMMENT
MEDIUMtests/unit_tests/utils/test_core.py409 # Create a DataFrame with timestamp stringsCOMMENT
MEDIUMtests/unit_tests/utils/test_core.py576 # Create a mock for the foreign key constraint as a dictionaryCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py384 # Create a mock table for testingCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py415 # Create a condition factory that always returns TrueCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py476 # Create a mock table for testingCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py493 # Create a condition factory that always returns FalseCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py539 # Create a real table instanceCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py637 # Create a table instanceCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py902 # Create a mock template processorCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1256 # Create a mock template processorCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1386 # Create a simple queryCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1442 # Create a simple queryCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1492 # Create a query with GROUP BYCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1553 # Create a simple queryCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1598 # Create a simple queryCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1760 # Create a table with a temporal columnCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1843 # Create a mock SqlaTable with columnsCOMMENT
MEDIUM…it_tests/models/test_time_filter_double_application.py54 # Create a virtual dataset that uses get_time_filter withCOMMENT
MEDIUM…it_tests/models/test_time_filter_double_application.py93 # Create a query object with a time filterSTRING
MEDIUMtests/unit_tests/tags/models_test.py154 # Create an existing tagCOMMENT
MEDIUMtests/unit_tests/tags/commands/create_test.py77 # Define a list of objects to tagCOMMENT
MEDIUMtests/unit_tests/tags/commands/create_test.py120 # Define a list of objects to tagCOMMENT
MEDIUMtests/unit_tests/tags/commands/update_test.py237 # Create a tag with multiple objectsCOMMENT
MEDIUMtests/unit_tests/mcp_service/chart/test_chart_utils.py1302 # Create a time series chart configurationCOMMENT
MEDIUM…it_tests/mcp_service/chart/tool/test_generate_chart.py145 # Create a validation error with the correct structureCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py597 # Create a dataframe for testingCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py606 # Create a properly mocked datasourceCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py1196 # Create a mock query contextCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py1201 # Create a mock datasourceCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py49 # Create a processor instanceCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py532 # Create a dataframe for testingCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py1041 # Create a mock datasourceCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py1215 # Create a query object with unsanitized where clauseCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py1282 # Create a mock datasourceCOMMENT
MEDIUMtests/unit_tests/db_engine_specs/test_snowflake.py363 # Create a mock SQLAlchemy columnCOMMENT
MEDIUMtests/unit_tests/db_engine_specs/test_athena.py101 # Create a mock SQLAlchemy columnCOMMENT
MEDIUMtests/unit_tests/db_engine_specs/test_base.py492 # Create a mock SQLAlchemy columnCOMMENT
MEDIUMtests/unit_tests/db_engine_specs/test_base.py511 # Create a test engine spec that uses equalityCOMMENT
MEDIUMtests/unit_tests/examples/data_loading_test.py178 # Create a simple example with data.parquet and dataset.yamlCOMMENT
134 more matches not shown…
Modern Structural Boilerplate549 hits · 554 pts
SeverityFileLineSnippetContext
LOWsuperset-core/src/superset_core/tasks/models.py91 def set_payload(self, data: dict[str, Any]) -> None:CODE
LOWsuperset-core/src/superset_core/tasks/models.py123 def update_properties(self, updates: "TaskProperties") -> None:CODE
LOWsuperset-core/src/superset_core/tasks/models.py166__all__ = [CODE
LOWsuperset-core/src/superset_core/tasks/daos.py76__all__ = ["TaskDAO"]CODE
LOWsuperset-core/src/superset_core/tasks/types.py231__all__ = [CODE
LOWsuperset-core/src/superset_core/tasks/decorators.py149__all__ = [CODE
LOW…erset-core/src/superset_core/semantic_layers/models.py85__all__ = ["SemanticLayerModel", "SemanticViewModel"]CODE
LOWsuperset-core/src/superset_core/semantic_layers/daos.py169__all__ = ["AbstractSemanticLayerDAO", "AbstractSemanticViewDAO"]CODE
LOW…t-core/src/superset_core/semantic_layers/decorators.py102__all__ = ["semantic_layer"]CODE
LOWsuperset-core/src/superset_core/queries/models.py76__all__ = [CODE
LOWsuperset-core/src/superset_core/queries/query.py51__all__ = ["get_sqlglot_dialect"]CODE
LOWsuperset-core/src/superset_core/queries/daos.py60__all__ = [CODE
LOWsuperset-core/src/superset_core/queries/types.py170__all__ = [CODE
LOWsuperset-core/src/superset_core/mcp/decorators.py188__all__ = [CODE
LOWsuperset-core/src/superset_core/common/models.py395__all__ = [CODE
LOWsuperset-core/src/superset_core/rest_api/api.py32__all__ = ["RestApi"]CODE
LOWsuperset-core/src/superset_core/rest_api/decorators.py103__all__ = ["api"]CODE
LOWtests/unit_tests/security/test_password_change.py133 def _set_user() -> None: # pylint: disable=unused-variableCODE
LOWtests/unit_tests/models/test_virtual_dataset_format.py71def _set_virtual_sql(datasource: MagicMock, sql: str) -> None:CODE
LOWtests/unit_tests/mcp_service/rls/tool/test_rls_tools.py30logger = logging.getLogger(__name__)CODE
LOW…tests/mcp_service/database/tool/test_database_tools.py34logger = logging.getLogger(__name__)CODE
LOW…t_tests/mcp_service/dataset/tool/test_dataset_tools.py47logger = logging.getLogger(__name__)CODE
LOW…mcp_service/saved_query/tool/test_saved_query_tools.py36logger = logging.getLogger(__name__)CODE
LOW…e/annotation_layer/tool/test_annotation_layer_tools.py39logger = logging.getLogger(__name__)CODE
LOW…mcp_service/explore/tool/test_generate_explore_link.py50logger = logging.getLogger(__name__)CODE
LOW…p_service/dashboard/tool/test_manage_native_filters.py53logger = logging.getLogger(__name__)CODE
LOW…dashboard/tool/test_add_chart_to_existing_dashboard.py44logger = logging.getLogger(__name__)CODE
LOW…sts/mcp_service/dashboard/tool/test_dashboard_tools.py45logger = logging.getLogger(__name__)CODE
LOW…cp_service/dashboard/tool/test_dashboard_generation.py46logger = logging.getLogger(__name__)CODE
LOW…ice/dashboard/tool/test_remove_chart_from_dashboard.py53logger = logging.getLogger(__name__)CODE
LOW…mcp_service/dashboard/tool/test_duplicate_dashboard.py56logger = logging.getLogger(__name__)CODE
LOW…nit_tests/mcp_service/sql_lab/tool/test_execute_sql.py40logger = logging.getLogger(__name__)CODE
LOW…nit_tests/mcp_service/report/tool/test_report_tools.py31logger = logging.getLogger(__name__)CODE
LOW…/unit_tests/mcp_service/query/tool/test_query_tools.py35logger = logging.getLogger(__name__)CODE
LOWtests/unit_tests/mcp_service/tag/tool/test_tag_tools.py31logger = logging.getLogger(__name__)CODE
LOWtests/unit_tests/commands/report/update_test.py58def _setup_mocks(mocker: MockerFixture, model: Mock) -> None:CODE
LOWtests/unit_tests/sql/execution/test_executor.py736 def set_query_id(query: Any) -> None:CODE
LOWtests/integration_tests/core_tests.py74logger = logging.getLogger(__name__)CODE
LOWtests/integration_tests/viz_tests.py37logger = logging.getLogger(__name__)CODE
LOWtests/integration_tests/cli_tests.py42logger = logging.getLogger(__name__)CODE
LOWtests/integration_tests/email_tests.py36logger = logging.getLogger(__name__)CODE
LOWtests/integration_tests/security/migrate_roles_tests.py36logger = logging.getLogger(__name__)CODE
LOW…tegration_tests/security/session_invalidation_tests.py42 def _set_active(self, active: bool) -> None:CODE
LOW…s/integration_tests/dashboards/dashboard_test_utils.py30logger = logging.getLogger(__name__)CODE
LOW…/integration_tests/dashboards/superset_factory_util.py41logger = logging.getLogger(__name__)CODE
LOW…generator/birth_names/birth_names_generator_factory.py40 def set_instance(cls, factory: BirthNamesGeneratorFactory) -> None:CODE
LOWscripts/benchmark_migration.py39logger = logging.getLogger(__name__)CODE
LOWsuperset/config.py72logger = logging.getLogger(__name__)CODE
LOWsuperset/stats_logger.py22logger = logging.getLogger(__name__)CODE
LOWsuperset/legacy.py22def update_time_range(form_data: dict[str, Any]) -> None:CODE
LOWsuperset/dataframe.py26logger = logging.getLogger(__name__)CODE
LOWsuperset/marshmallow_compatibility.py35logger = logging.getLogger(__name__)CODE
LOWsuperset/sql_lab.py76logger = logging.getLogger(__name__)CODE
LOWsuperset/app.py49logger = logging.getLogger(__name__)CODE
LOWsuperset/result_set.py33logger = logging.getLogger(__name__)CODE
LOWsuperset/viz.py92logger = logging.getLogger(__name__)CODE
LOWsuperset/viz.py1876 def _setup_metric_label(self) -> None:CODE
LOWsuperset/jinja_context.py66logger = logging.getLogger(__name__)CODE
LOWsuperset/jinja_context.py791 def set_context(self, **kwargs: Any) -> None:CODE
LOWsuperset/jinja_context.py903 def set_context(self, **kwargs: Any) -> None:CODE
489 more matches not shown…
Excessive Try-Catch Wrapping515 hits · 530 pts
SeverityFileLineSnippetContext
LOWsetup.py35 except Exception: # pylint: disable=broad-exceptCODE
MEDIUMsetup.py31def get_git_sha() -> str:CODE
LOWtests/unit_tests/server/test_gunicorn_gevent_smoke.py117 except Exception as ex: # noqa: BLE001CODE
LOWtests/unit_tests/utils/test_core.py1692 except Exception:CODE
LOWtests/unit_tests/utils/test_core.py1699 except Exception:CODE
MEDIUMtests/unit_tests/models/core_test.py985def worker() -> None:CODE
MEDIUMtests/unit_tests/models/core_test.py1963def thread_a() -> None:CODE
MEDIUMtests/unit_tests/models/core_test.py1974def thread_b() -> None:CODE
LOWtests/unit_tests/models/core_test.py991 except Exception as ex: # pylint: disable=broad-exceptCODE
LOWtests/unit_tests/models/core_test.py1229 except Exception:CODE
LOWtests/unit_tests/models/core_test.py1968 except Exception as ex: # pylint: disable=broad-exceptCODE
LOWtests/unit_tests/models/core_test.py1982 except Exception as ex: # pylint: disable=broad-exceptCODE
LOWtests/unit_tests/extensions/test_sqlalchemy.py136 except Exception as e:CODE
LOWtests/unit_tests/extensions/test_sqlalchemy.py177 except Exception as e:CODE
LOWtests/unit_tests/extensions/test_sqlalchemy.py212 except Exception as e:CODE
LOWtests/unit_tests/extensions/test_sqlalchemy.py256 except Exception as e:STRING
LOWtests/unit_tests/extensions/test_sqlalchemy.py323 except Exception as e:CODE
LOWtests/unit_tests/extensions/test_sqlalchemy.py357 except Exception as e:CODE
LOWtests/unit_tests/commands/dataset/update_test.py836 except Exception as e:CODE
LOWtests/unit_tests/commands/dataset/update_test.py880 except Exception as e:CODE
LOWtests/unit_tests/commands/dataset/update_test.py939 except Exception as e:CODE
LOWtests/unit_tests/commands/dataset/update_test.py1002 except Exception as e:CODE
LOWtests/unit_tests/commands/dataset/update_test.py1043 except Exception as e:CODE
LOWtests/unit_tests/commands/dataset/update_test.py1091 except Exception as e:CODE
LOWtests/unit_tests/commands/dataset/update_test.py1116 except Exception as e:CODE
LOWtests/integration_tests/conftest.py128 except Exception: # noqa: S110CODE
LOWtests/integration_tests/tasks/api_tests.py110 except Exception: # noqa: S110CODE
LOWtests/integration_tests/tasks/api_tests.py115 except Exception:CODE
LOW…sts/integration_tests/tags/mysql_compatibility_test.py263 except Exception as e:CODE
LOW…integration_tests/dashboards/test_theme_integration.py82 except Exception:CODE
LOW…integration_tests/dashboards/test_theme_integration.py329 except Exception:CODE
MEDIUM…/integration_tests/dashboards/superset_factory_util.py200def delete_all_inserted_dashboards():CODE
MEDIUM…/integration_tests/dashboards/superset_factory_util.py264def delete_all_inserted_slices():CODE
MEDIUM…/integration_tests/dashboards/superset_factory_util.py303def delete_all_inserted_tables():CODE
MEDIUM…/integration_tests/dashboards/superset_factory_util.py342def delete_all_inserted_dbs():CODE
LOW…/integration_tests/dashboards/superset_factory_util.py213 except Exception:CODE
LOW…/integration_tests/dashboards/superset_factory_util.py219 except Exception:CODE
LOW…/integration_tests/dashboards/superset_factory_util.py278 except Exception:CODE
LOW…/integration_tests/dashboards/superset_factory_util.py284 except Exception:CODE
LOW…/integration_tests/dashboards/superset_factory_util.py317 except Exception:CODE
LOW…/integration_tests/dashboards/superset_factory_util.py323 except Exception:CODE
LOW…/integration_tests/dashboards/superset_factory_util.py352 except Exception:CODE
LOW…/integration_tests/dashboards/superset_factory_util.py358 except Exception:CODE
LOW…integration_tests/themes/test_theme_api_permissions.py66 except Exception:CODE
LOW…integration_tests/themes/test_theme_api_permissions.py71 except Exception:CODE
LOWtests/integration_tests/reports/utils.py222 except Exception as ex: # pylint: disable=broad-exceptCODE
LOW…rsion-6.1.0/guidelines/backend/dao-style-guidelines.md251 except Exception:CODE
LOW…eloper_docs/guidelines/backend/dao-style-guidelines.md251 except Exception:CODE
MEDIUMdocs/scripts/fix-openapi-spec.py795 print(f"Error: OpenAPI spec not found at {spec_path}", file=sys.stderr)CODE
MEDIUMdocs/scripts/extract_custom_errors.py182 print(f"Error parsing {filepath}: {e}", file=sys.stderr)CODE
MEDIUMdocs/scripts/extract_custom_errors.py274 print(f"Error: Engine specs directory not found: {specs_dir}", file=sys.stderr)CODE
LOWscripts/benchmark_migration.py203 except Exception:CODE
LOWsuperset/config.py130 except Exception: # pylint: disable=broad-exceptCODE
LOWsuperset/config.py138 except Exception: # pylint: disable=broad-exceptCODE
LOWsuperset/config.py3053 except Exception:CODE
LOWsuperset/config.py3068 except Exception:CODE
LOWsuperset/stats_logger.py108except Exception as e: # pylint: disable=broad-except # noqa: S110CODE
LOWsuperset/sql_lab.py162 except Exception as ex:CODE
LOWsuperset/sql_lab.py198 except Exception as ex: # pylint: disable=broad-exceptCODE
LOWsuperset/sql_lab.py328 except Exception as ex:CODE
455 more matches not shown…
Cross-Language Confusion60 hits · 296 pts
SeverityFileLineSnippetContext
HIGHtests/unit_tests/sql_lab_test.py202 app_context.push()CODE
HIGHtests/unit_tests/pandas_postprocessing/test_cum.py39 assert _timeseries_df.equals(timeseries_df)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_cum.py122 assert cum_and_flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_cum.py168 assert flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_rolling.py40 assert _timeseries_df.equals(timeseries_df)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_rolling.py161 assert flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_rolling.py212 assert flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py34 assert _timeseries_df.equals(timeseries_df)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py49 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py72 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py95 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py120 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py194 assert flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py241 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_sort.py49 assert df.equals(timeseries_df)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_rename.py34 assert _categories_df.equals(categories_df)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_rename.py54 assert not new_categories_df.equals(categories_df)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_rename.py67 assert _categories_df_inplaced.equals(_categories_df)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py36 assert _timeseries_df2.equals(timeseries_df2)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py54 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py74 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py100 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py128 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py170 assert flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py234 assert flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py286 assert flat_df.equals(CODE
HIGHtests/unit_tests/databases/schema_tests.py491 (e.g. {"metadata_cache_timeout": {"schema_cache_timeout": null}}). ImportSTRING
HIGH…it_tests/datasets/commands/importers/v1/import_test.py192 assert sqla_table.metrics[0].extra == '{"warning_markdown": null}'CODE
HIGH…it_tests/datasets/commands/importers/v1/import_test.py662 assert sqla_table.metrics[0].extra == '{"warning_markdown": null}'CODE
HIGH…it_tests/datasets/commands/importers/v1/import_test.py724 "extra": '{"warning_markdown": null}',CODE
HIGH…it_tests/datasets/commands/importers/v1/import_test.py752 assert sqla_table.metrics[0].extra == '{"warning_markdown": null}'CODE
HIGHtests/unit_tests/charts/test_client_processing.py2836 ) # Second data row should have empty last_name (NA converted to null)STRING
HIGHtests/unit_tests/db_engine_specs/test_druid.py129 real numbers must keep their numeric type (specials become null).STRING
HIGHtests/unit_tests/examples/utils_test.py125 # Verify schema normalization happened (main -> null)COMMENT
HIGH…s/scripts/translations/build_translation_index_test.py222 """Empty plural forms across the board → null, not an empty dict."""STRING
HIGH…ts/unit_tests/scripts/translations/backfill_po_test.py94 Non-object JSON (list, string, null, number) must raise ValueError soSTRING
HIGHtests/unit_tests/sql/dialects/vertica_tests.py69 sql = "SELECT a::INT, b || c FROM t WHERE d ~ '^foo'"CODE
HIGHtests/unit_tests/sql/dialects/vertica_tests.py74 assert regenerated == "SELECT CAST(a AS INT), b || c FROM t WHERE d ~ '^foo'"CODE
HIGHtests/integration_tests/model_tests.py475 else "state || gender || '_test'"STRING
HIGHtests/integration_tests/sqla_models_tests.py1148 assert df.equals(result.df)CODE
HIGHtests/integration_tests/query_context_tests.py1303 assert df.equals(CODE
HIGHtests/integration_tests/query_context_tests.py1355 assert df.equals(CODE
HIGHtests/integration_tests/utils/hashing_tests.py166 '{"company": "Gobias Industries", "price": null, "product": "Coffee"}'CODE
HIGHtests/integration_tests/utils/hashing_tests.py193 '{"company": "Gobias Industries", "price": null, "product": "Coffee"}'CODE
HIGHtests/integration_tests/db_engine_specs/presto_tests.py373 {"row_column": "[[null]]"},CODE
HIGHtests/integration_tests/db_engine_specs/presto_tests.py374 {"row_column": "[null]"},CODE
HIGHscripts/translations/backfill_po.py355 # response (list, scalar, null) must surface as ValueError rather thanCOMMENT
HIGHsuperset/databases/schemas.py286 # rejects null) and avoiding a stored ``null`` that would break theCOMMENT
HIGHsuperset/charts/schemas.py445 "metrics have a unique identifier. If undefined, a random name"CODE
HIGHsuperset/charts/schemas.py785 "When metrics is undefined or null, the query is executed without a groupby. " # noqa: E501CODE
HIGHsuperset/utils/encrypt.py526 target form), null, and failed (undecryptable) outcomes. If anySTRING
HIGHsuperset/utils/encrypt.py555 " %d null, %d failed",CODE
HIGHsuperset/utils/encrypt.py558 stats.null,CODE
HIGHsuperset/utils/screenshot_utils.py162 if (r.top < window.innerHeight && r.bottom > 0) {STRING
HIGHsuperset/utils/core.py1528 current user (which may be undefined) to different one, execute some SQLAlchemySTRING
HIGHsuperset/utils/webdriver.py53 "pip install playwright && playwright install chromium"CODE
HIGHsuperset/utils/pandas_postprocessing/select.py37 If left undefined, all columns will be selected. If columns areSTRING
HIGHsuperset/cli/update.py159 f"{stats.skipped} skipped, {stats.null} null, {stats.failed} failed.",CODE
HIGHsuperset/mcp_service/chart/tool/get_chart_data.py455 # Only use if it's actually a dict (not null, list, etc.)COMMENT
HIGHsuperset/versioning/diff.py294 * ``edit`` — both populated (or both null, which shouldn't reach here).STRING
Deep Nesting319 hits · 282 pts
SeverityFileLineSnippetContext
LOWtests/unit_tests/initialization_test.py228CODE
LOW…/unit_tests/distributed_lock/distributed_lock_tests.py63CODE
LOW…/unit_tests/distributed_lock/distributed_lock_tests.py93CODE
LOWtests/unit_tests/server/test_gunicorn_gevent_smoke.py63CODE
LOWtests/unit_tests/utils/date_parser_tests.py42CODE
LOWtests/unit_tests/models/core_test.py946CODE
LOWtests/unit_tests/models/core_test.py985CODE
LOWtests/unit_tests/mcp_service/test_auth_api_key.py146CODE
LOWtests/unit_tests/mcp_service/test_auth_api_key.py188CODE
LOW…ts/unit_tests/mcp_service/test_auth_user_resolution.py264CODE
LOWtests/unit_tests/mcp_service/test_mcp_caching.py158CODE
LOWtests/unit_tests/mcp_service/test_mcp_storage.py61CODE
LOW…it_tests/mcp_service/chart/tool/test_get_chart_data.py97CODE
LOW…t_tests/mcp_service/sql_lab/test_execute_sql_helper.py26CODE
LOWtests/unit_tests/common/test_query_context_processor.py526CODE
LOWtests/unit_tests/common/test_query_context_processor.py592CODE
LOWtests/unit_tests/common/test_query_context_processor.py1642CODE
LOWtests/unit_tests/common/test_query_context_processor.py1712CODE
LOWtests/unit_tests/common/test_query_context_processor.py1772CODE
LOWtests/unit_tests/commands/databases/csv_reader_test.py1260CODE
LOWtests/unit_tests/commands/dataset/test_duplicate.py77CODE
LOWtests/unit_tests/commands/dataset/test_duplicate.py170CODE
LOWtests/unit_tests/commands/dataset/test_duplicate.py261CODE
LOWtests/unit_tests/commands/dataset/test_duplicate.py300CODE
LOWtests/unit_tests/commands/dataset/test_duplicate.py342CODE
LOWtests/unit_tests/commands/dataset/test_duplicate.py450CODE
LOWtests/unit_tests/commands/dataset/test_create.py29CODE
LOWtests/unit_tests/commands/dataset/test_create.py78CODE
LOWtests/unit_tests/commands/dataset/test_create.py140CODE
LOWtests/unit_tests/commands/dataset/test_create.py176CODE
LOWtests/unit_tests/commands/dataset/test_create.py217CODE
LOWtests/unit_tests/commands/chart/test_access_checks.py43CODE
LOWtests/unit_tests/commands/chart/test_access_checks.py72CODE
LOWtests/unit_tests/commands/chart/test_access_checks.py103CODE
LOWtests/unit_tests/commands/chart/test_access_checks.py144CODE
LOWtests/integration_tests/base_tests.py688CODE
LOWtests/integration_tests/datasource_tests.py389CODE
LOWtests/integration_tests/tasks/commands/test_cancel.py342CODE
LOWtests/integration_tests/tasks/commands/test_cancel.py379CODE
LOWtests/integration_tests/tasks/commands/test_cancel.py453CODE
LOWtests/integration_tests/charts/data/api_tests.py1629CODE
LOWtests/integration_tests/dashboards/api_tests.py2965CODE
LOWdocs/scripts/fix-openapi-spec.py327CODE
LOWdocs/scripts/fix-openapi-spec.py548CODE
LOWdocs/scripts/fix-openapi-spec.py652CODE
LOWdocs/scripts/fix-openapi-spec.py711CODE
LOWdocs/scripts/fix-openapi-spec.py746CODE
LOWdocs/scripts/extract_custom_errors.py119CODE
LOWdocs/scripts/extract_custom_errors.py139CODE
LOWscripts/cypress_run.py106CODE
LOWscripts/extract_feature_flags.py50CODE
LOWscripts/extract_feature_flags.py118CODE
LOWscripts/benchmark_migration.py73CODE
LOWscripts/benchmark_migration.py141CODE
LOWscripts/translations/build_translation_index.py76CODE
LOWsuperset/sql_lab.py253CODE
LOWsuperset/sql_lab.py391CODE
LOWsuperset/result_set.py70CODE
LOWsuperset/result_set.py177CODE
LOWsuperset/viz.py201CODE
259 more matches not shown…
Redundant / Tautological Comments146 hits · 231 pts
SeverityFileLineSnippetContext
LOWdocker/frontend-mem-nag.sh26 # Check if running in Codespaces firstCOMMENT
LOWdocker/docker-pytest-entrypoint.sh89# Check if test database existsCOMMENT
LOWtests/unit_tests/tasks/test_handlers.py562 # Set task to SUCCESS (not aborting) so only cleanup handlers runCOMMENT
LOWtests/unit_tests/tasks/test_handlers.py614 # Set task to ABORTING so both abort and cleanup handlers runCOMMENT
LOWtests/unit_tests/security/manager_test.py563 # Check if Alpha role already existsCOMMENT
LOWtests/unit_tests/security/manager_test.py570 # Check if user already existsCOMMENT
LOWtests/unit_tests/dao/base_dao_test.py205 # Set model_cls to None but allow method to proceed past guard clauseCOMMENT
LOWtests/unit_tests/utils/test_screenshot_cache_fix.py224 # Set TTL to 300 secondsCOMMENT
LOWtests/unit_tests/utils/test_screenshot_cache_fix.py239 # Set TTL to 300 secondsCOMMENT
LOW…it_tests/models/test_time_filter_double_application.py135 # Check if there's a WHERE clause after the subquery closesSTRING
LOW…it_tests/models/test_time_filter_double_application.py358 # Check if there's a WHERE clause after the subquerySTRING
LOW…s/unit_tests/mcp_service/test_mcp_tool_registration.py104 # Check if it has any .py files in it or its subdirectoriesCOMMENT
LOW…t_tests/mcp_service/sql_lab/test_execute_sql_helper.py36 # Check if it's a Pydantic model with model_dumpCOMMENT
LOWtests/unit_tests/db_engine_specs/test_trino.py560 # Set stats to FINISHED so the progress loop exits immediatelyCOMMENT
LOWtests/unit_tests/commands/databases/csv_reader_test.py262 # Check if both values are NaNCOMMENT
LOW…sts/unit_tests/commands/databases/excel_reader_test.py185 # Check if both values are NaNCOMMENT
LOW…/unit_tests/commands/databases/columnar_reader_test.py129 # Check if both values are NaNCOMMENT
LOWtests/unit_tests/sql/execution/test_celery_task.py84 # Set end_time to trigger the branch skipCOMMENT
LOWtests/integration_tests/tasks/test_event_handlers.py251 # Set status to ABORTING (simulating CancelTaskCommand)COMMENT
LOW…integration_tests/dashboards/test_theme_integration.py89 # Assign theme to dashboardCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py100 # Assign theme to dashboardCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py332 # Set theme to None so tearDown doesn't try to delete itCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py157 # Assign theme to dashboardCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py182 # Assign theme to dashboardCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py211 # Assign theme to dashboardCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py231 # Set theme to None so tearDown doesn't try to delete itCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py251 # Assign theme to both dashboardsCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py374 # Assign theme to dashboardCOMMENT
LOWdocs/scripts/fix-openapi-spec.py467 # Check if endpoint has a request bodyCOMMENT
LOWdocs/scripts/fix-openapi-spec.py504 # Check if already configuredCOMMENT
LOWdocs/scripts/fix-openapi-spec.py780 # Check if this suffix is already in the summaryCOMMENT
LOW.devcontainer/start-superset.sh7# Check if MCP is enabledCOMMENT
LOW.devcontainer/start-superset.sh21# Check if docker is runningCOMMENT
LOWscripts/docker-compose-up.sh131# Check if containers are running and get actual ports, otherwise use available portsCOMMENT
LOWscripts/change_detector.py146 # Output resultsCOMMENT
LOW.github/workflows/bashlib.sh347 # Check if there are any test files in the specified pathCOMMENT
LOWsuperset/config.py2989# Set CACHE_TYPE to 'RedisCache' for standard Redis or 'RedisSentinelCache' forCOMMENT
LOWsuperset/sql_lab.py515 # Check if stoppedCOMMENT
LOWsuperset/app.py191 # Check if database is up-to-date with migrationsCOMMENT
LOWsuperset/result_set.py234 # Check if original data has nested types (lists/dicts)COMMENT
LOWsuperset/connectors/sqla/models.py273 # Check if all requested columns are drillableCOMMENT
LOWsuperset/databases/schemas.py1122 # Check if any sensitive field is still maskedCOMMENT
LOWsuperset/tasks/context.py372 # Check if task execution has already completed (late abort race).COMMENT
LOWsuperset/tasks/context.py433 # Check if all abort handlers completed successfullyCOMMENT
LOWsuperset/tasks/context.py479 # Check if task already has an error (preserve original context)COMMENT
LOWsuperset/tasks/context.py545 # Check if task has abort handler (requires app context)COMMENT
LOWsuperset/tasks/context.py564 # Set status to ABORTING (same as user abort)COMMENT
LOWsuperset/tasks/manager.py81 # Check if thread is still running after timeoutCOMMENT
LOWsuperset/tasks/manager.py540 # Check if stop was requested - if so, this may be expectedCOMMENT
LOWsuperset/tasks/manager.py591 # Check if we were asked to stop - if so, this is expectedCOMMENT
LOWsuperset/tasks/decorators.py336 # Check if already in terminal stateCOMMENT
LOWsuperset/security/manager.py1623 # Check if this is actually a multi-layer deck.gl chartCOMMENT
LOWsuperset/security/manager.py2612 # Check if database name has changedCOMMENT
LOWsuperset/security/manager.py2933 # Check if watched fields have changedCOMMENT
LOWsuperset/semantic_layers/mapper.py912 # Check if we need separate filters for the group limit subqueryCOMMENT
LOWsuperset/semantic_layers/mapper.py939 # Check if inner time bounds are explicitly set and differ from outer boundsCOMMENT
LOWsuperset/charts/client_processing.py372 # Check if the DataFrame has a default RangeIndex, which should not be shownCOMMENT
LOWsuperset/charts/data/api.py492 # Check if we should use streaming for large datasetsCOMMENT
LOWsuperset/charts/data/api.py680 # Check if we have rowcount in the second query result (like frontend does)COMMENT
LOWsuperset/utils/cache.py196 # Check if the user can access the resourceCOMMENT
86 more matches not shown…
Fake / Example Data170 hits · 180 pts
SeverityFileLineSnippetContext
LOWtests/unit_tests/test_marshmallow_compatibility.py172 data = {"name": "John Doe", "email": "john@example.com", "age": 30}CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py174 assert result["name"] == "John Doe"CODE
LOWtests/unit_tests/security/manager_test.py576 email="adoe@example.org",CODE
LOWtests/unit_tests/security/manager_test.py466 email="adoe@example.org",CODE
LOWtests/unit_tests/security/manager_test.py526 email="adoe@example.org",CODE
LOW…it_tests/datasets/commands/importers/v1/import_test.py1028 email="adoe@example.org",CODE
LOW…it_tests/datasets/commands/importers/v1/import_test.py1118 email="adoe@example.org",CODE
LOW…it_tests/datasets/commands/importers/v1/import_test.py1167 email="adoe@example.org",CODE
LOW…it_tests/datasets/commands/importers/v1/import_test.py1212 email="bob@example.org",CODE
LOW…it_tests/datasets/commands/importers/v1/import_test.py1411 email="adoe@example.org",CODE
LOW…unit_tests/charts/commands/importers/v1/import_test.py193 email="adoe@example.org",CODE
LOW…unit_tests/charts/commands/importers/v1/import_test.py234 email="adoe@example.org",CODE
LOW…unit_tests/charts/commands/importers/v1/import_test.py269 email="adoe@example.org",CODE
LOW…unit_tests/charts/commands/importers/v1/import_test.py324 email="adoe@example.org",CODE
LOW…unit_tests/charts/commands/importers/v1/import_test.py380 email="adoe@example.org",CODE
LOW…unit_tests/charts/commands/importers/v1/import_test.py413 email="bob@example.org",CODE
LOWtests/unit_tests/models/core_test.py526 user.email = "alice.doe@example.org"CODE
LOWtests/unit_tests/models/core_test.py642 user.email = "alice.doe@example.org"CODE
LOWtests/unit_tests/models/core_test.py697 user.email = "alice.doe@example.org"CODE
LOWtests/unit_tests/models/core_test.py1312 email="adoe@example.org",CODE
LOWtests/unit_tests/models/helpers_test.py2417 "val": ["John Doe", "Jane Doe"],CODE
LOWtests/unit_tests/models/helpers_test.py2417 "val": ["John Doe", "Jane Doe"],CODE
LOWtests/unit_tests/mcp_service/test_guest_token_auth.py65 fake_token = "fake-token" # noqa: S105 — test fixture, not a real credentialCODE
LOWtests/unit_tests/mcp_service/test_guest_token_auth.py66 return AccessToken(token=fake_token, client_id=client_id, scopes=[], claims=claims)CODE
LOWtests/unit_tests/mcp_service/user/test_schemas.py88 user.email = "admin@example.com"CODE
LOWtests/unit_tests/mcp_service/user/test_schemas.py102 assert info.email == "admin@example.com"CODE
LOWtests/unit_tests/mcp_service/user/test_schemas.py116 user.email = "admin@example.com"CODE
LOWtests/unit_tests/mcp_service/user/test_schemas.py139 user.email = "admin@example.com"CODE
LOWtests/unit_tests/mcp_service/user/test_schemas.py153 assert info.email == "admin@example.com"CODE
LOW…ts/unit_tests/mcp_service/user/tool/test_user_tools.py206 user = create_mock_user(email="admin@example.com", roles=["Admin"])CODE
LOW…ts/unit_tests/mcp_service/user/tool/test_user_tools.py216 assert data["users"][0]["email"] == "admin@example.com"CODE
LOW…ts/unit_tests/mcp_service/user/tool/test_user_tools.py224 user = create_mock_user(email="admin@example.com")CODE
LOW…ts/unit_tests/mcp_service/user/tool/test_user_tools.py44 email: str = "admin@example.com",CODE
LOW…sts/mcp_service/dashboard/tool/test_dashboard_tools.py610 refreshed_user.email = "admin@example.com"CODE
LOW…sts/mcp_service/dashboard/tool/test_dashboard_tools.py614 current_user.email = "admin@example.com"CODE
LOW…sts/mcp_service/dashboard/tool/test_dashboard_tools.py629 email="admin@example.com"CODE
LOW…cp_service/dashboard/tool/test_dashboard_generation.py155 mock_user.email = "admin@example.com"CODE
LOW…cp_service/dashboard/tool/test_dashboard_generation.py457 email="admin@example.com",CODE
LOW…cp_service/dashboard/tool/test_dashboard_generation.py504 email="admin@example.com",CODE
LOW…cp_service/dashboard/tool/test_dashboard_generation.py563 email="admin@example.com",CODE
LOW…tests/mcp_service/system/test_serialize_user_object.py40 user.email = "admin@example.com"CODE
LOW…tests/mcp_service/system/test_serialize_user_object.py51 assert result.email == "admin@example.com"CODE
LOW…tests/mcp_service/system/test_serialize_user_object.py68 user.email = "admin@example.com"CODE
LOWtests/unit_tests/db_engine_specs/test_starrocks.py304 user.email = "alice@example.org"CODE
LOWtests/unit_tests/db_engine_specs/test_starrocks.py313 database.get_effective_user.return_value = "alice@example.org"CODE
LOWtests/unit_tests/db_engine_specs/test_starrocks.py328 user.email = "alice.doe@example.org"CODE
LOWtests/unit_tests/db_engine_specs/test_starrocks.py337 database.get_effective_user.return_value = "alice.doe@example.org"CODE
LOWtests/unit_tests/db_engine_specs/test_starrocks.py352 user.email = "alice.doe@example.org"CODE
LOWtests/unit_tests/db_engine_specs/test_gsheets.py224 "subject": "admin@example.com",CODE
LOWtests/unit_tests/db_engine_specs/test_gsheets.py240 g.user.email = "admin@example.com"CODE
LOWtests/unit_tests/db_engine_specs/test_gsheets.py69 g.user.email = "admin@example.org"CODE
LOWtests/unit_tests/db_engine_specs/test_gsheets.py88 g.user.email = "admin@example.org"CODE
LOWtests/unit_tests/db_engine_specs/test_gsheets.py115 g.user.email = "admin@example.org"CODE
LOWtests/unit_tests/db_engine_specs/test_gsheets.py144 g.user.email = "admin@example.com"CODE
LOWtests/unit_tests/db_engine_specs/test_gsheets.py297 "subject": "admin@example.com",CODE
LOWtests/unit_tests/db_engine_specs/test_gsheets.py535 user.email = "alice@example.org"CODE
LOWtests/unit_tests/db_engine_specs/test_gsheets.py1004 g.user.email = "admin@example.org"CODE
LOWtests/unit_tests/db_engine_specs/test_gsheets.py1044 g.user.email = "admin@example.org"CODE
LOW…_tests/dashboards/commands/importers/v1/import_test.py156 email="adoe@example.org",CODE
LOW…_tests/dashboards/commands/importers/v1/import_test.py197 email="adoe@example.org",CODE
110 more matches not shown…
Structural Annotation Overuse98 hits · 178 pts
SeverityFileLineSnippetContext
LOW…commands/importers/v1/test_find_existing_for_import.py165 # Step 1: find (pure). Caller now has the row to make decisions on.COMMENT
LOW…commands/importers/v1/test_find_existing_for_import.py170 # Step 2: caller decides to clear (in real code, after overwrite +COMMENT
LOW…commands/importers/v1/test_find_existing_for_import.py174 # Step 3: caller can now re-insert with the same UUID withoutCOMMENT
LOWtests/unit_tests/reports/notifications/slack_tests.py1077 # Step 1: v1 send raises SlackV1NotificationError because v2 is available.COMMENT
LOWtests/unit_tests/reports/notifications/slack_tests.py1082 # Step 2: command-level upgrade rewrites the row to SlackV2 with channel IDs.COMMENT
LOWtests/unit_tests/reports/notifications/slack_tests.py1088 # Step 3: a fresh SlackV2Notification on the rewritten row sends to theCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py47 # Step 1: Gamma submits a shared taskCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py66 # Step 2: Admin joins the same taskCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py84 # Step 3: Gamma cancels (unsubscribes)COMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py96 # Step 4: Verify gamma can no longer see the taskCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py103 # Step 5: Verify admin still sees the taskCOMMENT
LOWtests/integration_tests/utils/encrypt_tests.py192 # Step 1: Encrypt with KEY_ACOMMENT
LOWtests/integration_tests/utils/encrypt_tests.py197 # Step 2: Verify decryption with KEY_A worksCOMMENT
LOWtests/integration_tests/utils/encrypt_tests.py201 # Step 3: Rotate key to KEY_BCOMMENT
LOWtests/integration_tests/utils/encrypt_tests.py204 # Step 4: Re-encrypt with KEY_B (simulating SecretsMigrator logic)COMMENT
LOWtests/integration_tests/utils/encrypt_tests.py215 # Step 5: Verify decryption with KEY_B worksCOMMENT
LOWtests/integration_tests/utils/encrypt_tests.py219 # Step 6: Verify KEY_A can no longer decrypt the new ciphertextCOMMENT
LOWtests/integration_tests/dashboards/commands_tests.py823 # Step 1: Add an embedded dashboardCOMMENT
LOWtests/integration_tests/dashboards/commands_tests.py830 # Step 2: Assert that the embedded dashboard was addedCOMMENT
LOWtests/integration_tests/dashboards/commands_tests.py835 # Step 3: Delete the embedded dashboardCOMMENT
LOWtests/integration_tests/dashboards/commands_tests.py840 # Step 4: Assert that the embedded dashboard was deletedCOMMENT
LOW.claude/projects/js-to-ts/AGENT.md20## Step 0: Dependency Check (MANDATORY)COMMENT
LOW.claude/projects/js-to-ts/AGENT.md33## Step 1: Identify Related Files (REQUIRED)COMMENT
LOW.claude/projects/js-to-ts/AGENT.md201### Step 2: File ConversionCOMMENT
LOW.claude/projects/js-to-ts/AGENT.md208### Step 3: Import & Type SetupCOMMENT
LOW.claude/projects/js-to-ts/AGENT.md217### Step 4: Function & Component TypingCOMMENT
LOW.claude/projects/js-to-ts/AGENT.md238### Step 5: State & Redux TypingCOMMENT
LOW…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts406 // Step 1: Parse into ASTCOMMENT
LOW…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts440 // Step 2: Validate AST for security (no functions, eval, etc.)COMMENT
LOW…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts448 // Step 3: Convert AST to JavaScript objectCOMMENT
LOW…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts451 // Step 4: Validate against Zod schema with partial/lenient modeCOMMENT
LOW…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx46 // Step 1: Simulate saved dashboard configCOMMENT
LOW…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx83 // Step 2: Render the dashboard filterCOMMENT
LOW…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx91 // Step 3: Verify only pre-filtered options appearCOMMENT
LOW…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx107 // Step 4: Selecting one allowed option should update runtime payloadCOMMENT
LOW…-frontend/src/dashboard/reducers/nativeFilters.test.ts474 // Step 1: filter(Boolean) — as hydrate.ts doesCOMMENT
LOW…-frontend/src/dashboard/reducers/nativeFilters.test.ts476 // Step 2: migrate — as hydrate.ts doesCOMMENT
LOW…-frontend/src/dashboard/reducers/nativeFilters.test.ts478 // Step 3: combine with native filters and pass to getInitialStateCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md38## Step 1: Install the Extensions CLICOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md46## Step 2: Create a New ExtensionCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md94## Step 3: Configure Extension MetadataCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md116## Step 4: Create Backend APICOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md189## Step 5: Create Frontend ComponentCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md422## Step 6: Install DependenciesCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md432## Step 7: Package the ExtensionCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md450## Step 8: Deploy to SupersetCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md487## Step 9: Test Your ExtensionCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md38## Step 1: Install the Extensions CLICOMMENT
LOWdocs/developer_docs/extensions/quick-start.md46## Step 2: Create a New ExtensionCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md94## Step 3: Configure Extension MetadataCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md116## Step 4: Create Backend APICOMMENT
LOWdocs/developer_docs/extensions/quick-start.md189## Step 5: Create Frontend ComponentCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md422## Step 6: Install DependenciesCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md432## Step 7: Package the ExtensionCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md450## Step 8: Deploy to SupersetCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md487## Step 9: Test Your ExtensionCOMMENT
LOWsuperset/config.py435# NOTE: This variable is used to populate THEME_DEFAULT. If you override this inCOMMENT
LOWsuperset/config.py452# NOTE: This variable is deprecated and not used in the new theme system.COMMENT
LOWsuperset/config.py456# NOTE: This variable is deprecated and not used in the new theme system.COMMENT
LOWsuperset/semantic_layers/mapper.py120 # Step 1: Convert QueryObject to list of SemanticQuery objectsCOMMENT
38 more matches not shown…
Verbosity Indicators66 hits · 130 pts
SeverityFileLineSnippetContext
LOW…commands/importers/v1/test_find_existing_for_import.py165 # Step 1: find (pure). Caller now has the row to make decisions on.COMMENT
LOW…commands/importers/v1/test_find_existing_for_import.py170 # Step 2: caller decides to clear (in real code, after overwrite +COMMENT
LOW…commands/importers/v1/test_find_existing_for_import.py174 # Step 3: caller can now re-insert with the same UUID withoutCOMMENT
LOWtests/unit_tests/reports/notifications/slack_tests.py1077 # Step 1: v1 send raises SlackV1NotificationError because v2 is available.COMMENT
LOWtests/unit_tests/reports/notifications/slack_tests.py1082 # Step 2: command-level upgrade rewrites the row to SlackV2 with channel IDs.COMMENT
LOWtests/unit_tests/reports/notifications/slack_tests.py1088 # Step 3: a fresh SlackV2Notification on the rewritten row sends to theCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py47 # Step 1: Gamma submits a shared taskCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py66 # Step 2: Admin joins the same taskCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py84 # Step 3: Gamma cancels (unsubscribes)COMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py96 # Step 4: Verify gamma can no longer see the taskCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py103 # Step 5: Verify admin still sees the taskCOMMENT
LOWtests/integration_tests/utils/encrypt_tests.py192 # Step 1: Encrypt with KEY_ACOMMENT
LOWtests/integration_tests/utils/encrypt_tests.py197 # Step 2: Verify decryption with KEY_A worksCOMMENT
LOWtests/integration_tests/utils/encrypt_tests.py201 # Step 3: Rotate key to KEY_BCOMMENT
LOWtests/integration_tests/utils/encrypt_tests.py204 # Step 4: Re-encrypt with KEY_B (simulating SecretsMigrator logic)COMMENT
LOWtests/integration_tests/utils/encrypt_tests.py215 # Step 5: Verify decryption with KEY_B worksCOMMENT
LOWtests/integration_tests/utils/encrypt_tests.py219 # Step 6: Verify KEY_A can no longer decrypt the new ciphertextCOMMENT
LOWtests/integration_tests/dashboards/commands_tests.py823 # Step 1: Add an embedded dashboardCOMMENT
LOWtests/integration_tests/dashboards/commands_tests.py830 # Step 2: Assert that the embedded dashboard was addedCOMMENT
LOWtests/integration_tests/dashboards/commands_tests.py835 # Step 3: Delete the embedded dashboardCOMMENT
LOWtests/integration_tests/dashboards/commands_tests.py840 # Step 4: Assert that the embedded dashboard was deletedCOMMENT
LOW…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts406 // Step 1: Parse into ASTCOMMENT
LOW…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts440 // Step 2: Validate AST for security (no functions, eval, etc.)COMMENT
LOW…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts448 // Step 3: Convert AST to JavaScript objectCOMMENT
LOW…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts451 // Step 4: Validate against Zod schema with partial/lenient modeCOMMENT
LOW…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx46 // Step 1: Simulate saved dashboard configCOMMENT
LOW…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx83 // Step 2: Render the dashboard filterCOMMENT
LOW…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx91 // Step 3: Verify only pre-filtered options appearCOMMENT
LOW…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx107 // Step 4: Selecting one allowed option should update runtime payloadCOMMENT
LOW…-frontend/src/dashboard/reducers/nativeFilters.test.ts474 // Step 1: filter(Boolean) — as hydrate.ts doesCOMMENT
LOW…-frontend/src/dashboard/reducers/nativeFilters.test.ts476 // Step 2: migrate — as hydrate.ts doesCOMMENT
LOW…-frontend/src/dashboard/reducers/nativeFilters.test.ts478 // Step 3: combine with native filters and pass to getInitialStateCOMMENT
LOWsuperset/semantic_layers/mapper.py120 # Step 1: Convert QueryObject to list of SemanticQuery objectsCOMMENT
LOWsuperset/semantic_layers/mapper.py124 # Step 2: Execute the main query (first in the list)COMMENT
LOWsuperset/semantic_layers/mapper.py196 # Step 5: Perform left join on dimension columnsCOMMENT
LOWsuperset/mcp_service/jwt_verifier.py492 # Step 1: Decode header and check algorithmCOMMENT
LOWsuperset/mcp_service/jwt_verifier.py535 # Step 2: Get verification key (static or JWKS).COMMENT
LOWsuperset/mcp_service/jwt_verifier.py577 # Step 3: Decode and verify signatureCOMMENT
LOWsuperset/mcp_service/jwt_verifier.py600 # Step 4: Check expiration. An ``exp`` claim is required — tokensCOMMENT
LOWsuperset/mcp_service/jwt_verifier.py652 # Step 5: Validate issuerCOMMENT
LOWsuperset/mcp_service/jwt_verifier.py670 # Step 6: Validate audienceCOMMENT
LOWsuperset/mcp_service/jwt_verifier.py697 # Step 7: Check required scopesCOMMENT
LOWsuperset/mcp_service/dataset/tool/query_dataset.py121 # Step 1: Check data-model metadata access BEFORE the dataset lookup.COMMENT
LOWsuperset/mcp_service/dataset/tool/query_dataset.py137 # Step 2: Resolve datasetCOMMENT
LOWsuperset/mcp_service/dataset/tool/query_dataset.py171 # Step 2: Validate requested columns and metricsCOMMENT
LOWsuperset/mcp_service/dataset/tool/query_dataset.py211 # Step 3: Build filters and time rangeCOMMENT
LOWsuperset/mcp_service/dataset/tool/query_dataset.py273 # Step 4: Build query dictCOMMENT
LOWsuperset/mcp_service/dataset/tool/query_dataset.py294 # Step 5: Create QueryContext and executeCOMMENT
LOWsuperset/mcp_service/dataset/tool/query_dataset.py327 # Step 6: Format responseCOMMENT
LOW…erset/mcp_service/chart/prompts/create_chart_guided.py88### Step 1: Find a DatasetCOMMENT
LOW…erset/mcp_service/chart/prompts/create_chart_guided.py91### Step 2: Examine ColumnsCOMMENT
LOW…erset/mcp_service/chart/prompts/create_chart_guided.py94### Step 3: Choose Chart ConfigurationCOMMENT
LOW…erset/mcp_service/chart/prompts/create_chart_guided.py101### Step 4: Create the ChartCOMMENT
LOW…erset/mcp_service/chart/prompts/create_chart_guided.py133### Step 5: Validate ResultsCOMMENT
LOWsuperset/db_engine_specs/aws_iam.py481 # Step 1: Assume the IAM roleCOMMENT
LOWsuperset/db_engine_specs/aws_iam.py489 # Step 2: Generate the RDS auth tokenCOMMENT
LOWsuperset/db_engine_specs/aws_iam.py498 # Step 3: Update connection parametersCOMMENT
LOWsuperset/db_engine_specs/aws_iam.py507 # Step 4: Enable SSL (required for IAM authentication)COMMENT
LOWsuperset/db_engine_specs/aws_iam.py616 # Step 1: Assume the IAM roleCOMMENT
LOWsuperset/db_engine_specs/aws_iam.py624 # Step 2: Get Redshift credentials based on deployment typeCOMMENT
6 more matches not shown…
Docstring Block Structure25 hits · 125 pts
SeverityFileLineSnippetContext
HIGH…t-core/src/superset_core/semantic_layers/decorators.py55 Decorator to register a semantic layer implementation. Automatically detects extension context and applies appSTRING
HIGHsuperset-core/src/superset_core/mcp/decorators.py62 Decorator to register an MCP tool with optional authentication. This decorator combines FastMCP tool registratSTRING
HIGHsuperset-core/src/superset_core/mcp/decorators.py139 Decorator to register an MCP prompt with optional authentication. This decorator combines FastMCP prompt regisSTRING
HIGHsuperset-core/src/superset_core/rest_api/decorators.py48 Unified API decorator for both host and extension APIs. Automatically detects context: - Host context: /apSTRING
HIGHsuperset/tasks/decorators.py560 Schedule this task for asynchronous execution. The signature mirrors the original task function, with STRING
HIGHsuperset/utils/cache_manager.py59 Create a hash object using the configured algorithm. Args: data: Optional initial data to STRING
HIGHsuperset/utils/date_parser.py186 Generates a datetime expression for the start of a given unit (e.g., start of month, start of year). This STRING
HIGHsuperset/utils/date_parser.py216 Generates a datetime expression for the end of a given unit (e.g., end of month, end of year). This functSTRING
HIGHsuperset/utils/date_parser.py251 Handles "first" time expressions like "first of the month" or "first week of this year". This handler retuSTRING
HIGHsuperset/utils/date_parser.py308 Generates a datetime expression based on a modifier, scope, delta, unit, and relative base. This function hSTRING
HIGHsuperset/utils/date_parser.py353 Generates a datetime expression based on the scope, delta, unit, and relative base. This function handles queriSTRING
HIGHsuperset/utils/hashing.py49 Generate a hash from a string using the configured or specified algorithm. Args: val: String to hash STRING
HIGHsuperset/mcp_service/storage.py40 Create a store instance with the specified prefix. Uses shared MCP_STORE_CONFIG for Redis URL and wrapper typeSTRING
HIGHsuperset/mcp_service/storage.py187 Import a wrapper class from a dotted path. Args: class_path: Dotted path like 'key_value.aSTRING
HIGHsuperset/mcp_service/utils/schema_utils.py53 Parse a value that can be either a JSON string or a native Python object. This function handles the common patSTRING
HIGHsuperset/mcp_service/utils/schema_utils.py114 Parse a value into a list, accepting JSON string, list, or comma-separated string. This function provides maxiSTRING
HIGHsuperset/mcp_service/utils/schema_utils.py186 Parse a value into a Pydantic model, accepting JSON string or dict. Args: value: Input value to parse STRING
HIGHsuperset/mcp_service/utils/schema_utils.py230 Parse a value into a list of Pydantic models, accepting JSON string or list. Args: value: Input value STRING
HIGHsuperset/mcp_service/utils/sanitization.py344 Centralized sanitization for user-provided text inputs. Uses nh3 to strip HTML tags and performs additional seSTRING
HIGHsuperset/mcp_service/utils/sanitization.py408 Sanitize filter values which can be strings or other types. For non-string values, returns as-is (no sanitizatSTRING
HIGHsuperset/examples/helpers.py94Normalize example data URLs for consistency. This function ensures that example data URLs are properly formatted. STRING
HIGHsuperset/examples/helpers.py148Load data from local Parquet files. Examples are organized as: superset/examples/{example_name}/data.parqueSTRING
HIGHsuperset-extensions-cli/tests/utils.py106 Load and parse a JSON file. Args: path: Path to the JSON file Returns: Parsed JSON contenSTRING
HIGH…et-extensions-cli/src/superset_extensions_cli/utils.py258 Validate and normalize display name format. Args: display_name: Human-readable extension name RetSTRING
HIGH…et-extensions-cli/src/superset_extensions_cli/utils.py337 Generate all extension name variants from input. Args: display_name: Human-readable name (e.g., "DashbSTRING
AI Slop Vocabulary26 hits · 59 pts
SeverityFileLineSnippetContext
LOW…sts/unit_tests/security/test_guest_token_revocation.py156 # Should simply return without raising when the UUID does not resolve.COMMENT
MEDIUMtests/unit_tests/utils/webdriver_test.py308 """Test comprehensive Playwright availability checking."""STRING
MEDIUM…tegration_tests/tasks/commands/test_internal_update.py263 """Test atomic conditional status transitions with comprehensive scenarios.STRING
MEDIUMtests/integration_tests/dao/base_dao_test.py52# Create a test model for comprehensive testingCOMMENT
LOWtests/integration_tests/charts/commands_tests.py693 # can just pass in chart as wellCOMMENT
MEDIUM…frontend/plugins/plugin-chart-table/src/TableChart.tsx1602 // Use a ref to store previous clientViewRows and exportColumns for robust change detectionCOMMENT
MEDIUM…nd/src/pages/DatasetList/DatasetList.listview.test.tsx1784 // Select row by dataset name (row-scoped query is more robust than array index)COMMENT
MEDIUM…nd/src/pages/DatasetList/DatasetList.listview.test.tsx1847 // Select row by dataset name (row-scoped query is more robust than array index)COMMENT
MEDIUM…nd/src/pages/DatasetList/DatasetList.listview.test.tsx1921 // Select first virtual dataset by name (row-scoped query is more robust than array index)COMMENT
MEDIUM…nd/src/pages/DatasetList/DatasetList.listview.test.tsx1967 // Select first physical dataset by name (row-scoped query is more robust than array index)COMMENT
MEDIUM…nd/src/pages/DatasetList/DatasetList.listview.test.tsx2017 // Select first dataset by name (row-scoped query is more robust than array index)COMMENT
MEDIUMsuperset/config.py1775# This is move involved example where depending on the database you can leverage dataCOMMENT
MEDIUMsuperset/viz.py279 payload = self.get_df_payload(query_obj) # leverage caching logicCODE
MEDIUMsuperset/viz.py731 df = self.get_df_payload()["df"] # leverage caching logicCODE
LOWsuperset/tasks/context.py501 # No original error, just use handler failuresCOMMENT
MEDIUMsuperset/mcp_service/mcp_core.py715 """Tool interface for generating comprehensive instance information."""STRING
MEDIUMsuperset/mcp_service/mcp_core.py724 """Generate comprehensive instance information."""STRING
MEDIUMsuperset/mcp_service/mcp_core.py869 """Execute schema discovery and return comprehensive schema info."""STRING
LOW…vice/chart/validation/runtime/cardinality_validator.py90 # but that requires DB access - for now just return OKCOMMENT
MEDIUMsuperset/mcp_service/chart/tool/generate_chart.py223 # Run comprehensive validation pipelineCOMMENT
MEDIUMsuperset/mcp_service/chart/tool/get_chart_data.py764 # Generate comprehensive summary with cache infoCOMMENT
LOWsuperset/db_engine_specs/lint_metadata.py364 # f-strings - just return placeholderCOMMENT
MEDIUMsuperset/commands/dataset/importers/v1/utils.py316 # a hidden contract; the explicit flush makes it robust. The lookupCOMMENT
MEDIUMsuperset/commands/chart/importers/v1/utils.py102 # contract; the explicit flush makes it robust. The lookup thenCOMMENT
MEDIUMsuperset/commands/dashboard/importers/v1/utils.py366 # hidden contract; the explicit flush makes it robust. The lookupCOMMENT
MEDIUMsuperset/views/redirect.py65 # Block dangerous schemes using urlparse for robust detectionCOMMENT
Hallucination Indicators4 hits · 40 pts
SeverityFileLineSnippetContext
CRITICAL…art-point-cluster-map/test/ScatterPlotOverlay.test.tsx418 expect(redrawParams.ctx.fillText.mock.calls.map(call => call[0])).toEqual([CODE
CRITICAL…art-point-cluster-map/test/ScatterPlotOverlay.test.tsx933 redrawParams.ctx.arc.mock.calls.forEach(call => {CODE
CRITICAL.github/workflows/check_db_migration_confict.yml40 const opts = github.rest.pulls.list.endpoint.merge({CODE
CRITICAL.github/workflows/check_db_migration_confict.yml54 const listFilesOpts = await github.rest.pulls.listFiles.endpoint.merge({CODE
AI Structural Patterns39 hits · 34 pts
SeverityFileLineSnippetContext
LOWsuperset-core/src/superset_core/mcp/decorators.py51CODE
LOW…sts/unit_tests/charts/test_dashboard_filter_context.py69CODE
LOW…tests/mcp_service/database/tool/test_database_tools.py63CODE
LOW…mcp_service/saved_query/tool/test_saved_query_tools.py78CODE
LOW…ts/unit_tests/mcp_service/task/tool/test_task_tools.py36CODE
LOW…nit_tests/mcp_service/report/tool/test_report_tools.py34CODE
LOW…/unit_tests/mcp_service/query/tool/test_query_tools.py72CODE
LOWtests/unit_tests/daos/test_tasks.py37CODE
LOWtests/integration_tests/base_tests.py438CODE
LOWtests/integration_tests/base_tests.py613CODE
LOWtests/integration_tests/base_tests.py685CODE
LOWtests/integration_tests/insert_chart_mixin.py31CODE
LOWtests/integration_tests/datasets/api_tests.py91CODE
LOWtests/integration_tests/queries/api_tests.py43CODE
LOW…/integration_tests/dashboards/superset_factory_util.py49CODE
LOW…/integration_tests/dashboards/superset_factory_util.py75CODE
LOWtests/integration_tests/reports/utils.py64CODE
LOWtests/integration_tests/reports/utils.py120CODE
LOWsuperset/core/mcp/core_mcp_injection.py61CODE
LOWsuperset/security/manager.py3630CODE
LOWsuperset/utils/cache_manager.py94CODE
LOWsuperset/utils/cache_manager.py118CODE
LOWsuperset/utils/core.py829CODE
LOWsuperset/utils/dashboard_import_export.py33CODE
LOWsuperset/utils/json.py188CODE
LOWsuperset/importexport/api.py93CODE
LOWsuperset/models/helpers.py997CODE
LOWsuperset/models/helpers.py3275CODE
LOWsuperset/mcp_service/mcp_core.py289CODE
LOWsuperset/mcp_service/app.py601CODE
LOWsuperset/mcp_service/app.py938CODE
LOWsuperset/mcp_service/utils/sanitization.py401CODE
LOWsuperset/mcp_service/utils/sanitization.py472CODE
LOWsuperset/common/query_object.py113CODE
LOWsuperset/common/utils/query_cache_manager.py55CODE
LOWsuperset/db_engine_specs/presto.py408CODE
LOWsuperset/async_events/cache_backend.py29CODE
LOWsuperset/async_events/cache_backend.py160CODE
LOWsuperset/daos/base.py820CODE
Slop Phrases11 hits · 18 pts
SeverityFileLineSnippetContext
LOWdocker-compose-image-tag.yml20# If you choose to use this type of deployment make sure toCOMMENT
LOWdocker-compose-non-dev.yml20# If you choose to use this type of deployment make sure toCOMMENT
LOWdocker-compose.yml20# If you choose to use this type of deployment make sure toCOMMENT
LOWtests/integration_tests/reports/utils.py225 # make sure to clean up in case of yield exceptionsCOMMENT
MEDIUMsuperset/config.py89# Note that you can use `StdOutEventLogger` for debuggingCOMMENT
MEDIUMsuperset/config.py290# Note that you can use this to set the isolation level of your database, as inCOMMENT
MEDIUMsuperset/config.py590# for adding your own map tiles, you can use the following format:COMMENT
LOWsuperset/config.py216# You should also make sure to configure your WSGI serverCOMMENT
LOWsuperset/constants.py18# ATTENTION: If you change any constants, make sure to also change utils/common.jsCOMMENT
LOWsuperset/utils/pandas_postprocessing/utils.py217 # make sure to return a new DataFrame instead of changing the `base_df`.COMMENT
LOWhelm/superset/values.yaml911 # Make sure you are giving a strong password for the admin user creation( else make sure you are changing after setup)COMMENT
Modern AI Meta-Vocabulary8 hits · 17 pts
SeverityFileLineSnippetContext
MEDIUMsuperset-core/src/superset_core/mcp/decorators.py61) -> Any: # Use Any to avoid mypy issues with dependency injectionCODE
MEDIUMsuperset-core/src/superset_core/mcp/decorators.py138) -> Any: # Use Any to avoid mypy issues with dependency injectionCODE
MEDIUMCHANGELOG/6.1.0.md191- [#35163](https://github.com/apache/superset/pull/35163) feat(mcp): PR1 - Add MCP service scaffold for Apache Superset CODE
MEDIUMCHANGELOG/6.1.0.md191- [#35163](https://github.com/apache/superset/pull/35163) feat(mcp): PR1 - Add MCP service scaffold for Apache Superset CODE
MEDIUMCHANGELOG/6.1.0.md439- [#38391](https://github.com/apache/superset/pull/38391) fix(mcp): add guardrails to prevent LLM artifact generation (@CODE
MEDIUMCHANGELOG/6.1.0.md439- [#38391](https://github.com/apache/superset/pull/38391) fix(mcp): add guardrails to prevent LLM artifact generation (@CODE
MEDIUMCHANGELOG/6.1.0.md732- [#38472](https://github.com/apache/superset/pull/38472) docs(extensions): fix extension developer documentation and CLCODE
MEDIUMsuperset/mcp_service/app.py677# Initialize MCP dependency injection BEFORE importing tools/prompts.COMMENT
Magic Placeholder Names2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHsuperset/mcp_service/jwt_verifier.py192 ' "Authorization": "Bearer <your-api-key>"\n'CODE
HIGHsuperset/mcp_service/jwt_verifier.py228 "and <code>&lt;your-api-key&gt;</code> with a valid API key or JWT token."CODE
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHdocs/developer_docs/contributing/howtos.md354translations](#applying-translations) above), so an AI-generated string is shownCODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/docker-compose-up.sh27# Usage:COMMENT
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWsuperset/viz.py1066 def process_data(self, df: pd.DataFrame, aggregate: bool = False) -> VizData:CODE
LOWsuperset/tasks/scheduler.py256def execute_task( # noqa: C901CODE