Repository Analysis

Textualize/rich

Rich is a Python library for rich text and beautiful formatting in the terminal.

12.7 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of Textualize/rich, a Python project with 56,850 GitHub stars. SynthScan v2.0 examined 68,106 lines of code across 454 source files, recording 544 pattern matches distributed across 13 syntactic categories. The overall adjusted score of 12.7 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

12.7
Adjusted Score
12.7
Raw Score
100%
Time Factor
2026-06-23
Last Push
56.9K
Stars
Python
Language
68.1K
Lines of Code
454
Files
544
Pattern Hits
2026-07-14
Scan Date
0.16
HC Hit Rate

What These Metrics Mean

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

Score History

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

Severity Breakdown

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

CRITICAL 0HIGH 72MEDIUM 7LOW 465

Directory Score Breakdown

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

Pattern Findings

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

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

Hyper-Verbose Identifiers215 hits · 234 pts
SeverityFileLineSnippetContext
LOWtests/test_pretty.py65def test_ipy_display_hook__repr_html() -> None:CODE
LOWtests/test_pretty.py79def test_ipy_display_hook__multiple_special_reprs() -> None:CODE
LOWtests/test_pretty.py101def test_ipy_display_hook__no_special_repr_methods() -> None:CODE
LOWtests/test_pretty.py113def test_ipy_display_hook__special_repr_raises_exception() -> None:CODE
LOWtests/test_pretty.py137def test_ipy_display_hook__console_renderables_on_newline() -> None:CODE
LOWtests/test_pretty.py234def test_pretty_namedtuple_length_one_no_trailing_comma() -> None:CODE
LOWtests/test_pretty.py239def test_pretty_namedtuple_empty() -> None:CODE
LOWtests/test_pretty.py244def test_pretty_namedtuple_custom_repr() -> None:CODE
LOWtests/test_pretty.py252def test_pretty_namedtuple_fields_invalid_type() -> None:CODE
LOWtests/test_pretty.py261def test_pretty_namedtuple_max_depth() -> None:CODE
LOWtests/test_pretty.py312def test_reference_cycle_container() -> None:CODE
LOWtests/test_pretty.py330def test_reference_cycle_namedtuple() -> None:CODE
LOWtests/test_pretty.py347def test_reference_cycle_dataclass() -> None:CODE
LOWtests/test_pretty.py370def test_reference_cycle_attrs() -> None:CODE
LOWtests/test_pretty.py393def test_reference_cycle_custom_repr() -> None:CODE
LOWtests/test_pretty.py730def test_tuple_rich_repr_default() -> None:CODE
LOWtests/test_pretty.py742def test_dataclass_no_attribute() -> None:CODE
LOWtests/test_filesize.py17def test_pick_unit_and_suffix():CODE
LOWtests/test_tree.py18def test_render_single_branch():CODE
LOWtests/test_tree.py30def test_render_double_branch():CODE
LOWtests/test_logging.py64def test_exception_with_extra_lines():CODE
LOWtests/test_logging.py94def test_stderr_and_stdout_are_none(monkeypatch):CODE
LOWtests/test_logging.py125def test_markup_and_highlight():CODE
LOWtests/test_win32_console.py30 def test_windows_coordinates_to_ctype():CODE
LOWtests/test_win32_console.py123 def test_write_styled_reverse(CODE
LOWtests/test_win32_console.py140 def test_write_styled_reverse(CODE
LOWtests/test_win32_console.py157 def test_write_styled_no_foreground_color(CODE
LOWtests/test_win32_console.py174 def test_write_styled_no_background_color(CODE
LOWtests/test_win32_console.py263 def test_move_cursor_to_out_of_bounds_row(CODE
LOWtests/test_win32_console.py274 def test_move_cursor_to_out_of_bounds_col(CODE
LOWtests/test_win32_console.py321 def test_move_cursor_forward_newline_wrap(CODE
LOWtests/test_win32_console.py338 def test_move_cursor_to_column(CODE
LOWtests/test_win32_console.py348 def test_move_cursor_backward(CODE
LOWtests/test_win32_console.py358 def test_move_cursor_backward_prev_line_wrap(CODE
LOWtests/test_console.py243def test_print_json_ensure_ascii() -> None:CODE
LOWtests/test_console.py252def test_print_json_with_default_ensure_ascii() -> None:CODE
LOWtests/test_console.py261def test_print_json_indent_none() -> None:CODE
LOWtests/test_console.py82def test_console_options_update() -> None:CODE
LOWtests/test_console.py106def test_console_options_update_height() -> None:CODE
LOWtests/test_console.py155def test_size_can_fall_back_to_std_descriptors(CODE
LOWtests/test_console.py164 def get_terminal_size_mock_impl(fileno: int = None) -> Tuple[int, int]:CODE
LOWtests/test_console.py195def test_print_empty_with_end() -> None:CODE
LOWtests/test_console.py448def test_justify_renderable_none() -> None:CODE
LOWtests/test_console.py460def test_justify_renderable_left() -> None:CODE
LOWtests/test_console.py472def test_justify_renderable_center() -> None:CODE
LOWtests/test_console.py484def test_justify_renderable_right() -> None:CODE
LOWtests/test_console.py504def test_render_broken_renderable() -> None:CODE
LOWtests/test_console.py551def test_export_svg_specified_unique_id() -> None:CODE
LOWtests/test_console.py837def test_update_options_markup() -> None:CODE
LOWtests/test_console.py872def test_is_terminal_broken_file() -> None:CODE
LOWtests/test_console.py915def test_render_lines_height_minus_vertical_pad_is_negative() -> None:CODE
LOWtests/test_console.py930def test_recording_no_stdout_and_no_stderr_files(monkeypatch) -> None:CODE
LOWtests/test_console.py943def test_capturing_no_stdout_and_no_stderr_files(monkeypatch) -> None:CODE
LOWtests/test_console.py980def test_reenable_highlighting() -> None:CODE
LOWtests/test_syntax.py75def test_python_render_simple() -> None:CODE
LOWtests/test_syntax.py90def test_python_render_simple_passing_lexer_instance() -> None:CODE
LOWtests/test_syntax.py106def test_python_render_simple_indent_guides() -> None:CODE
LOWtests/test_syntax.py123def test_python_render_line_range_indent_guides() -> None:CODE
LOWtests/test_syntax.py140def test_python_render_indent_guides() -> None:CODE
LOWtests/test_syntax.py160def test_pygments_syntax_theme_non_str() -> None:CODE
155 more matches not shown…
Cross-File Repetition45 hits · 225 pts
SeverityFileLineSnippetContext
HIGHREADME.hi.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.fr.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.sv.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.it.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.es.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.cn.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.tr.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.de.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.fa.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.ja.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.pt-br.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.de-ch.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.zh-tw.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.id.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.pl.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.ru.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.kr.md0def iter_first_last(values: iterable[t]) -> iterable[tuple[bool, bool, t]]:STRING
HIGHREADME.hi.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.fr.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.sv.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.it.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.es.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.cn.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.tr.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.de.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.fa.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.ja.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.pt-br.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.de-ch.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.zh-tw.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.id.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.pl.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.ru.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHREADME.kr.md0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHtests/test_syntax.py0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return first = true for value iSTRING
HIGHtests/render.py0link ids have a random id and system path which is a problem for reproducible tests.STRING
HIGHtests/test_log.py0link ids have a random id and system path which is a problem for reproducible tests.STRING
HIGHtests/test_card.py0link ids have a random id and system path which is a problem for reproducible tests.STRING
HIGHtests/test_markdown_no_hyperlinks.py0link ids have a random id and system path which is a problem for reproducible tests.STRING
HIGHtests/test_markdown.py0link ids have a random id and system path which is a problem for reproducible tests.STRING
HIGHrich/live.py0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return for value in iter_valuesSTRING
HIGHrich/progress.py0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return for value in iter_valuesSTRING
HIGHrich/__main__.py0iter_values = iter(values) try: previous_value = next(iter_values) except stopiteration: return for value in iter_valuesSTRING
Unused Imports86 hits · 86 pts
SeverityFileLineSnippetContext
LOWtests/test_cells.py1CODE
LOWtests/test_unicode_data.py1CODE
LOWrich/screen.py9CODE
LOWrich/screen.py9CODE
LOWrich/screen.py9CODE
LOWrich/screen.py9CODE
LOWrich/logging.py1CODE
LOWrich/measure.py8CODE
LOWrich/measure.py8CODE
LOWrich/measure.py8CODE
LOWrich/tree.py4CODE
LOWrich/tree.py4CODE
LOWrich/console.py60CODE
LOWrich/box.py7CODE
LOWrich/color.py14CODE
LOWrich/_fileno.py1CODE
LOWrich/align.py11CODE
LOWrich/align.py11CODE
LOWrich/align.py11CODE
LOWrich/_wrap.py1CODE
LOWrich/_log_render.py8CODE
LOWrich/_log_render.py8CODE
LOWrich/emoji.py10CODE
LOWrich/emoji.py10CODE
LOWrich/containers.py14CODE
LOWrich/containers.py14CODE
LOWrich/containers.py14CODE
LOWrich/containers.py14CODE
LOWrich/containers.py14CODE
LOWrich/containers.py14CODE
LOWrich/control.py7CODE
LOWrich/control.py7CODE
LOWrich/__init__.py6CODE
LOWrich/file_proxy.py8CODE
LOWrich/constrain.py7CODE
LOWrich/constrain.py7CODE
LOWrich/constrain.py7CODE
LOWrich/constrain.py7CODE
LOWrich/pretty.py50CODE
LOWrich/pretty.py50CODE
LOWrich/pretty.py50CODE
LOWrich/pretty.py50CODE
LOWrich/pretty.py50CODE
LOWrich/pretty.py50CODE
LOWrich/markdown.py1CODE
LOWrich/text.py33CODE
LOWrich/text.py33CODE
LOWrich/text.py33CODE
LOWrich/live.py1CODE
LOWrich/live.py6CODE
LOWrich/syntax.py1CODE
LOWrich/table.py28CODE
LOWrich/table.py28CODE
LOWrich/table.py28CODE
LOWrich/table.py28CODE
LOWrich/table.py28CODE
LOWrich/segment.py29CODE
LOWrich/segment.py29CODE
LOWrich/progress.py1CODE
LOWrich/progress.py14CODE
26 more matches not shown…
Cross-Language Confusion14 hits · 84 pts
SeverityFileLineSnippetContext
HIGHtests/test_stack.py6 stack.push("foo")CODE
HIGHtests/test_stack.py7 stack.push("bar")CODE
HIGHtests/test_console.py271 # When stdout and stderr are null, Console.file should be replaced with NullFileCOMMENT
HIGHtests/test_console.py221 console.print_json('[false, true, null, "foo"]', indent=4)CODE
HIGHtests/test_rich_print.py35 rich.print_json('[false, true, null, "foo"]', indent=4)CODE
HIGHtests/test_rich_print.py38 expected = '[\n false,\n true,\n null,\n "foo"\n]\n'CODE
HIGHtests/test_style.py185 stack.push(Style(bold=True))CODE
HIGHrich/logging.py180 # Handles pythonw, where stdout/stderr are null, and we return NullFileCOMMENT
HIGHrich/tree.py171 style_stack.push(get_style(node.style))CODE
HIGHrich/tree.py172 guide_style_stack.push(get_style(node.guide_style))CODE
HIGHrich/markdown.py504 self.style_stack.push(style)CODE
HIGHrich/markdown.py618 context.stack.push(Link.create(self, token))CODE
HIGHrich/markdown.py670 context.stack.push(element)CODE
HIGHrich/highlighter.py117 r"\b(?P<bool_true>true)\b|\b(?P<bool_false>false)\b|\b(?P<null>null)\b",CODE
Docstring Block Structure13 hits · 65 pts
SeverityFileLineSnippetContext
HIGHrich/measure.py82Get a measurement for a renderable. Args: console (~rich.console.Console): Console instance. STRING
HIGHrich/console.py823Set Live instance. Used by Live context manager (no need to call directly). Args: live (Live): LiveSTRING
HIGHrich/console.py1473Get a Style instance by its theme name or parse a definition. Args: name (str): The name of a styleSTRING
HIGHrich/console.py1912Get caller frame information. Args: offset (int): the caller offset within the current frame stack.STRING
HIGHrich/style.py499Parse a style definition. Args: style_definition (str): A string containing a style. RaiseSTRING
HIGHrich/markup.py112Render console markup in to a Text instance. Args: markup (str): A string containing console markup. STRING
HIGHrich/highlighter.py21Highlight a str or Text instance. Args: text (Union[str, ~Text]): Text to highlight. RaiseSTRING
HIGHrich/progress_bar.py129Renders the pulse animation. Args: console (Console): Console instance. width (int): WiSTRING
HIGHrich/prompt.py228Process response from user, convert to prompt type. Args: value (str): String typed by user. STRING
HIGHrich/progress.py1245Track progress file reading from a binary file. Args: file (BinaryIO): A file-like object opened inSTRING
HIGHrich/progress.py1324Track progress while reading from a binary file. Args: path (Union[str, PathLike[str]]): The path tSTRING
HIGHrich/_win32_console.py96Retrieves the current input mode of a console's input buffer or the current output mode of a console screen buffer. STRING
HIGHrich/_unicode_data/__init__.py32Parse a version string into a tuple of 3 integers. Args: version: A version string. Raises: VaSTRING
Deep Nesting55 hits · 54 pts
SeverityFileLineSnippetContext
LOWtests/test_progress.py647CODE
LOWtests/test_traceback.py13CODE
LOWexamples/print_calendar.py20CODE
LOWrich/tree.py86CODE
LOWrich/console.py383CODE
LOWrich/console.py619CODE
LOWrich/console.py1500CODE
LOWrich/console.py1652CODE
LOWrich/console.py2059CODE
LOWrich/console.py2244CODE
LOWrich/box.py115CODE
LOWrich/color.py349CODE
LOWrich/color.py485CODE
LOWrich/color.py513CODE
LOWrich/align.py143CODE
LOWrich/align.py161CODE
LOWrich/style.py344CODE
LOWrich/style.py498CODE
LOWrich/_wrap.py26CODE
LOWrich/containers.py111CODE
LOWrich/traceback.py56CODE
LOWrich/traceback.py433CODE
LOWrich/traceback.py768CODE
LOWrich/markup.py106CODE
LOWrich/repr.py36CODE
LOWrich/repr.py41CODE
LOWrich/repr.py42CODE
LOWrich/repr.py67CODE
LOWrich/pretty.py580CODE
LOWrich/pretty.py424CODE
LOWrich/pretty.py621CODE
LOWrich/pretty.py633CODE
LOWrich/columns.py62CODE
LOWrich/_inspect.py125CODE
LOWrich/markdown.py579CODE
LOWrich/text.py817CODE
LOWrich/text.py964CODE
LOWrich/text.py1106CODE
LOWrich/highlighter.py123CODE
LOWrich/live.py145CODE
LOWrich/live.py244CODE
LOWrich/syntax.py470CODE
LOWrich/syntax.py652CODE
LOWrich/table.py523CODE
LOWrich/table.py755CODE
LOWrich/segment.py247CODE
LOWrich/segment.py276CODE
LOWrich/segment.py307CODE
LOWrich/segment.py354CODE
LOWrich/segment.py630CODE
LOWrich/ansi.py138CODE
LOWrich/progress.py1311CODE
LOWrich/cells.py113CODE
LOWrich/cells.py161CODE
LOWrich/_windows_renderer.py7CODE
Excessive Try-Catch Wrapping46 hits · 50 pts
SeverityFileLineSnippetContext
LOWtests/test_inspect.py381 except Exception as e:CODE
LOWtests/test_inspect.py416 except Exception as e:CODE
LOWtests/test_repr.py69 except Exception:CODE
MEDIUMtests/test_traceback.py63def test_capture():CODE
MEDIUMtests/test_traceback.py286def test_suppress():CODE
MEDIUMtests/test_traceback.py386def foo() -> None:CODE
MEDIUMtests/test_traceback.py392def bar() -> None:CODE
LOWtests/test_traceback.py97 except Exception:CODE
LOWtests/test_traceback.py107 except Exception:CODE
LOWtests/test_traceback.py118 except Exception:CODE
LOWtests/test_traceback.py196 except Exception:CODE
LOWtests/test_traceback.py206 except Exception:CODE
LOWtests/test_traceback.py27 except Exception:CODE
LOWtests/test_traceback.py66 except Exception:CODE
LOWtests/test_traceback.py147 except Exception:CODE
LOWtests/test_traceback.py174 except Exception:CODE
LOWtests/test_traceback.py228 except Exception:CODE
LOWtests/test_traceback.py244 except Exception:CODE
LOWtests/test_traceback.py370 except Exception as error:CODE
LOWtests/test_traceback.py389 except Exception as e:CODE
LOWtests/test_traceback.py395 except Exception as e:CODE
LOWtests/test_traceback.py278 except Exception:STRING
LOWtests/test_traceback.py289 except Exception:STRING
LOWtests/test_traceback.py323 except Exception:STRING
LOWexamples/exception.py25 except Exception:CODE
LOWexamples/recursive_error.py24except Exception:CODE
LOWrich/logging.py187 except Exception:CODE
LOWrich/console.py81except Exception:CODE
LOWrich/console.py85except Exception:CODE
LOWrich/console.py89except Exception:CODE
LOWrich/_fileno.py19 except Exception:CODE
LOWrich/traceback.py214 except Exception:CODE
LOWrich/traceback.py480 except Exception:CODE
LOWrich/traceback.py858 except Exception as error:CODE
LOWrich/markup.py195 except Exception as error:CODE
LOWrich/repr.py84 except Exception as error:CODE
LOWrich/pretty.py86 except Exception: # pragma: no coverageCODE
LOWrich/pretty.py167 except Exception:CODE
LOWrich/pretty.py574 except Exception:CODE
LOWrich/pretty.py613 except Exception as error:CODE
LOWrich/pretty.py653 except Exception:CODE
LOWrich/pretty.py661 except Exception:CODE
LOWrich/pretty.py739 except Exception as error:CODE
LOWrich/_inspect.py136 except Exception as error:CODE
LOWrich/live.py134 except Exception:CODE
LOWrich/json.py135 except Exception as error:CODE
AI Structural Patterns44 hits · 44 pts
SeverityFileLineSnippetContext
LOWtests/render.py24CODE
LOWtests/test_card.py26CODE
LOWtests/test_markdown_no_hyperlinks.py89CODE
LOWexamples/exception.py15CODE
LOWrich/logging.py71CODE
LOWrich/console.py157CODE
LOWrich/console.py619CODE
LOWrich/console.py1652CODE
LOWrich/console.py1758CODE
LOWrich/console.py1947CODE
LOWrich/style.py131CODE
LOWrich/traceback.py84CODE
LOWrich/traceback.py295CODE
LOWrich/traceback.py353CODE
LOWrich/__init__.py77CODE
LOWrich/__init__.py120CODE
LOWrich/pretty.py113CODE
LOWrich/pretty.py171CODE
LOWrich/pretty.py273CODE
LOWrich/columns.py31CODE
LOWrich/_inspect.py37CODE
LOWrich/text.py144CODE
LOWrich/text.py329CODE
LOWrich/live.py57CODE
LOWrich/syntax.py279CODE
LOWrich/syntax.py320CODE
LOWrich/table.py188CODE
LOWrich/table.py364CODE
LOWrich/progress_bar.py33CODE
LOWrich/prompt.py80CODE
LOWrich/prompt.py97CODE
LOWrich/prompt.py112CODE
LOWrich/progress.py104CODE
LOWrich/progress.py306CODE
LOWrich/progress.py372CODE
LOWrich/progress.py397CODE
LOWrich/progress.py421CODE
LOWrich/progress.py714CODE
LOWrich/progress.py1077CODE
LOWrich/progress.py1311CODE
LOWrich/panel.py40CODE
LOWrich/panel.py74CODE
LOWrich/json.py25CODE
LOWrich/json.py54CODE
Fake / Example Data14 hits · 11 pts
SeverityFileLineSnippetContext
LOWtools/profile_divide.py3text = """Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore CODE
LOWtools/profile_divide.py3text = """Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore CODE
LOWtests/test_markdown_no_hyperlinks.py47> Lorem ipsumCODE
LOWtests/test_markdown_no_hyperlinks.py96 expected = " \x1b[1;4mHeading\x1b[0m STRING
LOWtests/_card_render.py1expected = "\x1b[3m Rich features \CODE
LOWtests/test_markdown.py47> Lorem ipsumCODE
LOWtests/test_markdown.py102 expected = " \x1b[1;4mHeading\x1b[0m STRING
LOWexamples/highlighter.py20console.print("Send funds to money@example.org")CODE
LOWbenchmarks/snippets.py94Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqSTRING
LOWbenchmarks/snippets.py94Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqSTRING
LOWrich/text.py1342 """\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et doloSTRING
LOWrich/text.py1342 """\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et doloSTRING
LOWrich/__main__.py71 lorem = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque in metus sed sapien ultricies pretium a atCODE
LOWrich/__main__.py71 lorem = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque in metus sed sapien ultricies pretium a atCODE
Modern Structural Boilerplate5 hits · 5 pts
SeverityFileLineSnippetContext
LOWrich/live_render.py43 def set_renderable(self, renderable: RenderableType) -> None:CODE
LOWrich/filesize.py13__all__ = ["decimal"]CODE
LOWrich/__init__.py8__all__ = ["get_console", "reconfigure", "print", "inspect", "print_json"]CODE
LOWrich/text.py680 def set_length(self, new_length: int) -> None:CODE
LOWrich/_win32_console.py559 def set_title(self, title: str) -> None:CODE
Over-Commented Block4 hits · 4 pts
SeverityFileLineSnippetContext
LOWdocs/source/conf.py1# Configuration file for the Sphinx documentation builder.COMMENT
LOW.github/workflows/codeql.yml41 # Prefix the list here with "+" to use these queries and those in the config file.COMMENT
LOWrich/highlighter.py161 #COMMENT
LOWrich/highlighter.py181 # Calendar date with hours, minutes, and seconds (e.g., 2008-08-30 17:21:59 or 20080830 172159).COMMENT
Self-Referential Comments2 hits · 2 pts
SeverityFileLineSnippetContext
MEDIUMrich/console.py2031 """This function is called when a `BrokenPipeError` is raised.STRING
MEDIUMrich/align.py40 # Create a panel 20 characters wideSTRING
Modern AI Meta-Vocabulary1 hit · 1 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md443[Toad](https://github.com/batrachianai/toad) is a unified interface for agentic coding. Built with Rich and Textual.STRING