It's React, but in Python
This report presents the forensic synthetic code analysis of reactive-python/reactpy, a Python project with 8,141 GitHub stars. SynthScan v2.0 examined 30,584 lines of code across 289 source files, recording 572 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 19.7 places this repository in the Moderate 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).
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.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 572 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_utils.py | 96 | def test_string_to_reactpy_empty_source(source): | CODE |
| LOW⚡ | tests/test_utils.py | 101 | def test_string_to_reactpy_non_string_source(source): | CODE |
| LOW⚡ | tests/test_utils.py | 107 | def test_string_to_reactpy_missing_tags(source): | CODE |
| LOW⚡ | tests/test_utils.py | 222 | def test_string_to_reactpy_default_transforms(case): | CODE |
| LOW⚡ | tests/test_utils.py | 226 | def test_string_to_reactpy_intercept_links(): | CODE |
| LOW⚡ | tests/test_utils.py | 243 | def test_string_to_reactpy_custom_transform(): | CODE |
| LOW | tests/test_utils.py | 276 | def test_non_html_tag_behavior(): | CODE |
| LOW | tests/test_utils.py | 412 | def test_reactpy_to_string_error(): | CODE |
| LOW | tests/conftest.py | 56 | def assert_no_logged_exceptions(): | CODE |
| LOW | tests/test_html.py | 10 | async def test_script_re_run_on_content_change(display: DisplayFixture): | CODE |
| LOW⚡ | tests/test_html.py | 88 | def test_script_may_only_have_one_child(): | STRING |
| LOW⚡ | tests/test_html.py | 95 | def test_child_of_script_must_be_string(): | STRING |
| LOW⚡ | tests/test_html.py | 100 | def test_script_has_no_event_handlers(): | STRING |
| LOW | tests/test_html.py | 119 | def test_fragment_can_have_no_attributes(): | STRING |
| LOW | tests/test_widgets.py | 55 | async def test_use_linked_inputs_on_change(display: DisplayFixture): | STRING |
| LOW | tests/test_widgets.py | 83 | async def test_use_linked_inputs_on_change_with_cast(display: DisplayFixture): | STRING |
| LOW | tests/test_widgets.py | 110 | async def test_use_linked_inputs_ignore_empty(display: DisplayFixture): | STRING |
| LOW | tests/test_config.py | 26 | def test_reactpy_debug_toggle(): | CODE |
| LOW | tests/test_option.py | 16 | def test_option_from_os_environ(): | CODE |
| LOW | tests/test_option.py | 79 | def test_cannot_subscribe_immutable_option(): | CODE |
| LOW | tests/test_option.py | 124 | def test_option_parent_child_must_be_mutable(): | CODE |
| LOW | tests/test_option.py | 133 | def test_no_default_or_parent(): | CODE |
| LOW | tests/test_client.py | 56 | async def test_style_can_be_changed(display: DisplayFixture): | CODE |
| LOW | tests/test_client.py | 99 | async def test_slow_server_response_on_input_change(display: DisplayFixture): | CODE |
| LOW | tests/test_build_py_wheel.py | 9 | def _load_build_py_wheel_module(): | CODE |
| LOW | tests/test_build_py_wheel.py | 31 | def test_hatch_build_command_uses_python_module_when_available(tmp_path): | CODE |
| LOW | tests/test_build_py_wheel.py | 52 | def test_build_packaged_static_assets_runs_javascript_build(tmp_path): | CODE |
| LOW | tests/test_build_py_wheel.py | 78 | def test_main_skips_all_work_when_skip_env_var_is_set(tmp_path): | CODE |
| LOW | tests/test_build_py_wheel.py | 101 | def test_main_builds_static_assets_before_embedded_wheel(tmp_path): | CODE |
| LOW⚡ | tests/test_testing.py | 14 | def test_assert_reactpy_logged_does_not_suppress_errors(): | CODE |
| LOW⚡ | tests/test_testing.py | 21 | def test_assert_reactpy_logged_message(): | CODE |
| LOW⚡ | tests/test_testing.py | 29 | def test_assert_reactpy_logged_error(): | CODE |
| LOW | tests/test_testing.py | 90 | def test_assert_reactpy_logged_assertion_error_message(): | CODE |
| LOW | tests/test_testing.py | 104 | def test_assert_reactpy_logged_ignores_level(): | CODE |
| LOW | tests/test_testing.py | 115 | def test_assert_reactpy_did_not_log(): | CODE |
| LOW⚡ | tests/test_testing.py | 139 | async def test_simple_display_fixture(browser): | CODE |
| LOW⚡ | tests/test_testing.py | 145 | def test_list_logged_exceptions(): | CODE |
| LOW⚡ | tests/test_testing.py | 161 | async def test_hotswap_update_on_change(display: DisplayFixture): | CODE |
| LOW | tests/test_testing.py | 212 | async def test_backend_server_failure(): | CODE |
| LOW | tests/test_testing.py | 232 | async def test_display_fixture_headless_logic(): | CODE |
| LOW | tests/test_testing.py | 266 | async def test_display_fixture_internal_backend(): | CODE |
| LOW | tests/test_pyscript/test_components.py | 71 | async def test_root_component_error_hides_component(display: DisplayFixture): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 49 | def test_pyscript_component_html_renders_executor_markup(): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 83 | def test_pyscript_setup_html_renders_setup_assets(): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 109 | def test_extend_pyscript_config(): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 134 | def test_extend_pyscript_config_string_values(): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 160 | def test_reactpy_pkg_string_prefers_packaged_wheel(): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 182 | def test_reactpy_pkg_string_rebuilds_source_checkout_when_wheel_is_stale(): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 215 | def test_reactpy_pkg_string_reconstructs_installed_wheel_when_needed(): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 238 | def test_ensure_local_reactpy_wheel_keeps_current_source_checkout_wheel(): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 263 | def test_ensure_local_reactpy_wheel_replaces_stale_packaged_wheel_after_build(): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 295 | def test_ensure_local_reactpy_wheel_copies_built_wheel_when_packaged_copy_missing(): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 326 | def test_ensure_local_reactpy_wheel_raises_when_source_build_fails(): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 345 | def test_ensure_local_reactpy_wheel_raises_when_installed_wheel_is_missing(): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 364 | def test_find_current_reactpy_wheel_returns_none_for_missing_directory(tmp_path): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 368 | def test_source_checkout_exists_uses_repo_root_pyproject(tmp_path, monkeypatch): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 380 | def test_find_current_reactpy_wheel_selects_matching_local_version(tmp_path): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 403 | def test_wheel_is_stale_for_source_when_pyproject_changes(tmp_path): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 425 | def test_wheel_is_stale_for_source_ignores_cache_and_packaged_wheels(tmp_path): | CODE |
| LOW | tests/test_pyscript/test_utils.py | 453 | def test_wheel_is_not_stale_when_only_ignored_or_older_files_exist(tmp_path): | CODE |
| 305 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 1 | CODE | |
| LOW | tests/sample.py | 1 | CODE | |
| LOW | tests/test_build_py_wheel.py | 1 | CODE | |
| LOW | tests/tooling/layout.py | 1 | CODE | |
| LOW | tests/tooling/aio.py | 1 | CODE | |
| LOW | tests/tooling/select.py | 1 | CODE | |
| LOW | tests/test_asgi/test_init.py | 18 | CODE | |
| LOW | tests/test_core/test_event_inspect.py | 7 | CODE | |
| LOW | docs/docs_app/examples.py | 1 | CODE | |
| LOW | docs/source/_exts/reactpy_example.py | 1 | CODE | |
| LOW | docs/source/_exts/custom_autosectionlabel.py | 7 | CODE | |
| LOW | docs/source/_exts/autogen_api_docs.py | 1 | CODE | |
| LOW | src/reactpy/transforms.py | 1 | CODE | |
| LOW | src/reactpy/config.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 1 | CODE | |
| LOW | src/reactpy/__init__.py | 1 | CODE | |
| LOW | src/reactpy/__init__.py | 1 | CODE | |
| LOW | src/reactpy/__init__.py | 1 | CODE | |
| LOW | src/reactpy/__init__.py | 1 | CODE | |
| LOW | src/reactpy/__init__.py | 1 | CODE | |
| LOW | src/reactpy/__init__.py | 2 | CODE | |
| LOW | src/reactpy/__init__.py | 2 | CODE | |
| LOW | src/reactpy/__init__.py | 3 | CODE | |
| LOW | src/reactpy/__init__.py | 4 | CODE | |
| LOW | src/reactpy/__init__.py | 5 | CODE | |
| LOW | src/reactpy/__init__.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 6 | CODE | |
| LOW | src/reactpy/__init__.py | 21 | CODE | |
| LOW | src/reactpy/__init__.py | 22 | CODE | |
| LOW | src/reactpy/__init__.py | 23 | CODE | |
| LOW | src/reactpy/__init__.py | 23 | CODE | |
| LOW | src/reactpy/__init__.py | 23 | CODE | |
| LOW | src/reactpy/types.py | 1 | CODE | |
| LOW | src/reactpy/widgets.py | 1 | CODE | |
| LOW | src/reactpy/utils.py | 1 | CODE | |
| LOW | src/reactpy/_html.py | 1 | CODE | |
| LOW | src/reactpy/_option.py | 1 | CODE | |
| LOW | src/reactpy/templatetags/__init__.py | 1 | CODE | |
| LOW | src/reactpy/_console/rewrite_props.py | 1 | CODE | |
| LOW | src/reactpy/_console/ast_utils.py | 2 | CODE | |
| LOW | src/reactpy/_console/rewrite_keys.py | 1 | CODE | |
| LOW | src/reactpy/core/hooks.py | 1 | CODE | |
| LOW | src/reactpy/core/hooks.py | 6 | CODE | |
| LOW | src/reactpy/core/_event_inspect.py | 6 | CODE | |
| LOW | src/reactpy/core/events.py | 1 | CODE | |
| LOW | src/reactpy/core/layout.py | 1 | CODE | |
| LOW | src/reactpy/core/_life_cycle_hook.py | 1 | CODE | |
| LOW | src/reactpy/core/serve.py | 1 | CODE | |
| LOW | src/reactpy/core/vdom.py | 2 | CODE | |
| 41 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/test_core/test_event_inspect.py | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_core/test_event_inspect.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_core/test_event_inspect.py | 181 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_core/test_event_inspect.py | 183 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_core/test_event_inspect.py | 361 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_core/test_event_inspect.py | 364 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_core/test_event_inspect.py | 421 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_core/test_event_inspect.py | 423 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/tooling/layout.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | docs/docs_app/examples.py | 148 | def set_callback(self, function: Callable[[str], None]) -> None: | CODE |
| LOW | docs/source/_exts/custom_autosectionlabel.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/reactpy/logging.py | 31 | def _set_debug_level(debug: bool) -> None: | CODE |
| LOW | src/reactpy/__init__.py | 28 | __all__ = [ | CODE |
| LOW | src/reactpy/_html.py | 16 | __all__ = ["h", "html"] | CODE |
| LOW | src/reactpy/_option.py | 89 | def set_current(self, new: Any) -> None: | CODE |
| LOW | src/reactpy/templatetags/__init__.py | 3 | __all__ = ["ReactPyJinja"] | CODE |
| LOW | src/reactpy/core/hooks.py | 39 | __all__ = [ | CODE |
| LOW | src/reactpy/core/_life_cycle_hook.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/reactpy/core/_life_cycle_hook.py | 204 | def set_context_provider(self, provider: ContextProvider[Any]) -> None: | CODE |
| LOW⚡ | src/reactpy/core/_life_cycle_hook.py | 254 | def set_current(self) -> None: | CODE |
| LOW | src/reactpy/web/__init__.py | 8 | __all__ = [ | CODE |
| LOW | src/reactpy/web/module.py | 16 | __all__ = [ | CODE |
| LOW | src/reactpy/reactjs/__init__.py | 20 | __all__ = [ | CODE |
| LOW | src/reactpy/reactjs/utils.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/reactpy/reactjs/module.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/reactpy/testing/__init__.py | 17 | __all__ = [ | CODE |
| LOW | src/reactpy/executors/utils.py | 18 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 56 | CODE | |
| LOW | tests/test_reactjs/test_utils.py | 171 | CODE | |
| LOW | tests/test_reactjs/test_utils.py | 225 | CODE | |
| LOW | src/reactpy/_console/rewrite_props.py | 95 | CODE | |
| LOW | src/reactpy/_console/ast_utils.py | 97 | CODE | |
| LOW | src/reactpy/core/_event_inspect.py | 22 | CODE | |
| LOW | src/reactpy/core/layout.py | 877 | CODE | |
| LOW | src/reactpy/core/layout.py | 152 | CODE | |
| LOW | src/reactpy/core/layout.py | 274 | CODE | |
| LOW | src/reactpy/core/layout.py | 509 | CODE | |
| LOW | src/reactpy/core/vdom.py | 228 | CODE | |
| LOW | src/reactpy/core/vdom.py | 268 | CODE | |
| LOW | src/reactpy/reactjs/utils.py | 71 | CODE | |
| LOW | src/reactpy/reactjs/utils.py | 160 | CODE | |
| LOW | src/reactpy/testing/backend.py | 114 | CODE | |
| LOW | src/reactpy/testing/logs.py | 16 | CODE | |
| LOW | src/reactpy/testing/logs.py | 92 | CODE | |
| LOW | src/reactpy/executors/pyscript/utils.py | 234 | CODE | |
| LOW | src/reactpy/executors/pyscript/layout_handler.py | 48 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_core/test_layout.py | 1704 | # Define a target and a handler | COMMENT |
| MEDIUM | src/reactpy/_console/rewrite_props.py | 76 | # Create a copy of the value to avoid modifying the original | COMMENT |
| MEDIUM | src/reactpy/executors/asgi/middleware.py | 231 | # Create a connection object by analyzing the websocket's query string. | COMMENT |
| MEDIUM | src/reactpy/executors/pyscript/utils.py | 68 | # Create a valid PyScript executor by replacing the template values | COMMENT |
| MEDIUM | src/reactpy/executors/pyscript/component_template.py | 24 | # Create a task to run the user's component workspace | COMMENT |
| MEDIUM | src/reactpy/executors/pyscript/layout_handler.py | 37 | # Create a new container to render the layout into | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_testing.py | 135 | except Exception: | CODE |
| LOW⚡ | tests/test_testing.py | 153 | except Exception as error: | CODE |
| LOW | docs/docs_app/examples.py | 108 | except Exception: | CODE |
| LOW | src/reactpy/utils.py | 128 | except Exception as e: | CODE |
| LOW | src/reactpy/core/layout.py | 184 | except Exception: | CODE |
| LOW | src/reactpy/core/layout.py | 341 | except Exception as error: | CODE |
| LOW | src/reactpy/core/layout.py | 374 | except Exception as e: # nocov | CODE |
| LOW | src/reactpy/core/_life_cycle_hook.py | 171 | except Exception: | CODE |
| LOW⚡ | src/reactpy/core/_life_cycle_hook.py | 249 | except Exception: | CODE |
| MEDIUM | src/reactpy/core/_life_cycle_hook.py | 32 | def get(self) -> list[LifeCycleHook]: | CODE |
| LOW | src/reactpy/core/serve.py | 50 | except Exception: # nocov | CODE |
| LOW | src/reactpy/testing/logs.py | 34 | except Exception: | CODE |
| LOW | src/reactpy/executors/asgi/middleware.py | 248 | except Exception as error: | CODE |
| LOW | src/build_scripts/delete_old_coverage.py | 20 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_utils.py | 235 | # Check if the result equals expected when removing `eventHandlers` from the result dict | COMMENT |
| LOW⚡ | tests/test_reactjs/test_modules_from_npm.py | 80 | # Check if it has the correct class for primary variant | COMMENT |
| LOW⚡ | tests/test_reactjs/test_modules_from_npm.py | 85 | # Check if missing import map was logged | COMMENT |
| LOW | tests/test_reactjs/test_modules_from_npm.py | 32 | # Check if it has the correct class for primary variant | COMMENT |
| LOW | tests/test_reactjs/test_modules_from_npm.py | 57 | # Check if it has the correct class for primary variant | COMMENT |
| LOW | tests/test_reactjs/test_modules_from_npm.py | 382 | # Check if the button is visible and has correct text | COMMENT |
| LOW | tests/test_reactjs/test_modules_from_npm.py | 389 | # Check if Card is rendered (it usually has MuiCard-root class) | COMMENT |
| LOW | src/reactpy/_console/rewrite_props.py | 48 | # Check if the props need to be rewritten | COMMENT |
| LOW | src/reactpy/core/events.py | 127 | # Check if our `preventDefault` or `stopPropagation` methods were called | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_pyscript/test_components.py | 0 | override for the display fixture that uses reactpymiddleware. | STRING |
| HIGH | tests/test_asgi/test_pyscript.py | 0 | override for the display fixture that uses reactpymiddleware. | STRING |
| HIGH | tests/test_asgi/test_middleware.py | 0 | override for the display fixture that uses reactpymiddleware. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/source/conf.py | 241 | COMMENT | |
| LOW | docs/source/conf.py | 261 | # | COMMENT |
| LOW | docs/source/conf.py | 301 | # Bibliographic Dublin Core info. | COMMENT |
| LOW | .github/workflows/codeql-analysis.yml | 1 | # For most projects, this workflow file will not need changing; you simply need | COMMENT |
| LOW | src/js/packages/@reactpy/client/src/components.tsx | 241 | >(null); | COMMENT |
| LOW | src/js/packages/@reactpy/client/src/components.tsx | 261 | // cannot reliably distinguish a server snapshot from before some | COMMENT |
| LOW | src/js/packages/@reactpy/client/src/components.tsx | 281 | // user types faster than the server can ack. | COMMENT |
| LOW | src/js/packages/@reactpy/client/src/components.tsx | 341 | wrapped = debounceHandler(wrapped, handlerDebounce as number); | COMMENT |
| LOW | src/js/packages/@reactpy/client/src/components.tsx | 381 | // after the DOM has been updated and can be trusted, but we | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_web/test_module.py | 321 | "placeholder": "Username", | CODE |
| LOW | tests/test_web/test_module.py | 330 | "placeholder": "Recipient's username", | CODE |
| LOW | tests/test_web/test_module.py | 378 | "placeholder": "Username", | CODE |
| LOW | tests/test_web/test_module.py | 387 | "placeholder": "Recipient's username", | CODE |
| LOW | …activity/state-as-a-snapshot/_examples/send_message.py | 26 | "placeholder": "Your message here...", | CODE |
| LOW | …ty/state-as-a-snapshot/_examples/print_chat_message.py | 35 | "placeholder": "Your message...", | CODE |
| LOW | src/reactpy/transforms.py | 212 | "placeholder", | CODE |
| LOW | src/reactpy/types.py | 709 | "placeholder": str, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_asgi/test_standalone.py | 133 | window.__reactpySockets.push(this); | STRING |
| HIGH | src/reactpy/core/events.py | 153 | and not getattr(other, attr, undefined) == getattr(self, attr) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/reactpy/reactjs/module.py | 186 | Return an import map script tag for ReactJS or Preact. Parameters: framework: The framework | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/reactpy/reactjs/__init__.py | 107 | CODE | |
| LOW | src/reactpy/reactjs/__init__.py | 122 | CODE | |
| LOW | src/reactpy/reactjs/__init__.py | 136 | CODE | |
| LOW | src/reactpy/executors/asgi/pyscript.py | 26 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_core/test_events.py | 769 | # This is hard to orchestrate with exact timing in an integration test without hooks into the internal loop. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_testing.py | 220 | # Mock serve to just return (or sleep briefly then return) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_console/test_rewrite_keys.py | 67 | def my_function(): | STRING |
| LOW | tests/test_console/test_rewrite_keys.py | 72 | def my_function(): | STRING |