AI Slop Code RIsk Monitor

plotly/dash

Data Apps & Dashboards for Python. No JavaScript Required.

6.3 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for plotly/dash, a Python project with 24,445 GitHub stars. SynthScan examined 310,442 lines of code across 1213 source files, recording 1137 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 6.3 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

6.3
Adjusted Signal
6.3
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
24.4K
Stars
Python
Language
310.4K
Lines of Code
1.2K
Files
1.1K
Pattern Hits
2026-10-12
Scan Date
0.09
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 10.2/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 587 finding(s).

Hallucinated Dependency & Supply Chain Risk 6.9/100 · LOW

Are imports declared and package/API names verified? 244 finding(s).

Agent Over-Engineering Ratio 19.4/100 · LOW

Are wrappers, guards, and repeated structures necessary? 769 finding(s).

PR Review Velocity Impact 28.0/100 · MEDIUM

Which changes need focused human review? 1137 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 2HIGH 105MEDIUM 181LOW 849

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

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

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Decorative Section Separators160 hits · 486 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/mcp/test_mcp_session.py28# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_session.py30# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_server.py10# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_server.py12# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_server.py48# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_server.py50# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py36# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py38# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py78# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py80# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py105# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py107# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py126# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py128# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py143# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py145# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py176# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py178# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py211# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py213# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py228# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py230# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py250# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/test_mcp_configure.py252# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_pattern_matching.py14# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_pattern_matching.py16# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_pattern_matching.py90# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_pattern_matching.py92# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_tools.py29# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_tools.py31# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_tools.py142# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_tools.py144# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_tools.py202# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_tools.py204# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_tools.py217# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_tools.py219# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_tools.py312# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_tools.py314# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_background_callbacks.py41# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_background_callbacks.py43# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_background_callbacks.py105# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_background_callbacks.py107# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_background_callbacks.py196# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_background_callbacks.py198# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_background_callbacks.py260# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_background_callbacks.py262# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/mcp/tools/test_mcp_formatted_output_results.py26# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/mcp/tools/test_mcp_formatted_output_results.py28# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/mcp/tools/test_mcp_formatted_output_results.py79# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/mcp/tools/test_mcp_formatted_output_results.py81# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/mcp/tools/test_mcp_formatted_output_results.py168# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/mcp/tools/test_mcp_formatted_output_results.py170# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/mcp/tools/test_mcp_formatted_output_results.py204# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/mcp/tools/test_mcp_formatted_output_results.py206# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_input_descriptions.py24# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_input_descriptions.py26# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_input_descriptions.py48# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_input_descriptions.py50# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_input_descriptions.py192# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/mcp/tools/test_mcp_input_descriptions.py194# ---------------------------------------------------------------------------COMMENT
100 more matches not shown…
Hyper-Verbose Identifiers451 hits · 486 pts
SeverityFileLineSnippetContext
LOW⚡tests/unit/test_configs.py79def test_pathname_prefix_from_environ_app_name(empty_environ):CODE
LOW⚡tests/unit/test_configs.py86def test_pathname_prefix_environ_routes(empty_environ):CODE
LOW⚡tests/unit/test_configs.py92def test_pathname_prefix_environ_requests(empty_environ):CODE
LOW⚡tests/unit/test_configs.py488def test_debug_mode_enable_dev_tools(empty_environ, debug_env, debug, expected):CODE
LOW⚡tests/unit/test_configs.py496def test_missing_flask_compress_raises():CODE
LOW⚡tests/unit/test_configs.py501def test_csrf_config_defaults():CODE
LOW⚡tests/unit/test_configs.py532def test_csrf_config_validation(token_name, header_name):CODE
LOW⚡tests/unit/test_configs.py537def test_csrf_config_read_only():CODE
LOW⚡tests/unit/test_configs.py545def test_init_app_with_flask_run_pattern():CODE
LOWtests/unit/test_configs.py44def test_valid_pathname_prefix_init(CODE
LOWtests/unit/test_configs.py56def test_invalid_pathname_prefix(empty_environ):CODE
LOWtests/unit/test_configs.py106def test_pathname_prefix_assets(empty_environ, req, expected):CODE
LOWtests/unit/test_configs.py189def test_get_combined_config_dev_tools_ui(empty_environ):CODE
LOWtests/unit/test_configs.py203def test_get_combined_config_props_check(empty_environ):CODE
LOWtests/unit/test_configs.py217def test_load_dash_env_vars_refects_to_os_environ(empty_environ):CODE
LOWtests/unit/test_configs.py258def test_pathname_prefix_relative_url(prefix, partial_path, expected):CODE
LOWtests/unit/test_configs.py267def test_invalid_get_relative_path(prefix, partial_path):CODE
LOWtests/unit/test_configs.py309def test_invalid_strip_relative_path(prefix, partial_path):CODE
LOWtests/unit/test_configs.py383def test_proxy_jupyter_server_url(mocker, empty_environ):CODE
LOWtests/unit/test_configs.py445def test_app_invalid_delayed_config():CODE
LOWtests/unit/test_configs.py521def test_csrf_config_in_index():CODE
LOWtests/unit/test_configs.py567def test_init_app_server_false_pattern():CODE
LOWtests/unit/test_resources.py111def test_collect_and_register_resources(mocker):CODE
LOWtests/unit/test_resources.py131def test_resources_with_attributes():CODE
LOWtests/unit/test_resources.py164def test_css_resources_with_attributes():CODE
LOWtests/unit/test_resources.py191def test_resources_without_attributes():CODE
LOWtests/unit/test_resources.py204def test_local_resources_with_attributes(mocker):CODE
LOWtests/unit/test_resources.py239def test_multiple_external_urls_with_attributes():CODE
LOWtests/unit/test_resources.py265def test_index_with_windows_extended_length_paths(tmp_path, monkeypatch):CODE
LOW⚡tests/unit/test_remount.py6def test_remount_adds_top_level_marker_not_a_prop():CODE
LOW⚡tests/unit/test_remount.py16def test_remount_returns_same_component():CODE
LOW⚡tests/unit/test_remount.py21def test_plain_component_has_no_marker():CODE
LOW⚡tests/unit/test_remount.py25def test_remount_rejects_non_components():CODE
LOWtests/unit/test_pages_router_race.py42def test_router_sync_is_atomic_under_concurrent_requests(clear_pages_state):CODE
LOWtests/unit/test_pages_router_race.py112def test_router_async_is_atomic_under_concurrent_tasks(clear_pages_state):CODE
LOWtests/unit/test_main_module_alias.py49def test_main_module_alias_prevents_double_registration(tmp_path, monkeypatch):CODE
LOWtests/unit/test_main_module_alias.py103def test_main_module_alias_prevents_double_registration_nested(tmp_path, monkeypatch):STRING
LOWtests/unit/test_main_module_alias.py148def test_no_alias_when_names_collide(tmp_path, monkeypatch):CODE
LOWtests/unit/test_main_module_alias.py174def test_no_reexecution_when_script_dir_shares_script_name(tmp_path, monkeypatch):CODE
LOWtests/unit/test_main_module_alias.py222def test_no_sibling_import_when_script_dir_has_same_name_module(tmp_path, monkeypatch):STRING
LOWtests/unit/test_main_module_alias.py282def test_main_module_alias_with_explicit_name(tmp_path, monkeypatch):STRING
LOWtests/unit/test_main_module_alias.py344def test_main_module_alias_with_app_factory(tmp_path, monkeypatch):STRING
LOW⚡tests/unit/test_pydantic_types.py10 def test_json_schema_is_number(self):CODE
LOW⚡tests/unit/test_pydantic_types.py16 def test_produces_object_schema(self):CODE
LOW⚡tests/unit/test_pydantic_types.py21 def test_schema_has_type_and_props(self):CODE
LOW⚡tests/unit/test_pydantic_types.py29 def test_dispatch_body_schema(self):CODE
LOW⚡tests/unit/test_pydantic_types.py34 def test_dispatch_response_schema(self):CODE
LOWtests/unit/test_app_runners.py15def test_threaded_server_smoke(dash_thread_server):CODE
LOWtests/unit/test_app_runners.py30def test_threaded_server_wrapped_fastapi(monkeypatch):CODE
LOWtests/unit/test_app_runners.py64def test_process_server_smoke(dash_process_server):CODE
LOWtests/unit/test_app_runners.py86def test_run_app_uses_backend_type(server_type, expected_options):CODE
LOWtests/unit/test_health_endpoint_unit.py42def test_health_respects_routes_pathname_prefix():CODE
LOWtests/unit/test_health_endpoint_unit.py54def test_health_custom_nested_path():CODE
LOWtests/unit/test_browser.py21def test_browser_use_remote_webdriver(tmpdir):CODE
LOWtests/unit/test_async_background_callback_job_fn.py63def test_diskcache_async_job_fn_exception_is_reported():CODE
LOW⚡tests/unit/test_async_background_callback_job_fn.py74def test_diskcache_async_job_fn_prevent_update_is_reported():CODE
LOW⚡tests/unit/test_async_background_callback_job_fn.py84def test_diskcache_async_job_fn_success_is_reported():CODE
LOW⚡tests/unit/test_async_background_callback_job_fn.py94def test_celery_async_job_fn_exception_is_reported():CODE
LOWtests/unit/test_async_background_callback_job_fn.py105def test_celery_async_job_fn_prevent_update_is_reported():CODE
LOWtests/unit/test_async_background_callback_job_fn.py115def test_celery_async_job_fn_success_is_reported():CODE
391 more matches not shown…
Cross-Language Confusion49 hits · 251 pts
SeverityFileLineSnippetContext
HIGH⚡tests/unit/mcp/tools/test_mcp_input_schemas.py41 """``{anyOf: [*schemas, {type: null}]}`` — a common nullable-type shape."""STRING
HIGHtests/backend_tests/test_preconfig_backends.py32 window._lastResponseHeaders = null;STRING
HIGHtests/integration/callbacks/test_wildcards.py902 unchanged, both sides are undefined, so its initial call is droppedSTRING
HIGHtests/integration/callbacks/test_basic_callback.py462 dash_duo.wait_for_text_to_equal("#output", '[null, null, "A"]')CODE
HIGHtests/integration/callbacks/test_basic_callback.py465 dash_duo.wait_for_text_to_equal("#output", '[null, 1, "A"]')CODE
HIGHtests/integration/callbacks/test_callback_context.py91 '[{"prop_id": ".", "value": null}]',CODE
HIGH…_clientside_multiple_output_return_single_no_update.py26 return [null, null];STRING
HIGH⚡tests/integration/clientside/test_clientside.py417 "btn0.n_clicks = null, "CODE
HIGH⚡tests/integration/clientside/test_clientside.py418 '{"btn1":0}.n_clicks = null, 'CODE
HIGH⚡tests/integration/clientside/test_clientside.py419 '{"btn1":1}.n_clicks = null, 'CODE
HIGHtests/integration/clientside/test_clientside.py430 '{"btn1":0}.n_clicks = null, 'CODE
HIGHtests/integration/clientside/test_clientside.py431 '{"btn1":1}.n_clicks = null, 'CODE
HIGHtests/integration/clientside/test_clientside.py444 '{"btn1":1}.n_clicks = null, 'CODE
HIGHtests/integration/clientside/test_clientside.py456 '{"btn1":1}.n_clicks = null, 'CODE
HIGH⚡tests/integration/clientside/test_clientside.py556 "in0.value = null, "CODE
HIGH⚡tests/integration/clientside/test_clientside.py557 '{"in1":0}.value = null, 'CODE
HIGH⚡tests/integration/clientside/test_clientside.py558 '{"in1":1}.value = null, 'CODE
HIGHtests/integration/clientside/test_clientside.py569 '{"in1":0}.value = null, 'CODE
HIGHtests/integration/clientside/test_clientside.py570 '{"in1":1}.value = null, 'CODE
HIGHtests/integration/clientside/test_clientside.py582 '{"in1":1}.value = null, 'CODE
HIGHtests/integration/clientside/test_clientside.py594 '{"in1":1}.value = null, 'CODE
HIGHtests/streaming/test_stream_shutdown.py152 if (init && init.body && String(init.body).includes('streamDownlink')) {CODE
HIGHtests/async_tests/test_async_callbacks.py471 dash_duo.wait_for_text_to_equal("#output", '[null, null, "A"]')CODE
HIGHtests/async_tests/test_async_callbacks.py474 dash_duo.wait_for_text_to_equal("#output", '[null, 1, "A"]')CODE
HIGH…ore-components/tests/integration/dropdown/test_a11y.py347 return dropdownContent && dropdownContent.contains(activeElement);STRING
HIGH…ore-components/tests/integration/dropdown/test_a11y.py414 if (focused && focused.closest('.dash-options-list-option')) {STRING
HIGH…ore-components/tests/integration/dropdown/test_a11y.py417 return null;STRING
HIGH…ts/tests/integration/loading/test_loading_component.py264 "return gd_ === window.gd && gd_.__test__ === 'boo';"CODE
HIGH…-components/tests/integration/input/test_a11y_input.py66 return container === activeElement || container.contains(activeElement);STRING
HIGH…components/tests/integration/markdown/test_markdown.py566 "return window.MathJax && window.MathJax._sentinel"STRING
HIGH…s/tests/integration/location/test_location_callback.py173 window._test_link_event_counter = (window._test_link_event_counter || 0) + 1;STRING
HIGH…s/tests/integration/location/test_location_callback.py177 window._test_history_event_counter = (window._test_history_event_counter || 0) + 1;STRING
HIGH…nents/tests/integration/graph/test_graph_responsive.py109 # responsive=true will make the graph resize only if autosize=true|undefined, interestingly enough, responsive=undefCOMMENT
HIGH⚡…components/tests/integration/graph/test_graph_varia.py765 figure.layout.title = {text: String(n_fig || 0)};CODE
HIGH⚡…components/tests/integration/graph/test_graph_varia.py773 layout: {width: 300, height: 250, title: {text: String(n_fig || 0)}}CODE
HIGH⚡…components/tests/integration/graph/test_graph_varia.py783 let responsive = [true, false, 'auto'][(n_resp || 0) % 3];CODE
HIGH⚡…components/tests/integration/graph/test_graph_varia.py784 return [new_figure, responsive, (n_fig || 0) + ' ' + responsive];CODE
HIGH…e-components/tests/integration/link/test_link_event.py30 window._test_link_event_counter = (window._test_link_event_counter || 0) + 1;STRING
HIGH…e-components/tests/integration/link/test_link_event.py34 window._test_history_event_counter = (window._test_history_event_counter || 0) + 1;STRING
HIGH…/tests/integration/download/test_download_dataframe.py51 assert df.columns.equals(df_download.columns)CODE
HIGH…/tests/integration/download/test_download_dataframe.py52 assert df.index.equals(df_download.index)CODE
HIGH⚡…onents/tests/integration/store/test_component_props.py179 "#output", '[{"n_clicks": null}, {"n_clicks": null}, {"n_clicks": null}]'CODE
HIGH⚡…onents/tests/integration/store/test_component_props.py188 dash_dcc.wait_for_text_to_equal("#output", "[null, null, null]")CODE
HIGH⚡…onents/tests/integration/store/test_component_props.py198 "#output", '[{"n_clicks": null}, {"n_clicks": null}, {"n_clicks": null}]'CODE
HIGHcomponents/dash-table/tests/selenium/test_export.py28 assert df_bis.equals(df)CODE
HIGH⚡benchmarks/run.py120 " && window.dash_component_api.callbackGraphTime) || null;"CODE
HIGHdash/development/base_component.py379 # A component's children can be undefined, a string, another component,COMMENT
HIGHdash/development/_r_components_generation.py22 props <- props[!vapply(props, is.null, logical(1))]CODE
HIGHdash/testing/browser.py192 stash.push(c);STRING
Empty Error Handlers49 hits · 245 pts
SeverityFileLineSnippetContext
HIGHtests/backend_tests/test_threaded_runner_stop.py73except Exception: # pylint: disable=broad-exceptCODE
HIGHtests/integration/utils.py12except:CODE
HIGHtests/integration/test_legacy_components.py8except ImportError:CODE
HIGHtests/compliance/test_typing.py185except OSError:CODE
HIGHtests/streaming/test_stream_shutdown.py101except requests.RequestException:CODE
HIGH…s/tests/integration/calendar/test_date_picker_range.py153except (ElementClickInterceptedException, TimeoutException):CODE
HIGH…s/tests/integration/calendar/test_date_picker_range.py191except (ElementClickInterceptedException, TimeoutException):CODE
HIGH…s/tests/integration/calendar/test_date_picker_range.py199except (ElementClickInterceptedException, TimeoutException):CODE
HIGH…s/tests/integration/calendar/test_date_picker_range.py235except (ElementClickInterceptedException, TimeoutException):CODE
HIGH…/tests/integration/calendar/test_date_picker_single.py184except ElementClickInterceptedException:CODE
HIGH…/tests/integration/calendar/test_date_picker_single.py195except ElementClickInterceptedException:CODE
HIGH…/tests/integration/calendar/test_date_picker_single.py233except ElementClickInterceptedException:CODE
HIGHdash/_streaming.py315except BaseException: # pylint: disable=broad-exception-caughtCODE
HIGHdash/_validate.py522except exceptions.AppNotFoundError:CODE
HIGHdash/_validate.py601except ImportError:CODE
HIGHdash/_jupyter.py397except ImportError:CODE
HIGHdash/_jupyter.py413except SystemExit:CODE
HIGHdash/_jupyter.py433except queue.Empty:CODE
HIGHdash/_get_app.py56except LookupError:CODE
HIGHdash/_utils.py477except (ImportError, ValueError, OSError):CODE
HIGHdash/_utils.py91except KeyError:CODE
HIGHdash/development/base_component.py332except KeyError:CODE
HIGHdash/development/base_component.py361except KeyError:CODE
HIGHdash/backends/_fastapi.py341except RuntimeError:CODE
HIGHdash/backends/_fastapi.py982except WebSocketDisconnect:CODE
HIGHdash/backends/_quart.py806except asyncio.CancelledError:CODE
HIGHdash/backends/_quart.py808except Exception: # pylint: disable=broad-exception-caughtCODE
HIGHdash/backends/_quart.py322except (NotImplementedError, ValueError):CODE
HIGHdash/backends/ws.py350except asyncio.CancelledError:CODE
HIGHdash/backends/ws.py471except asyncio.CancelledError:CODE
HIGHdash/mcp/_configure.py87except AppNotFoundError:CODE
HIGHdash/mcp/_configure.py132except AppNotFoundError:CODE
HIGHdash/mcp/types/typing_utils.py22except AttributeError:CODE
HIGHdash/testing/application_runners.py326except psutil.NoSuchProcess:CODE
HIGHdash/testing/application_runners.py331except (psutil.TimeoutExpired, psutil.NoSuchProcess):CODE
HIGHdash/testing/application_runners.py321except psutil.NoSuchProcess:CODE
HIGHdash/testing/browser.py161except ImportError:CODE
HIGHdash/_shared_storage/local.py267except OSError:CODE
HIGHdash/_shared_storage/local.py523except OSError:CODE
HIGHdash/_shared_storage/local.py238except OSError:CODE
HIGHdash/_shared_storage/local.py569except OSError:CODE
HIGHdash/_shared_storage/local.py324except OSError:CODE
HIGHdash/_shared_storage/_transport.py111except (OSError, EOFError, ValueError):CODE
HIGHdash/_shared_storage/_transport.py145except OSError:CODE
HIGHdash/_shared_storage/_transport.py116except OSError:CODE
HIGHdash/_shared_storage/redis.py134except Exception: # pylint: disable=broad-exceptCODE
HIGHdash/background_callback/managers/diskcache_manager.py85except psutil.NoSuchProcess:CODE
HIGHdash/background_callback/managers/diskcache_manager.py90except (psutil.TimeoutExpired, psutil.NoSuchProcess):CODE
HIGHdash/background_callback/managers/diskcache_manager.py80except psutil.NoSuchProcess:CODE
Unused Imports181 hits · 161 pts
SeverityFileLineSnippetContext
LOWtests/utils.py4CODE
LOWtests/integration/test_legacy_components.py7CODE
LOWtests/integration/dash/org.py3CODE
LOW@plotly/dash-test-components/base/__init__.py12CODE
LOW…h-generator-test-component-typescript/base/__init__.py12CODE
LOW…ash-generator-test-component-standard/base/__init__.py12CODE
LOW…/dash-generator-test-component-nested/base/__init__.py12CODE
LOW…-core-components/dash_core_components_base/__init__.py7CODE
LOW…-core-components/dash_core_components_base/__init__.py9CODE
LOW…-core-components/dash_core_components_base/__init__.py9CODE
LOW…-core-components/dash_core_components_base/__init__.py9CODE
LOW…-core-components/dash_core_components_base/__init__.py9CODE
LOWcomponents/dash-html-components/tests/utils.py1CODE
LOW…-html-components/dash_html_components_base/__init__.py3CODE
LOWcomponents/dash-table/dash_table_base/__init__.py18CODE
LOWcomponents/dash-table/dash_table_base/__init__.py20CODE
LOWcomponents/dash-table/dash_table_base/__init__.py21CODE
LOWbenchmarks/scenarios.py22CODE
LOWbenchmarks/run.py32CODE
LOWdash/_stream_hub.py73CODE
LOWdash/__init__.py5CODE
LOWdash/__init__.py5CODE
LOWdash/__init__.py5CODE
LOWdash/__init__.py5CODE
LOWdash/__init__.py5CODE
LOWdash/__init__.py5CODE
LOWdash/__init__.py5CODE
LOWdash/__init__.py14CODE
LOWdash/__init__.py15CODE
LOWdash/__init__.py16CODE
LOWdash/__init__.py17CODE
LOWdash/__init__.py18CODE
LOWdash/__init__.py19CODE
LOWdash/__init__.py20CODE
LOWdash/__init__.py21CODE
LOWdash/__init__.py22CODE
LOWdash/__init__.py22CODE
LOWdash/__init__.py23CODE
LOWdash/__init__.py24CODE
LOWdash/__init__.py24CODE
LOWdash/__init__.py24CODE
LOWdash/__init__.py29CODE
LOWdash/__init__.py30CODE
LOWdash/__init__.py30CODE
LOWdash/__init__.py34CODE
LOWdash/__init__.py37CODE
LOWdash/__init__.py37CODE
LOWdash/__init__.py38CODE
LOWdash/__init__.py38CODE
LOWdash/__init__.py38CODE
LOWdash/__init__.py43CODE
LOWdash/__init__.py44CODE
LOWdash/__init__.py45CODE
LOWdash/__init__.py47CODE
LOWdash/__init__.py47CODE
LOWdash/__init__.py47CODE
LOWdash/__init__.py47CODE
LOWdash/__init__.py47CODE
LOWdash/__init__.py47CODE
LOWdash/__init__.py47CODE
121 more matches not shown…
Excessive Try-Catch Wrapping74 hits · 86 pts
SeverityFileLineSnippetContext
LOWtests/unit/test_pages_router_race.py78 except Exception as e: # noqa: BLE001CODE
LOWtests/backend_tests/test_threaded_runner_stop.py73 except Exception: # pylint: disable=broad-exceptCODE
LOWtests/integration/test_hooks.py260 except Exception:CODE
LOWtests/integration/test_hooks.py269 except Exception:CODE
LOWtests/integration/test_hooks.py282 except Exception as err:CODE
MEDIUMtests/integration/test_hooks.py256def layout_hook(layout):CODE
MEDIUMtests/integration/test_hooks.py265def error_hook(error):CODE
MEDIUMtests/integration/test_hooks.py277def callback_hook(n_clicks):CODE
LOWtests/shared_storage/test_topic_ttl.py32 except Exception: # pylint: disable=broad-exceptCODE
LOWtests/shared_storage/test_topic_ttl.py101 except Exception as err: # pylint: disable=broad-exceptCODE
MEDIUMtests/shared_storage/test_topic_ttl.py24def _redis_available():CODE
MEDIUMtests/shared_storage/test_topic_ttl.py97def read():CODE
LOWtests/shared_storage/test_dash_integration.py33 except Exception: # pylint: disable=broad-exceptCODE
MEDIUMtests/shared_storage/test_dash_integration.py25def _redis_available():CODE
LOWtests/shared_storage/test_redis_backend.py32 except Exception: # pylint: disable=broad-exceptCODE
MEDIUMtests/shared_storage/test_redis_backend.py26def _redis_available():CODE
LOW…ents/tests/integration/misc/test_popover_visibility.py35 except Exception as e:CODE
LOW…e-components/tests/integration/calendar/test_portal.py44 except Exception as e:CODE
LOW…components/tests/integration/graph/test_graph_varia.py601 except Exception as e:CODE
LOWbenchmarks/run.py479 except Exception as exc: # keep the suite going if one app misbehavesCODE
LOWdash/_stream_hub.py336 except Exception: # pylint: disable=broad-exception-caughtCODE
LOWdash/_stream_hub.py484 except Exception: # pylint: disable=broad-exception-caughtCODE
MEDIUMdash/_stream_hub.py330def stop() -> bool:CODE
LOWdash/_callback.py955 except Exception as err: # pylint: disable=broad-exception-caughtCODE
LOWdash/_callback.py1028 except Exception as err: # pylint: disable=broad-exception-caughtCODE
LOWdash/_callback.py1135 except Exception as err: # pylint: disable=broad-exception-caughtCODE
LOWdash/_compression.py47 except Exception as e:CODE
LOWdash/dash.py926 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWdash/dash.py1127 except Exception: # pylint: disable=broad-exceptCODE
LOWdash/dash.py2686 except Exception as e:CODE
LOWdash/_jupyter.py415 except Exception as error:CODE
LOWdash/_jupyter.py469 except Exception as final_error: # pylint: disable=broad-exceptCODE
MEDIUMdash/_jupyter.py410def run():CODE
LOWdash/_utils.py257 except Exception: # pylint: disable=broad-exceptCODE
MEDIUMdash/backends/_fastapi.py382def _setup_catchall(self):CODE
LOWdash/backends/_fastapi.py189 except Exception: # pylint: disable=broad-exception-caughtCODE
LOWdash/backends/_fastapi.py252 except Exception: # pylint: disable=broad-exception-caughtCODE
LOWdash/backends/_fastapi.py298 except Exception as e: # pylint: disable=W0718CODE
LOWdash/backends/_fastapi.py395 except Exception: # pylint: disable=broad-exception-caughtCODE
LOWdash/backends/_fastapi.py795 except Exception: # pylint: disable=broad-exception-caughtCODE
LOWdash/backends/_quart.py602 except Exception: # pylint: disable=broad-exception-caughtCODE
LOWdash/backends/_quart.py808 except Exception: # pylint: disable=broad-exception-caughtCODE
LOWdash/backends/ws.py392 except Exception: # pylint: disable=broad-exception-caughtCODE
LOWdash/backends/ws.py420 except Exception: # pylint: disable=broad-exception-caughtCODE
LOWdash/backends/ws.py524 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWdash/backends/ws.py726 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWdash/backends/ws.py776 except Exception as e: # pylint: disable=broad-exception-caughtCODE
MEDIUMdash/backends/ws.py701def execute() -> dict:CODE
LOWdash/mcp/_server.py305 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOW…h/mcp/primitives/tools/tool_decorated_mcp_functions.py28 except Exception: # pylint: disable=broad-exception-caughtCODE
LOW…h/mcp/primitives/tools/tool_decorated_mcp_functions.py67 except Exception: # pylint: disable=broad-exception-caughtCODE
LOW…h/mcp/primitives/tools/tool_decorated_mcp_functions.py141 except Exception as exc: # pylint: disable=broad-exception-caughtCODE
LOWdash/mcp/primitives/tools/callback_utils.py36 except Exception as err:CODE
LOWdash/mcp/primitives/tools/callback_adapter.py205 except Exception: # pylint: disable=broad-exception-caughtCODE
LOWdash/mcp/primitives/tools/callback_adapter.py360 except Exception: # pylint: disable=broad-exception-caughtCODE
LOW…ools/input_schemas/schema_callback_type_annotations.py42 except Exception: # pylint: disable=broad-exception-caughtCODE
LOW…h/mcp/primitives/tools/results/result_plotly_figure.py33 except Exception: # pylint: disable=broad-exception-caughtCODE
LOWdash/testing/application_runners.py221 except Exception as error:CODE
LOWdash/testing/application_runners.py243 except Exception as err: # pylint: disable=broad-exceptCODE
LOWdash/testing/application_runners.py305 except Exception as error:CODE
14 more matches not shown…
Deep Nesting83 hits · 81 pts
SeverityFileLineSnippetContext
LOWtests/unit/library/fixtures.py26CODE
LOWtests/backend_tests/test_custom_backend.py13CODE
LOWtests/compliance/test_typing.py68CODE
LOWtests/streaming/test_stream_wsgi.py49CODE
LOWtests/streaming/test_stream_shutdown.py73CODE
LOWtests/background_callback/utils.py77CODE
LOWtests/async_tests/utils.py77CODE
LOWcomponents/dash-table/tests/selenium/test_column.py220CODE
LOWcomponents/dash-table/tests/selenium/test_filter2.py12CODE
LOWcomponents/dash-table/tests/selenium/test_formatting.py9CODE
LOWbenchmarks/run.py137CODE
LOWbenchmarks/run.py226CODE
LOWbenchmarks/run.py346CODE
LOWdash/_stream_hub.py432CODE
LOWdash/_stream_hub.py550CODE
LOWdash/_callback.py688CODE
LOWdash/_callback.py743CODE
LOWdash/_callback.py820CODE
LOWdash/_callback.py889CODE
LOWdash/_callback.py1097CODE
LOWdash/_grouping.py20CODE
LOWdash/dash.py1009CODE
LOWdash/dash.py1306CODE
LOWdash/dash.py1745CODE
LOWdash/dash.py1823CODE
LOWdash/dash.py1933CODE
LOWdash/dash.py2222CODE
LOWdash/dash.py2460CODE
LOWdash/dash.py2512CODE
LOWdash/dash.py2767CODE
LOWdash/dash.py2871CODE
LOWdash/_streaming.py142CODE
LOWdash/_streaming.py204CODE
LOWdash/_streaming.py282CODE
LOWdash/_layout_utils.py193CODE
LOWdash/_layout_utils.py216CODE
LOWdash/_watch.py7CODE
LOWdash/_watch.py11CODE
LOWdash/_validate.py215CODE
LOWdash/_validate.py613CODE
LOWdash/_validate.py274CODE
LOWdash/resources.py50CODE
LOWdash/_jupyter.py490CODE
LOWdash/_utils.py146CODE
LOWdash/_pages.py442CODE
LOWdash/development/_collect_nodes.py9CODE
LOWdash/development/_collect_nodes.py22CODE
LOWdash/development/_collect_nodes.py35CODE
LOWdash/development/_collect_nodes.py49CODE
LOWdash/development/base_component.py158CODE
LOWdash/development/base_component.py304CODE
LOWdash/development/base_component.py401CODE
LOWdash/development/base_component.py436CODE
LOWdash/development/_jl_components_generation.py184CODE
LOWdash/development/_r_components_generation.py788CODE
LOWdash/development/_py_components_generation.py468CODE
LOWdash/development/build_process.py110CODE
LOWdash/backends/_fastapi.py107CODE
LOWdash/backends/_fastapi.py433CODE
LOWdash/backends/_fastapi.py743CODE
23 more matches not shown…
Synthetic Comment Markers5 hits · 28 pts
SeverityFileLineSnippetContext
HIGHCHANGELOG.md1112- [#2009](https://github.com/plotly/dash/pull/2009) Add support for Promises within Client-side callbacks as requested iCODE
HIGHCHANGELOG.md1112- [#2009](https://github.com/plotly/dash/pull/2009) Add support for Promises within Client-side callbacks as requested iCODE
HIGHCHANGELOG.md1240- [#1883](https://github.com/plotly/dash/pull/1883) in DataTable added `page_current` to `persisted_props` as requested CODE
HIGHCHANGELOG.md1240- [#1883](https://github.com/plotly/dash/pull/1883) in DataTable added `page_current` to `persisted_props` as requested CODE
HIGH…ore-components/tests/unit/computeSliderMarkers.test.ts4 * File is largely generated by ClaudeCOMMENT
Modern Structural Boilerplate22 hits · 22 pts
SeverityFileLineSnippetContext
LOW…ash-core-components/tests/dash_core_components_page.py8logger = logging.getLogger(__name__)CODE
LOWdash/_stream_hub.py80logger = logging.getLogger(__name__)CODE
LOWdash/_callback.py67logger = logging.getLogger(__name__)CODE
LOWdash/__init__.py73__all__ = [CODE
LOWdash/_streaming.py38logger = logging.getLogger(__name__)CODE
LOWdash/development/update_components.py17logger = logging.getLogger(__name__)CODE
LOWdash/development/build_process.py13logger = logging.getLogger(__name__)CODE
LOWdash/backends/_fastapi.py179 async def _setup_timing(self, request: Request) -> None:CODE
LOWdash/backends/__init__.py72__all__ = [CODE
LOWdash/backends/ws.py141 def set_prop_sync(self, component_id: str, prop_name: str, value: Any) -> None:CODE
LOWdash/backends/ws.py160 async def set_prop(self, component_id: str, prop_name: str, value: Any) -> None:CODE
LOWdash/mcp/__init__.py7__all__ = [CODE
LOWdash/mcp/_server.py47logger = logging.getLogger(__name__)CODE
LOWdash/mcp/tasks/__init__.py5__all__ = ["create_task", "get_task", "get_task_result", "cancel_task"]CODE
LOWdash/mcp/types/__init__.py42__all__ = [CODE
LOWdash/mcp/primitives/__init__.py11__all__ = [CODE
LOW…h/mcp/primitives/tools/results/result_plotly_figure.py17logger = logging.getLogger(__name__)CODE
LOWdash/testing/application_runners.py29logger = logging.getLogger(__name__)CODE
LOWdash/testing/wait.py11logger = logging.getLogger(__name__)CODE
LOWdash/testing/browser.py35logger = logging.getLogger(__name__)CODE
LOWdash/_shared_storage/_persistence.py32logger = logging.getLogger(__name__)CODE
LOWdash/_shared_storage/__init__.py20__all__ = [CODE
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICAL…sh-html-components/vignettes/dash-html-components.html20return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,tCODE
CRITICALcomponents/dash-table/tests/selenium/conftest.py388 self.mixin.driver.switch_to.active_element.send_keys(value + Keys.ENTER)CODE
Redundant / Tautological Comments11 hits · 14 pts
SeverityFileLineSnippetContext
LOWtests/compliance/test_typing.py89 # Check if dash is installed as editable or regular install.STRING
LOW…ore-components/tests/integration/dropdown/test_a11y.py809 # Check if the given elements are within the visible viewport of the dropdownCOMMENT
LOW…h-core-components/dash_core_components_base/express.py19 # Read the file contents and send it.COMMENT
LOW…h-core-components/dash_core_components_base/express.py84 # Check if the provided writer is known.COMMENT
LOWdash/_callback.py56 # Check if the function is a coroutine functionCOMMENT
LOWdash/fingerprint.py20 # Check if the resource has a fingerprintCOMMENT
LOWdash/dash.py1957 # Check if any level of current path matches ignore pathCOMMENT
LOWdash/dash.py237 # Check if the function is a coroutine functionSTRING
LOWdash/backends/_fastapi.py438 # Check if we're running in a thread (e.g., from testing framework)COMMENT
LOWdash/backends/_fastapi.py456 # Check if the file is outside the current working directoryCOMMENT
LOWdash/backends/_quart.py295 # Check if we're running in a non-main thread (e.g., testing context)COMMENT
Over-Commented Block14 hits · 14 pts
SeverityFileLineSnippetContext
LOWtests/unit/pages/sub_dir/custom_pages/__init__.py1# this directory is used for testing custom values of `pages_folder` param thatCOMMENT
LOWtests/unit/pages/custom_pages/__init__.py1# this directory is used for testing custom values of `pages_folder` param thatCOMMENT
LOWtests/streaming/__init__.py1# Streaming (async generator) callback tests. Require the `async` extraCOMMENT
LOWtests/async_tests/test_async_callbacks.py321 dash_duo.wait_for_text_to_equal("#out", str(i + 1))COMMENT
LOWrequirements/redis.txt1# Dependency used by RedisSharedStorage.COMMENT
LOWcomponents/dash-table/tests/selenium/test_bootstrap.py1# import dashCOMMENT
LOWcomponents/dash-table/tests/selenium/test_bootstrap.py21# columns=[COMMENT
LOWcomponents/dash-table/tests/selenium/test_bootstrap.py41# )COMMENT
LOWcomponents/dash-table/tests/selenium/test_bootstrap.py61# test,COMMENT
LOWbenchmarks/run.py301COMMENT
LOWdash/_stream_hub.py81COMMENT
LOWdash/_stream_hub.py101COMMENT
LOWdash/dash-renderer/src/actions/dependencies.js1621 // The patch itself tells us which components it created, includingCOMMENT
LOWdash/dash-renderer/src/observers/requestSlot.ts1import {isWebSocketAvailable, isWebSocketEnabled} from '../utils/workerClient';COMMENT
AI Slop Vocabulary4 hits · 14 pts
SeverityFileLineSnippetContext
MEDIUMcomponents/dash-table/dash-info.yaml19 # For comprehensive documentation of this package's features,COMMENT
MEDIUM⚡benchmarks/scenarios.py42# The last-rendered sentinel every layout ends with, so the harness can detectCOMMENT
MEDIUMbenchmarks/scenarios.py180 # regression shows. `growth_ms` is that late-append time; the harness alsoCOMMENT
MEDIUMdash/_stream_hub.py541 # Something was raised *into* this thread (a test harness thatCOMMENT
AI Structural Patterns12 hits · 12 pts
SeverityFileLineSnippetContext
LOWtests/unit/development/metadata_test.py137CODE
LOWtests/background_callback/app_ctx_cookies.py39CODE
LOWdash/_callback.py80CODE
LOWdash/_callback.py340CODE
LOWdash/dash.py484CODE
LOWdash/dash.py1555CODE
LOWdash/dash.py2222CODE
LOWdash/dash.py2512CODE
LOWdash/_pages.py159CODE
LOWdash/development/component_generator.py40CODE
LOWdash/development/_py_components_generation.py344CODE
LOWdash/testing/browser.py42CODE
Fake / Example Data12 hits · 12 pts
SeverityFileLineSnippetContext
LOWtests/integration/mcp/test_mcp_callback_behavior.py267 dash_duo.wait_for_text_to_equal("#out", "Jane Doe")CODE
LOWtests/integration/mcp/test_mcp_callback_behavior.py281 assert response["out"]["children"] == "Jane Doe"CODE
LOW…nents/dash-core-components/src/components/Textarea.tsx17 'placeholder',CODE
LOW…mponents/dash-core-components/src/components/Input.tsx30 'placeholder',CODE
LOWcomponents/dash-html-components/dash-info.yaml1594 htmlNobr("Lorem ipsum dolor sit amet,CODE
LOWcomponents/dash-html-components/dash-info.yaml1594 htmlNobr("Lorem ipsum dolor sit amet,CODE
LOW…nts/dash-html-components/scripts/extract-attributes.js26'noValidate', 'nonce', 'open', 'optimum', 'pattern', 'placeholder', 'playsInline', 'poster',CODE
LOW…ents/dash-html-components/scripts/data/attributes.json485 "placeholder": {CODE
LOW…ents/dash-html-components/scripts/data/attributes.json793 "placeholder",CODE
LOW…ents/dash-html-components/scripts/data/attributes.json824 "placeholder",CODE
LOWcomponents/dash-table/tests/selenium/conftest.py394 .get_attribute("placeholder")CODE
LOWcomponents/dash-table/tests/selenium/conftest.py468 ).get_attribute("placeholder")CODE
Self-Referential Comments4 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMcomponents/dash-core-components/dash_prop_typing.py1# This file is automatically loaded on build time to generate types.COMMENT
MEDIUMcomponents/dash-table/dash_prop_typing.py1# This file is automatically loaded on build time to generate types.COMMENT
MEDIUMdash/_callback.py1255 # Create a hash from the function, it will be the same alwaysSTRING
MEDIUMdash/background_callback/managers/diskcache_manager.py160 # Create a new event loop for the processCOMMENT
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHdash/_compression.py18 Decompress a gzip-compressed callback request body. The data is expected to be the raw bytes of a gzip-compresSTRING
HIGHdash/backends/ws.py180Request a current prop value or a nested part of it from the client. On the event-loop path (``self._loop`` setSTRING
Dead Code1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMtests/integration/callbacks/test_prevent_update.py37CODE
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOWdash/__init__.py2# __plotly_dash is for the "make sure you don't have a dash.py" checkCOMMENT