AI Slop Code RIsk Monitor

Textualize/textual

The lean application framework for Python. Build sophisticated user interfaces with a simple Python API. Run your apps in the terminal and a web browser.

21.1 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for Textualize/textual, a Python project with 37,425 GitHub stars. SynthScan examined 175,190 lines of code across 1331 source files, recording 2466 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 21.1 (Elevated 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.

21.1
Adjusted Signal
21.1
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
37.4K
Stars
Python
Language
175.2K
Lines of Code
1.3K
Files
2.5K
Pattern Hits
2026-10-12
Scan Date
0.25
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 43.8/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 12.7/100 · LOW

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

Agent Over-Engineering Ratio 50.7/100 · HIGH

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

PR Review Velocity Impact 69.5/100 · HIGH

Which changes need focused human review? 2466 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 0HIGH 337MEDIUM 6LOW 2123

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 2466 distinct pattern matches across 15 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.

Hyper-Verbose Identifiers1274 hits · 1242 pts
SeverityFileLineSnippetContext
LOWtests/test_collapsible.py26async def test_compose_default_collapsible():CODE
LOWtests/test_collapsible.py39async def test_compose_empty_collapsible():CODE
LOWtests/test_collapsible.py51async def test_compose_nested_collapsible():CODE
LOWtests/test_collapsible.py66async def test_compose_expanded_collapsible():CODE
LOWtests/test_collapsible.py79async def test_collapsible_collapsed_contents_display_false():CODE
LOWtests/test_collapsible.py91async def test_collapsible_expanded_contents_display_true():CODE
LOWtests/test_collapsible.py172async def test_expand_via_watcher_message():CODE
LOWtests/test_collapsible.py216async def test_collapse_via_watcher_message():CODE
LOWtests/test_collapsible.py238async def test_collapsible_title_reactive_change():CODE
LOWtests/test_tabs.py36async def test_compose_tabs_from_strings():CODE
LOWtests/test_tabs.py50async def test_compose_tabs_from_tabs():CODE
LOWtests/test_tabs.py115async def test_add_tab_before_badly():CODE
LOWtests/test_tabs.py194async def test_add_tab_before_and_after():CODE
LOWtests/test_tabs.py250async def test_remove_tabs_reversed():CODE
LOWtests/test_tabs.py300async def test_change_active_from_code():CODE
LOWtests/test_tabs.py323async def test_navigate_tabs_with_keyboard():CODE
LOWtests/test_tabs.py353async def test_navigate_empty_tabs_with_keyboard():CODE
LOWtests/test_tabs.py375async def test_navigate_tabs_with_mouse():CODE
LOWtests/test_tabs.py426async def test_change_tab_with_code_messages():CODE
LOWtests/test_tabs.py437async def test_remove_tabs_messages():CODE
LOWtests/test_tabs.py454async def test_reverse_remove_tabs_messages():CODE
LOWtests/test_tabs.py468async def test_keyboard_navigation_messages():CODE
LOWtests/test_tabs.py482async def test_mouse_navigation_messages():CODE
LOWtests/test_tabs.py496async def test_disabled_tab_is_not_activated_by_clicking_underline():CODE
LOWtests/test_resolve.py64async def test_resolve_fraction_unit():CODE
LOWtests/test_resolve.py127async def test_resolve_fraction_unit_stress_test():CODE
LOWtests/test_screen_modes.py146async def test_screen_stack_preserved(ModesApp: Type[App]):CODE
LOWtests/test_screen_modes.py171async def test_multiple_mode_callbacks():CODE
LOW⚡tests/test_data_table.py251async def test_add_row_duplicate_key():CODE
LOW⚡tests/test_data_table.py261async def test_add_row_too_many_values():CODE
LOW⚡tests/test_data_table.py271async def test_add_column_duplicate_key():CODE
LOW⚡tests/test_data_table.py280async def test_add_column_with_width():CODE
LOW⚡tests/test_data_table.py445async def test_get_cell_returns_value_at_cell():CODE
LOW⚡tests/test_data_table.py454async def test_get_cell_invalid_row_key():CODE
LOW⚡tests/test_data_table.py464async def test_get_cell_invalid_column_key():CODE
LOW⚡tests/test_data_table.py474async def test_get_cell_coordinate_returns_coordinate():CODE
LOW⚡tests/test_data_table.py686async def test_update_cell_cell_exists():CODE
LOW⚡tests/test_data_table.py696async def test_update_cell_cell_doesnt_exist():CODE
LOW⚡tests/test_data_table.py706async def test_update_cell_invalid_column_key():CODE
LOWtests/test_data_table.py67async def test_datatable_message_emission():CODE
LOWtests/test_data_table.py172async def test_empty_table_interactions():CODE
LOWtests/test_data_table.py182async def test_cursor_movement_with_home_pagedown_etc(show_header):CODE
LOWtests/test_data_table.py221async def test_add_rows_user_defined_keys():CODE
LOWtests/test_data_table.py303async def test_add_columns_with_tuples():CODE
LOWtests/test_data_table.py322async def test_add_columns_user_defined_keys():CODE
LOWtests/test_data_table.py344async def test_remove_row_and_update():CODE
LOWtests/test_data_table.py371async def test_remove_column_and_update():CODE
LOWtests/test_data_table.py426async def test_initial_column_widths() -> None:CODE
LOWtests/test_data_table.py492async def test_get_cell_coordinate_invalid_row_key():CODE
LOWtests/test_data_table.py503async def test_get_cell_coordinate_invalid_column_key():CODE
LOWtests/test_data_table.py514async def test_get_cell_at_returns_value_at_cell():CODE
LOWtests/test_data_table.py523async def test_get_cell_at_exception():CODE
LOWtests/test_data_table.py549async def test_get_row_invalid_row_key():CODE
LOWtests/test_data_table.py576async def test_get_row_at_invalid_index(index):CODE
LOWtests/test_data_table.py587async def test_get_row_index_returns_index():CODE
LOWtests/test_data_table.py602async def test_get_row_index_invalid_row_key():CODE
LOWtests/test_data_table.py627async def test_get_column_invalid_key():CODE
LOWtests/test_data_table.py650async def test_get_column_at_invalid_index(index):CODE
LOWtests/test_data_table.py658async def test_get_column_index_returns_index():CODE
LOWtests/test_data_table.py673async def test_get_column_index_invalid_column_key():CODE
1214 more matches not shown…
Docstring Block Structure117 hits · 585 pts
SeverityFileLineSnippetContext
HIGHsrc/textual/screen.py634Get the widget at a given coordinate. Args: x: X Coordinate. y: Y Coordinate. STRING
HIGHsrc/textual/screen.py649Get the widget, and its region directly under the mouse, and the first widget, region pair with a hover style. STRING
HIGHsrc/textual/screen.py741Get the screen region of a Widget. Args: widget: A Widget within the composition. Returns:STRING
HIGHsrc/textual/_path.py22Normalize the supplied CSSPathType into a list of paths. Args: css_path: Value to be normalized. RaiseSTRING
HIGHsrc/textual/pilot.py109Simulate a [`MouseDown`][textual.events.MouseDown] event at a specified position. The final position for the evSTRING
HIGHsrc/textual/pilot.py155Simulate a [`MouseUp`][textual.events.MouseUp] event at a specified position. The final position for the event STRING
HIGHsrc/textual/pilot.py202Simulate clicking with the mouse at a specified position. The final position to be clicked is computed based onSTRING
HIGHsrc/textual/pilot.py260Simulate double clicking with the mouse at a specified position. Alias for `pilot.click(..., times=2)`. STRING
HIGHsrc/textual/pilot.py309Simulate triple clicking with the mouse at a specified position. Alias for `pilot.click(..., times=3)`. STRING
HIGHsrc/textual/pilot.py354Simulate hovering with the mouse cursor at a specified position. The final position to be hovered is computed bSTRING
HIGHsrc/textual/pilot.py394Simulate a series of mouse events to be fired at a given position. The final position for the events is computeSTRING
HIGHsrc/textual/pilot.py474Wait for the current screen and its children to have processed all pending events. Args: timeout: ASTRING
HIGHsrc/textual/_import_app.py36Import an app from a path or import name. Args: import_name: A name to import, such as `foo.bar`, or a pathSTRING
HIGHsrc/textual/color.py515Parse a string containing a named color or CSS-style color. Colors may be parsed from the following formats: STRING
HIGHsrc/textual/widget.py697Get a common ancestors to both widgets. Raises: ValueError: If there is no common ancestor and `defSTRING
HIGHsrc/textual/widget.py1094Return the first child (immediate descendent) of this node with the given ID. Args: id: The ID of tSTRING
HIGHsrc/textual/widget.py1131Return the first descendant widget with the given ID. Performs a depth-first search rooted at this widget. STRING
HIGHsrc/textual/widget.py1155Get the first immediate child of a given type. Only returns exact matches, and so will not match subclasses of STRING
HIGHsrc/textual/widget.py1178Get a *Rich* style for a component. Args: names: Names of components. partial: Return aSTRING
HIGHsrc/textual/widget.py1376Attempt to locate the point where the caller wants to mount something. Args: spot: The spot to findSTRING
HIGHsrc/textual/widget.py1430Mount widgets below this widget (making this widget a container). Args: *widgets: The widget(s) to STRING
HIGHsrc/textual/widget.py1520Mount widgets from an iterable. Args: widgets: An iterable of widgets. before: OptionalSTRING
HIGHsrc/textual/widget.py1553Mount widgets from the result of a compose method. Example: ```python def on_key(self, evenSTRING
HIGHsrc/textual/_binary_encode.py149Recursively encode data. Args: datum: Data suitable for encoding. Raises: TypeSTRING
HIGHsrc/textual/_binary_encode.py170Load an encoded data structure from bytes. Args: encoded: Encoded data in bytes. Raises: DecodSTRING
HIGHsrc/textual/_binary_encode.py211Get a number of bytes of encode data. Args: size: Number of bytes to retrieve. Raises: STRING
HIGHsrc/textual/_immutable_sequence_view.py53Return the index of the given item. Args: item: The item to find in the sequence. startSTRING
HIGHsrc/textual/_duration.py19 Args: duration: A string of the form `"2s"` or `"300ms"`, representing 2 seconds and 300 millisSTRING
HIGHsrc/textual/actions.py27Parses an action string. Args: action: String containing action. Raises: ActionError: If the aSTRING
HIGHsrc/textual/markup.py298Convert markup to Content. Args: markup: String containing markup. style: Optional base style. STRING
HIGHsrc/textual/markup.py328Internal function to convert markup to Content. Args: markup: String containing markup. style: OptiSTRING
HIGHsrc/textual/_parser.py66Feed data to be parsed. Args: data: Data to parser. Raises: ParseError: If theSTRING
HIGHsrc/textual/_compositor.py830Get the widget under a given coordinate. Args: x: X Coordinate. y: Y Coordinate. STRING
HIGHsrc/textual/_compositor.py971Get information regarding the relative position of a widget in the Compositor. Args: widget: The WiSTRING
HIGHsrc/textual/_event_broker.py18Extract action from meta dict. Args: event_name: Event to check from. meta: Meta information (storeSTRING
HIGHsrc/textual/content.py237Construct content from Text or str. If the argument is already Content, then return it unmodified. ThisSTRING
HIGHsrc/textual/_segment_tools.py38Given a character index, return the cell position of that character within an Iterable of Segments. This is the sum STRING
HIGHsrc/textual/geometry.py1219Unpack padding specified in CSS style. Args: pad: An integer, or tuple of 1, 2, or 4 integers. STRING
HIGHsrc/textual/app.py1251Get the screen stack for the given mode, or the current mode if no mode is specified. Args: mode: NSTRING
HIGHsrc/textual/app.py1794Run a callable from another thread, and return the result. Like asyncio apps in general, Textual apps are not tSTRING
HIGHsrc/textual/app.py2433Get the first child (immediate descendant) of this DOMNode with the given ID. Args: id: The ID of tSTRING
HIGHsrc/textual/app.py2466Get the first descendant widget with the given ID. Performs a breadth-first search rooted at the current screenSTRING
HIGHsrc/textual/app.py2491Get a child of a give type. Args: expect_type: The type of the expected child. Raises: STRING
HIGHsrc/textual/app.py2531Mount the given widgets relative to the app's screen. Args: *widgets: The widget(s) to mount. STRING
HIGHsrc/textual/app.py2561Mount widgets from an iterable. Args: widgets: An iterable of widgets. before: OptionalSTRING
HIGHsrc/textual/app.py2631Switch to a given mode. Args: mode: The mode to switch to. Returns: An optionaSTRING
HIGHsrc/textual/app.py2764Get an installed screen. Example: ```python my_screen = self.get_screen("settings", MySSTRING
HIGHsrc/textual/app.py2798Get an installed screen and an AwaitMount object. If the screen isn't running, it will be registered before it STRING
HIGHsrc/textual/app.py2903Push a new [screen](/guide/screens) on the screen stack, making it the current screen. Args: screenSTRING
HIGHsrc/textual/app.py3037Install a screen. Installing a screen prevents Textual from destroying it when it is no longer on the screen stSTRING
HIGHsrc/textual/app.py4173Parse an action. Args: action: An action string. default_namespace: Namespace to user wSTRING
HIGHsrc/textual/visual.py76Get a visual instance from an object. If the object does not support the Visual protocol and is a Rich renderable, STRING
HIGHsrc/textual/binding.py379Get a list of bindings for a given key. Args: key: Key to look up. Raises: NoBSTRING
HIGHsrc/textual/_dispatch_key.py13Dispatch a key event to method. This function will call the method named 'key_<event.key>' on a node if it exists. STRING
HIGHsrc/textual/dom.py602Get a "component" styles object (must be defined in COMPONENT_CLASSES classvar). Args: names: NamesSTRING
HIGHsrc/textual/dom.py1467Get a widget from this widget's children that matches a selector or widget type. Args: selector: A STRING
HIGHsrc/textual/dom.py1553Get a widget from this widget's children that matches a selector or widget type, or `None` if there is no match.STRING
HIGHsrc/textual/dom.py1590Get a widget from this widget's children that matches a selector or widget type. !!! Note This methSTRING
HIGHsrc/textual/dom.py1670Get an ancestor which matches a query. Args: selector: A TCSS selector. expect_type: ExSTRING
HIGHsrc/textual/dom.py1910Check whether an action is enabled. Implement this method to add logic for [dynamic actions](/guide/actions#dynSTRING
57 more matches not shown…
Empty Error Handlers111 hits · 532 pts
SeverityFileLineSnippetContext
HIGHtests/snapshot_tests/test_snapshots.py4859except ColorParseError:CODE
HIGHdocs/examples/guide/reactivity/watch01.py24except ColorParseError:CODE
HIGHdocs/examples/guide/compound/byte03.py113except ValueError:CODE
HIGHexamples/calculator.py87except NoMatches:CODE
HIGHsrc/textual/screen.py1014except NoMatches:CODE
HIGHsrc/textual/screen.py1568except NoMatches:CODE
HIGHsrc/textual/screen.py1612except NoMatches:CODE
HIGHsrc/textual/screen.py1991except ValueError:CODE
HIGHsrc/textual/screen.py1997except ValueError:CODE
HIGHsrc/textual/screen.py1595except NoWidget:CODE
HIGHsrc/textual/screen.py1663except NoMatches:CODE
HIGHsrc/textual/screen.py1647except NoMatches:CODE
HIGHsrc/textual/worker.py438except LookupError:CODE
HIGHsrc/textual/message_pump.py719except LookupError:CODE
HIGHsrc/textual/message_pump.py366except QueueEmpty:CODE
HIGHsrc/textual/message_pump.py572except CancelledError:CODE
HIGHsrc/textual/message_pump.py547except CancelledError:CODE
HIGHsrc/textual/color.py560except ValueError:CODE
HIGHsrc/textual/command.py974except TimeoutError:CODE
HIGHsrc/textual/widget.py851except NoScreen:CODE
HIGHsrc/textual/widget.py3910except AttributeError:CODE
HIGHsrc/textual/widget.py4105except (ScreenStackError, NoActiveAppError, NoScreen):CODE
HIGHsrc/textual/widget.py4610except NoScreen:CODE
HIGHsrc/textual/widget.py4506except NoActiveAppError:CODE
HIGHsrc/textual/widget.py4550except NoScreen:CODE
HIGHsrc/textual/widget.py4593except NoScreen:CODE
HIGHsrc/textual/widget.py163except NoScreen:CODE
HIGHsrc/textual/_callback.py21except AttributeError:CODE
HIGHsrc/textual/_callback.py35except TypeError:CODE
HIGHsrc/textual/timer.py147except CancelledError:CODE
HIGHsrc/textual/timer.py121except CancelledError:CODE
HIGHsrc/textual/reactive.py187except AttributeError:CODE
HIGHsrc/textual/keys.py303except KeyError:CODE
HIGHsrc/textual/keys.py331except KeyError:CODE
HIGHsrc/textual/keys.py335except KeyError:CODE
HIGHsrc/textual/_parser.py87except StopIteration:CODE
HIGHsrc/textual/_compositor.py823except KeyError:CODE
HIGHsrc/textual/_compositor.py988except KeyError:CODE
HIGHsrc/textual/_compositor.py993except KeyError:CODE
HIGHsrc/textual/worker_manager.py180except asyncio.CancelledError:CODE
HIGHsrc/textual/content.py765except AttributeError:CODE
HIGHsrc/textual/_animator.py267except asyncio.CancelledError:CODE
HIGHsrc/textual/_animator.py391except KeyError:CODE
HIGHsrc/textual/geometry.py1486except ImportError:CODE
HIGHsrc/textual/app.py3573except ScreenStackError:CODE
HIGHsrc/textual/app.py3811except ScreenError:CODE
HIGHsrc/textual/app.py4388except (ScreenStackError, NoScreen):CODE
HIGHsrc/textual/app.py4476except NoMatches:CODE
HIGHsrc/textual/app.py4516except ScreenStackError:CODE
HIGHsrc/textual/app.py4601except ScreenStackError:CODE
HIGHsrc/textual/app.py4618except NoScreen:CODE
HIGHsrc/textual/app.py766except ImportError:CODE
HIGHsrc/textual/app.py2353except RuntimeError:CODE
HIGHsrc/textual/app.py3210except NoWidget:CODE
HIGHsrc/textual/app.py3462except asyncio.CancelledError:CODE
HIGHsrc/textual/app.py4438except NoScreen:CODE
HIGHsrc/textual/app.py4403except (ScreenStackError, NoScreen):CODE
HIGHsrc/textual/app.py2301except asyncio.CancelledError:CODE
HIGHsrc/textual/app.py4118except NoWidget:CODE
HIGHsrc/textual/app.py4134except NoScreen:CODE
51 more matches not shown…
Cross-File Repetition103 hits · 515 pts
SeverityFileLineSnippetContext
HIGHtests/test_modal.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHtests/snapshot_tests/test_snapshots.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHtests/snapshot_tests/snapshot_apps/log_write_lines.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHtests/snapshot_tests/snapshot_apps/text_selection.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/screens/modal03.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/screens/modal02.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/screens/modal01.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/styles/border_title.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/styles/border01.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/styles/dimensions04.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/styles/dimensions01.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/styles/outline01.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/styles/padding02.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/styles/dimensions02.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/styles/margin01.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/styles/padding01.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/styles/dimensions03.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/guide/styles/box_sizing01.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/scrollbar_size.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/scrollbars2.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/scrollbar_gutter.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/scrollbar_corner_color.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/overflow.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/margin.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/outline_vs_border.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/text_style.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/outline.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/scrollbars.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/scrollbar_visibility.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/padding.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/text_style_all.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/styles/scrollbar_size2.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/widgets/log.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHexamples/sidebar.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHsrc/textual/demo/widgets.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHtests/snapshot_tests/test_snapshots.py0\ def hello(name): print("hello" + name) def goodbye(name): print("goodbye" + name)STRING
HIGHdocs/examples/widgets/text_area_selection.py0\ def hello(name): print("hello" + name) def goodbye(name): print("goodbye" + name)STRING
HIGHdocs/examples/widgets/text_area_example.py0\ def hello(name): print("hello" + name) def goodbye(name): print("goodbye" + name)STRING
HIGHtests/snapshot_tests/test_snapshots.py0\ i must not fear. fear is the mind-killer. fear hello, world!is the little-death that brings total obliteration. i willSTRING
HIGHtests/text_area/test_selection_bindings.py0\ i must not fear. fear is the mind-killer. fear hello, world!is the little-death that brings total obliteration. i willSTRING
HIGHtests/text_area/test_edit_via_bindings.py0\ i must not fear. fear is the mind-killer. fear hello, world!is the little-death that brings total obliteration. i willSTRING
HIGHtests/text_area/test_selection.py0\ i must not fear. fear is the mind-killer. fear hello, world!is the little-death that brings total obliteration. i willSTRING
HIGHdocs/examples/guide/widgets/tooltip02.py0\ i must not fear. fear is the mind-killer. fear hello, world!is the little-death that brings total obliteration. i willSTRING
HIGHdocs/examples/guide/widgets/tooltip01.py0\ i must not fear. fear is the mind-killer. fear hello, world!is the little-death that brings total obliteration. i willSTRING
HIGHdocs/examples/styles/text_overflow.py0\ i must not fear. fear is the mind-killer. fear hello, world!is the little-death that brings total obliteration. i willSTRING
HIGHdocs/examples/styles/text_wrap.py0\ i must not fear. fear is the mind-killer. fear hello, world!is the little-death that brings total obliteration. i willSTRING
HIGHtests/text_area/test_edit_via_api.py0\ i must not fear. fear is the mind-killer. fear hello, world!is the little-death that brings total obliteration. i willSTRING
HIGHtests/snapshot_tests/snapshot_apps/unscoped_css.py0mywidget { height: auto; border: magenta; } label { border: solid green; }STRING
HIGHtests/snapshot_tests/snapshot_apps/scoped_css.py0mywidget { height: auto; border: magenta; } label { border: solid green; }STRING
HIGHdocs/blog/posts/release0-38-0.md0mywidget { height: auto; border: magenta; } label { border: solid green; }STRING
HIGH…/snapshot_tests/snapshot_apps/data_table_row_cursor.py0lane,swimmer,country,time 4,joseph schooling,singapore,50.39 2,michael phelps,united states,51.14 5,chad le clos,south aSTRING
HIGH…apshot_tests/snapshot_apps/data_table_column_cursor.py0lane,swimmer,country,time 4,joseph schooling,singapore,50.39 2,michael phelps,united states,51.14 5,chad le clos,south aSTRING
HIGHdocs/examples/widgets/rich_log.py0lane,swimmer,country,time 4,joseph schooling,singapore,50.39 2,michael phelps,united states,51.14 5,chad le clos,south aSTRING
HIGHsrc/textual/demo/widgets.py0lane,swimmer,country,time 4,joseph schooling,singapore,50.39 2,michael phelps,united states,51.14 5,chad le clos,south aSTRING
HIGHtests/select/test_remove.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/widgets/select_from_values_widget.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/widgets/select_widget.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/examples/widgets/select_widget_no_blank.py0i must not fear. fear is the mind-killer. fear is the little-death that brings total obliteration. i will face my fear. STRING
HIGHdocs/blog/posts/spinners-and-pbs-in-textual.md0event handler called when widget is added to the app.STRING
HIGHdocs/examples/tutorial/stopwatch05.py0event handler called when widget is added to the app.STRING
43 more matches not shown…
Unused Imports456 hits · 433 pts
SeverityFileLineSnippetContext
LOWtools/widget_documentation.py7CODE
LOWtests/test_command.py1CODE
LOWtests/test_collapsible.py1CODE
LOWtests/test_tabs.py1CODE
LOWtests/test_data_table.py1CODE
LOWtests/test_layout_resolve.py1CODE
LOWtests/test_unmount.py1CODE
LOWtests/test_features.py1CODE
LOWtests/test_validation.py1CODE
LOWtests/test_box_model.py1CODE
LOWtests/test_reactive.py1CODE
LOWtests/test_modal.py1CODE
LOWtests/test_actions.py1CODE
LOWtests/test_styles_cache.py1CODE
LOWtests/test_widget_navigation.py1CODE
LOWtests/test_on.py1CODE
LOWtests/test_widget_child_moving.py1CODE
LOWtests/test_content_switcher.py1CODE
LOWtests/test_binding_inheritance.py12CODE
LOWtests/test_widget.py629CODE
LOWtests/test_content.py1CODE
LOWtests/test_dynamic_bindings.py1CODE
LOWtests/test_tabbed_content.py1CODE
LOWtests/test_path.py1CODE
LOWtests/test_animator.py1CODE
LOWtests/test_screens.py1CODE
LOWtests/test_markdown.py3CODE
LOWtests/test_cache.py1CODE
LOWtests/test_cache.py1CODE
LOWtests/test_keymap.py1CODE
LOWtests/test_markup.py1CODE
LOWtests/tree/test_tree_cursor.py1CODE
LOWtests/tree/test_tree_messages.py1CODE
LOWtests/tree/test_tree_availability.py1CODE
LOWtests/tree/test_tree_clearing.py1CODE
LOWtests/tree/test_directory_tree.py1CODE
LOWtests/tree/test_tree_expand_etc.py1CODE
LOWtests/snapshot_tests/test_snapshots.py1CODE
LOWtests/snapshot_tests/test_snapshots.py13CODE
LOWtests/snapshot_tests/snapshot_apps/scroll_page.py1CODE
LOWtests/snapshot_tests/snapshot_apps/recompose.py1CODE
LOW…/snapshot_tests/snapshot_apps/directory_tree_reload.py3CODE
LOW…_tests/snapshot_apps/pretty_grid_gutter_interaction.py3CODE
LOW…apshot_tests/snapshot_apps/auto_grid_default_height.py1CODE
LOWtests/snapshot_tests/snapshot_apps/dynamic_bindings.py1CODE
LOWtests/snapshot_tests/snapshot_apps/mount_style_fix.py1CODE
LOW…t_tests/snapshot_apps/option_list_multiline_options.py1CODE
LOWtests/snapshot_tests/snapshot_apps/option_list.py1CODE
LOW…sts/snapshot_tests/snapshot_apps/recompose_on_mount.py1CODE
LOW…ts/snapshot_tests/snapshot_apps/nested_auto_heights.py3CODE
LOW…/snapshot_tests/snapshot_apps/data_table_add_column.py3CODE
LOWtests/snapshot_tests/snapshot_apps/text_selection.py6CODE
LOWtests/snapshot_tests/snapshot_apps/log_write.py3CODE
LOWtests/css/test_parse.py1CODE
LOWtests/css/test_nested_css.py1CODE
LOWtests/css/test_tokenize.py1CODE
LOWtests/text_area/test_history.py1CODE
LOWtests/input/test_input_replace.py1CODE
LOWtests/input/test_input_key_movement_actions.py3CODE
LOWtests/input/test_input_properties.py1CODE
396 more matches not shown…
Deep Nesting152 hits · 136 pts
SeverityFileLineSnippetContext
LOWtests/test_parser.py29CODE
LOWtests/test_focus.py306CODE
LOWtests/test_focus.py342CODE
LOWtests/test_tabbed_content.py798CODE
LOWtests/test_tabbed_content.py824CODE
LOWtests/test_tabbed_content.py802CODE
LOWtests/test_tabbed_content.py828CODE
LOWtests/snapshot_tests/snapshot_apps/hatch.py43CODE
LOWtests/snapshot_tests/snapshot_apps/auto_tab_active.py8CODE
LOWtests/snapshot_tests/snapshot_apps/grid_gutter.py29CODE
LOWexamples/calculator.py138CODE
LOWexamples/dictionary.py53CODE
LOWsrc/textual/screen.py408CODE
LOWsrc/textual/screen.py458CODE
LOWsrc/textual/screen.py828CODE
LOWsrc/textual/screen.py931CODE
LOWsrc/textual/screen.py1097CODE
LOWsrc/textual/screen.py1316CODE
LOWsrc/textual/screen.py1489CODE
LOWsrc/textual/screen.py1630CODE
LOWsrc/textual/screen.py1755CODE
LOWsrc/textual/screen.py1820CODE
LOWsrc/textual/_border.py326CODE
LOWsrc/textual/_border.py407CODE
LOWsrc/textual/message_pump.py562CODE
LOWsrc/textual/message_pump.py634CODE
LOWsrc/textual/message_pump.py707CODE
LOWsrc/textual/message_pump.py743CODE
LOWsrc/textual/_import_app.py35CODE
LOWsrc/textual/color.py514CODE
LOWsrc/textual/command.py347CODE
LOWsrc/textual/widget.py1217CODE
LOWsrc/textual/widget.py3951CODE
LOWsrc/textual/widget.py4545CODE
LOWsrc/textual/widget.py4695CODE
LOWsrc/textual/signal.py105CODE
LOWsrc/textual/style.py166CODE
LOWsrc/textual/_styles_cache.py267CODE
LOWsrc/textual/compose.py12CODE
LOWsrc/textual/_resolve.py18CODE
LOWsrc/textual/_resolve.py121CODE
LOWsrc/textual/_wrap.py32CODE
LOWsrc/textual/_loop.py48CODE
LOWsrc/textual/design.py91CODE
LOWsrc/textual/design.py248CODE
LOWsrc/textual/markup.py181CODE
LOWsrc/textual/markup.py323CODE
LOWsrc/textual/_arrange.py127CODE
LOWsrc/textual/_arrange.py204CODE
LOWsrc/textual/_compositor.py186CODE
LOWsrc/textual/_compositor.py324CODE
LOWsrc/textual/_compositor.py525CODE
LOWsrc/textual/_compositor.py768CODE
LOWsrc/textual/_compositor.py900CODE
LOWsrc/textual/_compositor.py1200CODE
LOWsrc/textual/_compositor.py548CODE
LOWsrc/textual/walk.py42CODE
LOWsrc/textual/content.py415CODE
LOWsrc/textual/content.py806CODE
LOWsrc/textual/content.py1452CODE
92 more matches not shown…
Modern Structural Boilerplate107 hits · 95 pts
SeverityFileLineSnippetContext
LOWtests/snapshot_tests/snapshot_apps/recompose.py50 def update_progress(self) -> None:STRING
LOWdocs/examples/guide/reactivity/recompose01.py23 def update_time(self) -> None:STRING
LOWdocs/examples/guide/reactivity/world_clock01.py38 def update_time(self) -> None:CODE
LOWdocs/examples/guide/reactivity/world_clock02.py38 def update_time(self) -> None:CODE
LOWdocs/examples/guide/reactivity/recompose02.py20 def update_time(self) -> None:STRING
LOWdocs/examples/guide/reactivity/world_clock03.py40 def update_time(self) -> None:CODE
LOWdocs/examples/guide/workers/weather04.py26 async def update_weather(self, city: str) -> None:CODE
LOWdocs/examples/guide/workers/weather05.py28 def update_weather(self, city: str) -> None:CODE
LOWdocs/examples/guide/workers/weather01.py23 async def update_weather(self, city: str) -> None:CODE
LOWdocs/examples/guide/workers/weather02.py23 async def update_weather(self, city: str) -> None:CODE
LOWdocs/examples/guide/workers/weather03.py25 async def update_weather(self, city: str) -> None:CODE
LOWdocs/examples/tutorial/stopwatch05.py19 def update_time(self) -> None:CODE
LOWdocs/examples/tutorial/stopwatch.py20 def update_time(self) -> None:CODE
LOWdocs/examples/tutorial/stopwatch06.py20 def update_time(self) -> None:CODE
LOWdocs/examples/how-to/inline02.py31 def update_clock(self) -> None:STRING
LOWdocs/examples/how-to/inline01.py24 def update_clock(self) -> None:STRING
LOWdocs/examples/widgets/clock.py24 def update_clock(self) -> None:STRING
LOWdocs/examples/widgets/selection_list_selected.py35 def update_selected_view(self) -> None:CODE
LOWexamples/clock.py24 def update_clock(self) -> None:STRING
LOWsrc/textual/screen.py583 def update_pointer_shape(self) -> None:CODE
LOWsrc/textual/screen.py1489 def _update_auto_focus(self) -> None:CODE
LOWsrc/textual/screen.py1564 def _update_tooltip(self, widget: Widget) -> None:CODE
LOWsrc/textual/screen.py1816 def _update_select(self) -> None:CODE
LOWsrc/textual/command.py62__all__ = [CODE
LOWsrc/textual/widget.py1055 def set_loading(self, loading: bool) -> None:CODE
LOWsrc/textual/widget.py1489 def update_styles(children: list[DOMNode]) -> None:CODE
LOWsrc/textual/widget.py2683 def _set_dirty(self, *regions: Region) -> None:CODE
LOWsrc/textual/widget.py2844 def set_scroll(self, x: float | None, y: float | None) -> None:CODE
LOWsrc/textual/widget.py4589 def set_focus(widget: Widget) -> None:CODE
LOWsrc/textual/theme.py523 def set_app_theme(name: str) -> None:CODE
LOWsrc/textual/_styles_cache.py74 def set_dirty(self, *regions: Region) -> None:CODE
LOWsrc/textual/compose.py9__all__ = ["compose"]CODE
LOWsrc/textual/_markup_playground.py103 def update_markup(self) -> None:STRING
LOWsrc/textual/await_complete.py38 def set_pre_await_callback(self, pre_await: CallbackType | None) -> None:CODE
LOWsrc/textual/clock.py63 def set_time(self, time: float) -> None:CODE
LOWsrc/textual/cache.py17__all__ = ["LRUCache", "FIFOCache"]CODE
LOWsrc/textual/__init__.py25__all__ = [CODE
LOWsrc/textual/message.py98 def _set_forwarded(self) -> None:CODE
LOWsrc/textual/types.py29__all__ = [CODE
LOWsrc/textual/markup.py13__all__ = ["MarkupError", "escape", "to_content"]CODE
LOWsrc/textual/_compositor.py1248 def update_widgets(self, widgets: set[Widget]) -> None:CODE
LOWsrc/textual/_win_sleep.py13__all__ = ["sleep"]CODE
LOWsrc/textual/content.py38__all__ = ["ContentType", "Content", "Span"]CODE
LOWsrc/textual/_cells.py5__all__ = ["cell_len", "cell_width_to_column_index"]CODE
LOWsrc/textual/app.py2504 def update_styles(self, node: DOMNode, animate: bool = True) -> None:CODE
LOWsrc/textual/app.py3150 def set_focus(self, widget: Widget | None, scroll_visible: bool = True) -> None:CODE
LOWsrc/textual/app.py3195 def _update_mouse_over(self, screen: Screen) -> None:CODE
LOWsrc/textual/app.py3916 def _set_pointer_shape(self, shape: str) -> None:CODE
LOWsrc/textual/app.py4011 def set_keymap(self, keymap: Keymap) -> None:CODE
LOWsrc/textual/app.py4027 def update_keymap(self, keymap: Keymap) -> None:CODE
LOWsrc/textual/dom.py1807 def update_node_styles(self, animate: bool = True) -> None:CODE
LOWsrc/textual/demo/game.py387 def update_clock(self) -> None:STRING
LOWsrc/textual/demo/widgets.py372 def update_log(self) -> None:STRING
LOWsrc/textual/demo/widgets.py384 def update_rich_log(self) -> None:STRING
LOWsrc/textual/demo/widgets.py570 def update_sparks(self) -> None:STRING
LOWsrc/textual/renderables/__init__.py1__all__ = ["bar", "blank", "digits", "gradient", "sparkline"]CODE
LOWsrc/textual/drivers/_input_reader.py3__all__ = ["InputReader"]CODE
LOWsrc/textual/drivers/linux_inline_driver.py193 async def update_size() -> None:CODE
LOWsrc/textual/css/styles.py1346 def _update_node(self, node: DOMNode) -> None:CODE
LOWsrc/textual/css/stylesheet.py211 def set_variables(self, variables: dict[str, str]) -> None:CODE
47 more matches not shown…
Excessive Try-Catch Wrapping69 hits · 64 pts
SeverityFileLineSnippetContext
LOWexamples/calculator.py151 except Exception:CODE
LOWexamples/dictionary.py45 except Exception:CODE
LOWexamples/code_browser.py74 except Exception:CODE
LOWsrc/textual/screen.py561 except Exception:CODE
LOWsrc/textual/screen.py1382 except Exception as error:CODE
LOWsrc/textual/worker.py375 except Exception as error:CODE
LOWsrc/textual/pilot.py488 except Exception:CODE
LOWsrc/textual/message_pump.py606 except Exception as error:CODE
LOWsrc/textual/message_pump.py646 except Exception as error:CODE
LOWsrc/textual/message_pump.py666 except Exception as error:CODE
LOWsrc/textual/message_pump.py690 except Exception as error:CODE
LOWsrc/textual/message_pump.py703 except Exception as error:CODE
LOWsrc/textual/message_pump.py895 except Exception:CODE
LOWsrc/textual/message_pump.py910 except Exception:CODE
LOWsrc/textual/message_pump.py917 except Exception as error:CODE
LOWsrc/textual/_import_app.py66 except Exception as error:CODE
LOWsrc/textual/command.py247 except Exception:CODE
LOWsrc/textual/command.py315 except Exception:CODE
MEDIUMsrc/textual/widget.py3903def __rich_repr__(self) -> rich.repr.Result:CODE
LOWsrc/textual/widget.py1311 except Exception:CODE
LOWsrc/textual/widget.py4724 except Exception as error:CODE
LOWsrc/textual/signal.py134 except Exception as error:CODE
LOWsrc/textual/style.py348 except Exception:CODE
LOWsrc/textual/compose.py84 except Exception as error:CODE
LOWsrc/textual/_markup_playground.py111 except Exception:STRING
LOWsrc/textual/_markup_playground.py131 except Exception as error:STRING
LOWsrc/textual/_markup_playground.py143 except Exception as error:STRING
LOWsrc/textual/timer.py194 except Exception as error:CODE
LOWsrc/textual/actions.py47 except Exception:CODE
LOWsrc/textual/_doc.py56 except Exception as error:CODE
LOWsrc/textual/_doc.py184 except Exception:CODE
LOWsrc/textual/markup.py318 except Exception as error:CODE
LOWsrc/textual/_win_sleep.py32except Exception:CODE
LOWsrc/textual/content.py1365 except Exception:CODE
LOWsrc/textual/_xterm_parser.py467 except Exception:CODE
LOWsrc/textual/geometry.py301 except Exception:CODE
LOWsrc/textual/geometry.py707 except Exception:CODE
LOWsrc/textual/app.py1755 except Exception as error:CODE
LOWsrc/textual/app.py2270 except Exception:CODE
LOWsrc/textual/app.py2398 except Exception as error:CODE
LOWsrc/textual/app.py3410 except Exception as error:CODE
LOWsrc/textual/app.py3451 except Exception:CODE
LOWsrc/textual/app.py3515 except Exception as error:CODE
LOWsrc/textual/app.py3865 except Exception as error:CODE
LOWsrc/textual/highlight.py163 except Exception:CODE
LOWsrc/textual/_debug.py25 except Exception:CODE
LOWsrc/textual/lazy.py120 except Exception:CODE
LOWsrc/textual/driver.py259 except Exception as error:CODE
LOWsrc/textual/_dispatch_key.py52 except Exception:CODE
LOWsrc/textual/_work_decorator.py137 except Exception:CODE
LOWsrc/textual/demo/home.py193 except Exception:CODE
LOWsrc/textual/demo/page.py73 except Exception:CODE
LOWsrc/textual/demo/widgets.py409 except Exception:STRING
LOWsrc/textual/drivers/_input_reader_windows.py29 except Exception:CODE
LOWsrc/textual/drivers/windows_driver.py118 except Exception as error:CODE
LOWsrc/textual/drivers/win32.py297 except Exception as error:CODE
LOWsrc/textual/drivers/linux_inline_driver.py301 except Exception as error:CODE
LOWsrc/textual/drivers/web_driver.py208 except Exception:CODE
LOWsrc/textual/drivers/web_driver.py283 except Exception as error:CODE
LOWsrc/textual/drivers/linux_driver.py371 except Exception:CODE
9 more matches not shown…
AI Structural Patterns38 hits · 30 pts
SeverityFileLineSnippetContext
LOWtests/utilities/render.py23CODE
LOWsrc/textual/widget.py2718CODE
LOWsrc/textual/widget.py2859CODE
LOWsrc/textual/widget.py2926CODE
LOWsrc/textual/widget.py2968CODE
LOWsrc/textual/widget.py3012CODE
LOWsrc/textual/widget.py3080CODE
LOWsrc/textual/widget.py3157CODE
LOWsrc/textual/widget.py3234CODE
LOWsrc/textual/widget.py3312CODE
LOWsrc/textual/widget.py3525CODE
LOWsrc/textual/widget.py3612CODE
LOWsrc/textual/widget.py3721CODE
LOWsrc/textual/widget.py3780CODE
LOWsrc/textual/containers.py273CODE
LOWsrc/textual/reactive.py142CODE
LOWsrc/textual/design.py47CODE
LOWsrc/textual/_doc.py63CODE
LOWsrc/textual/content.py620CODE
LOWsrc/textual/app.py1838CODE
LOWsrc/textual/scroll_view.py126CODE
LOWsrc/textual/scrollbar.py100CODE
LOWsrc/textual/validation.py219CODE
LOWsrc/textual/widgets/_select.py401CODE
LOWsrc/textual/widgets/_select.py450CODE
LOWsrc/textual/widgets/_static.py32CODE
LOWsrc/textual/widgets/_collapsible.py174CODE
LOWsrc/textual/widgets/_button.py331CODE
LOWsrc/textual/widgets/_progress_bar.py238CODE
LOWsrc/textual/widgets/_rich_log.py68CODE
LOWsrc/textual/widgets/_text_area.py584CODE
LOWsrc/textual/widgets/_text_area.py709CODE
LOWsrc/textual/widgets/_masked_input.py449CODE
LOWsrc/textual/widgets/_data_table.py683CODE
LOWsrc/textual/widgets/_label.py49CODE
LOWsrc/textual/widgets/_input.py354CODE
LOWsrc/textual/widgets/_sparkline.py56CODE
LOWsrc/textual/widgets/_toggle_button.py136CODE
Cross-Language Confusion6 hits · 28 pts
SeverityFileLineSnippetContext
HIGHtests/snapshot_tests/language_snippets.py485 if age >= 18 && isStudent {CODE
HIGHtests/snapshot_tests/language_snippets.py536if (age >= 18 && isStudent) {CODE
HIGHtests/snapshot_tests/language_snippets.py747 if age >= 18 && is_student {CODE
HIGHtests/snapshot_tests/language_snippets.py761 fruits.push("grape");CODE
HIGHtests/snapshot_tests/language_snippets.py865 if (age >= 18 && isStudent) {CODE
HIGHsrc/textual/layout.py112 Placements with adjusted region, or same instance if offset is null.STRING
Fake / Example Data16 hits · 16 pts
SeverityFileLineSnippetContext
LOWtests/snapshot_tests/language_snippets.py128> Lorem ipsumCODE
LOWtests/snapshot_tests/language_snippets.py205street = "123 Main St"CODE
LOWtests/snapshot_tests/language_snippets.py211name = "John Doe"CODE
LOWtests/snapshot_tests/language_snippets.py398 "name": "John Doe",CODE
LOWtests/snapshot_tests/language_snippets.py402 "street": "123 Main St",CODE
LOW⚡tests/snapshot_tests/test_snapshots.py907 panel = Panel("lorem ipsum dolor sit amet lorem ipsum dolor sit amet")CODE
LOW⚡tests/snapshot_tests/test_snapshots.py907 panel = Panel("lorem ipsum dolor sit amet lorem ipsum dolor sit amet")CODE
LOW…snapshot_tests/snapshot_apps/data_table_auto_height.py4LORUM_IPSUM = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et doCODE
LOW…snapshot_tests/snapshot_apps/data_table_auto_height.py4LORUM_IPSUM = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et doCODE
LOWdocs/blog/posts/release0-6-0.md79Use this widget in place of custom widgets you have yet to build when designing your UI. The colors are automatically cyCODE
LOWexamples/theme_sandbox.py51Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Sed euismod, nunc sit amet aliquam lacinia, nisCODE
LOWexamples/theme_sandbox.py51Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Sed euismod, nunc sit amet aliquam lacinia, nisCODE
LOWsrc/textual/_styles_cache.py50 ┃ Lorem ipsum dolor ┃◀┐ borderSTRING
LOWsrc/textual/widgets/_placeholder.py49_LOREM_IPSUM_PLACEHOLDER_TEXT = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam feugiat ac elit sit ametCODE
LOWsrc/textual/widgets/_placeholder.py49_LOREM_IPSUM_PLACEHOLDER_TEXT = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam feugiat ac elit sit ametCODE
LOWsrc/textual/widgets/_placeholder.py69 | text | Lorem Ipsum text. |STRING
Self-Referential Comments4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_query.py171 # Create a fake app to hold everything else.COMMENT
MEDIUMsrc/textual/_doc.py17# This module defines our "Custom Fences", powered by SuperFencesCOMMENT
MEDIUMsrc/textual/_compositor.py1175 # Create a crop region that surrounds all updates.COMMENT
MEDIUMsrc/textual/document/_history.py101 # Create a new batch (creating a "checkpoint").COMMENT
Redundant / Tautological Comments8 hits · 11 pts
SeverityFileLineSnippetContext
LOWtests/test_box_model.py70 # Set width to auto-detectCOMMENT
LOWtests/test_box_model.py77 # Set width to 100 vw which should make it the width of the parentCOMMENT
LOWtests/test_box_model.py120 # Set height to 100 vw which should make it the height of the parentCOMMENT
LOWsrc/textual/_cells.py29 # Check if the click landed on a character within this part.COMMENT
LOWsrc/textual/_cells.py38 # Check if the click falls within the boundary of the expanded tab.COMMENT
LOWsrc/textual/app.py4778 # Check if we're in an environment that permits this kind ofCOMMENT
LOWsrc/textual/renderables/bar.py64 # Check if we start/end on a number that rounds to a .5COMMENT
LOWsrc/textual/css/stylesheet.py673 # Check if this can / should be animated. It doesn't suffice to checkCOMMENT
Over-Commented Block4 hits · 4 pts
SeverityFileLineSnippetContext
LOWtests/test_binding_inheritance.py401async def test_focused_child_widget_with_movement_bindings_no_inherit() -> None:COMMENT
LOWtests/test_binding_inheritance.py461COMMENT
LOWtests/test_binding_inheritance.py521#COMMENT
LOWsrc/textual/drivers/linux_driver.py201 os.kill(os.getpid(), signal.SIGSTOP)COMMENT
AI Slop Vocabulary1 hit · 1 pts
SeverityFileLineSnippetContext
MEDIUMsrc/textual/signal.py33 """A signal that a widget may subscribe to, in order to invoke callbacks when an associated event occurs."""STRING