Repository Analysis

israel-dryer/ttkbootstrap

Modern themes for Tkinter. Sleek, responsive styles inspired by Bootstrap. Includes ready-to-use widgets, 30+ themes, and tools for building beautiful, cross-platform desktop apps with ease.

28.1 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of israel-dryer/ttkbootstrap, a Python project with 2,647 GitHub stars. SynthScan v2.0 examined 80,080 lines of code across 293 source files, recording 1513 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 28.1 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).

28.1
Adjusted Score
28.1
Raw Score
100%
Time Factor
2026-08-17
Last Push
2.6K
Stars
Python
Language
80.1K
Lines of Code
293
Files
1.5K
Pattern Hits
2026-08-29
Scan Date
0.06
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 17MEDIUM 213LOW 1283

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 1513 distinct pattern matches across 14 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 Identifiers835 hits · 936 pts
SeverityFileLineSnippetContext
LOWgallery/stopwatch.py32 def create_stopwatch_controls(self):CODE
LOWtests/test_scroll_events.py63def test_one_notch_is_one_unit(root):CODE
LOWtests/test_scroll_events.py76def test_precise_deltas_unpack_both_signed_axes():CODE
LOWtests/test_scroll_events.py86def test_pixel_accumulator_carries_the_remainder():CODE
LOWtests/test_scroll_events.py104def test_wheel_is_bound_on_every_platform(root):CODE
LOWtests/test_scroll_events.py113def test_touchpad_scroll_is_bound(root):CODE
LOWtests/test_scroll_events.py119def test_one_notch_scrolls_one_unit_not_to_the_end(root):CODE
LOWtests/test_scroll_events.py130def test_wheel_does_not_scroll_content_that_fits(root):CODE
LOWtests/test_scroll_events.py139def test_touchpad_gesture_scrolls_the_canvas(root):CODE
LOWtests/test_scroll_events.py153def test_destroy_unbinds_the_wheel_tag(root):CODE
LOWtests/test_toolkit.py38def test_statespec_splits_and_validates():CODE
LOWtests/test_toolkit.py45def test_statespec_raises_on_typo():CODE
LOWtests/test_toolkit.py54def test_el_lowers_to_ttk_tuple():CODE
LOWtests/test_toolkit.py67def test_el_expand_and_border_options():CODE
LOWtests/test_toolkit.py73def test_stylename_default_to_primary():CODE
LOWtests/test_toolkit.py85def test_stylename_color_and_orient():CODE
LOWtests/test_toolkit.py99def test_circle_key_completeness(root):CODE
LOWtests/test_toolkit.py108def test_circle_outline_and_width_in_key(root):CODE
LOWtests/test_toolkit.py115def test_odd_size_stays_exact(root):CODE
LOWtests/test_toolkit.py124def test_rect_keeps_exact_size(root):CODE
LOWtests/test_toolkit.py132def test_image_escape_hatch_keys_on_parts(root):CODE
LOWtests/test_toolkit.py148def test_image_element_validates_states(root):CODE
LOWtests/test_toolkit.py156def test_state_map_validates_states(root):CODE
LOWtests/test_toolkit.py161def test_layout_applies_el_tree(root):CODE
LOWtests/test_toolkit.py175def test_register_style_marks_style_known(root):CODE
LOWtests/test_toolkit.py183def test_layout_auto_registers(root):CODE
LOWtests/test_toolkit.py194def test_registered_style_is_honored_via_style_kwarg(root):CODE
LOWtests/test_filedialog_api.py141def test_use_native_filedialog_explicit_wins():CODE
LOWtests/test_filedialog_api.py152def test_use_native_filedialog_none_is_platform_aware(monkeypatch, winsys, native):CODE
LOWtests/test_filedialog_api.py158def test_use_native_filedialog_no_root_defaults_native(monkeypatch):CODE
LOWtests/test_filedialog_api.py164def test_native_false_routes_to_themed(monkeypatch):CODE
LOWtests/test_filedialog_api.py249def test_open_nonexistent_typed_name_does_not_accept(root, tmp_path):CODE
LOWtests/test_filedialog_api.py257def test_go_up_navigates_to_parent(root, tmp_path):CODE
LOWtests/test_filedialog_api.py264def test_save_new_name_accepts_joined_path(root, tmp_path):CODE
LOWtests/test_filedialog_api.py271def test_save_applies_default_extension(root, tmp_path):CODE
LOWtests/test_filedialog_api.py278def test_save_overwrite_confirmed(root, tmp_path, monkeypatch):CODE
LOWtests/test_filedialog_api.py304def test_directory_mode_lists_only_dirs(root, tmp_path):CODE
LOWtests/test_filedialog_api.py311def test_directory_selecting_returns_dir(root, tmp_path):CODE
LOWtests/test_filedialog_api.py320def test_directory_no_selection_returns_cwd(root, tmp_path):CODE
LOWtests/test_filedialog_api.py374def test_listing_uses_taller_scoped_rowheight(root, tmp_path):CODE
LOWtests/test_filedialog_api.py384def test_rowheight_not_captured_as_user_override(root, tmp_path):CODE
LOWtests/test_filedialog_api.py392def test_window_sizes_to_content_not_clipped(root, tmp_path):CODE
LOWtests/test_filedialog_api.py514def test_footprint_is_the_size_build_applied(root, tmp_path):CODE
LOWtests/test_filedialog_api.py519def test_locate_falls_back_to_centering_for_a_malformed_position(root, tmp_path):CODE
LOWtests/test_filedialog_api.py527def test_multiple_open_returns_tuple(root, tmp_path):CODE
LOWtests/test_filedialog_api.py41def test_normalize_filetypes_forms():CODE
LOWtests/test_filedialog_api.py57def test_normalize_filetypes_empty():CODE
LOWtests/test_filedialog_api.py62def test_normalize_filetypes_accepts_mac_type_triple():CODE
LOWtests/test_filedialog_api.py94def test_list_directory_filters_and_sorts(tmp_path):CODE
LOWtests/test_filedialog_api.py118def test_list_directory_unreadable_returns_empty():CODE
LOWtests/test_filedialog_api.py124def test_ancestors_reaches_root():CODE
LOWtests/test_filedialog_api.py186def test_native_false_routes_multiple(monkeypatch):CODE
LOWtests/test_filedialog_api.py220def test_open_selecting_a_file_accepts_its_path(root, tmp_path):CODE
LOWtests/test_filedialog_api.py237def test_open_double_click_directory_navigates(root, tmp_path):CODE
LOWtests/test_filedialog_api.py291def test_save_overwrite_declined_stays_open(root, tmp_path, monkeypatch):CODE
LOWtests/test_filedialog_api.py335def test_show_hidden_toggle_relists(root, tmp_path):CODE
LOWtests/test_filedialog_api.py345def test_result_uses_forward_slashes_like_native(root, tmp_path):CODE
LOWtests/test_filedialog_api.py358def test_row_icon_swaps_on_selection(root, tmp_path):CODE
LOWtests/test_filedialog_api.py404def test_build_without_a_parent_finds_the_default_root(root, tmp_path):CODE
LOWtests/test_filedialog_api.py416def test_build_without_any_root_reports_why(monkeypatch, root, tmp_path):CODE
775 more matches not shown…
Decorative Section Separators190 hits · 754 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_filedialog_api.py137# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_filedialog_api.py139# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_filedialog_api.py24# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_filedialog_api.py26# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_filedialog_api.py202# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_filedialog_api.py204# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py22# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py24# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py42# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py44# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py70# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py72# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py81# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py83# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py90# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py92# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py144# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py146# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py180# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py182# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py202# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py204# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py221# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py223# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py242# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_tableview_api.py244# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_icon_theme.py24# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_icon_theme.py26# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_icon_theme.py88# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_icon_theme.py90# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_icon_theme.py119# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_icon_theme.py121# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_icon_theme.py141# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_icon_theme.py143# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py24# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py26# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py59# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py61# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py97# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py99# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py211# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py213# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py404# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py406# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py456# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py458# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py476# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py478# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py530# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py532# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py560# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py562# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py606# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_window_api.py608# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_utility_api.py18# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_utility_api.py20# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_utility_api.py56# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_utility_api.py58# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_utility_api.py79# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_utility_api.py81# --------------------------------------------------------------------------COMMENT
130 more matches not shown…
Unused Imports301 hits · 258 pts
SeverityFileLineSnippetContext
LOWtools/generate_style_reference.py32CODE
LOWtools/generate_icon_metrics.py22CODE
LOWtools/verify_hover.py33CODE
LOWtools/generate_bootstyle_reference.py26CODE
LOWtools/generate_widget_stubs.py37CODE
LOWgallery/pc_cleaner.py8CODE
LOWgallery/long_running_determinate.py7CODE
LOWgallery/equalizer.py6CODE
LOWgallery/collapsing_frame.py7CODE
LOWgallery/media_player.py8CODE
LOWgallery/long_running_indeterminate.py7CODE
LOWgallery/stopwatch.py7CODE
LOWgallery/back_me_up.py12CODE
LOWgallery/data_entry.py6CODE
LOWgallery/calculator.py6CODE
LOWgallery/magic_mouse.py9CODE
LOWgallery/text_reader.py6CODE
LOWgallery/screenshot.py1CODE
LOWgallery/everything_bagel.py2CODE
LOWgallery/file_search_engine.py12CODE
LOWtests/test_utility_api.py45CODE
LOWtests/test_utility_api.py45CODE
LOWtests/test_utility_api.py45CODE
LOWtests/test_scrolled_api.py10CODE
LOWtests/test_toast_api.py13CODE
LOWtests/test_dialogs_api.py17CODE
LOWtests/test_dateentry_api.py15CODE
LOWtests/widget_styles/test_default_dialog_styles.py12CODE
LOWtests/widget_styles/test_icons.py21CODE
LOWtests/widgets/test_lifecycle.py16CODE
LOWtests/localization/test_locale_helpers.py14CODE
LOWdocs/screenshots/separator.py4CODE
LOWdocs/screenshots/app-structures.py4CODE
LOWdocs/screenshots/panedwindow.py4CODE
LOWdocs/screenshots/meter.py4CODE
LOWdocs/screenshots/labelframe.py4CODE
LOWdocs/screenshots/radiobutton.py4CODE
LOWdocs/screenshots/build-your-first-app.py4CODE
LOWdocs/screenshots/button.py4CODE
LOWdocs/screenshots/frame.py4CODE
LOWdocs/screenshots/dialogs.py5CODE
LOWdocs/screenshots/notebook.py4CODE
LOWdocs/screenshots/sizegrip.py4CODE
LOWdocs/screenshots/scrollbar.py4CODE
LOWdocs/scripts/take_screenshots.py33CODE
LOWdocs/scripts/theme_gallery.py12CODE
LOWexamples/file_dialog_default_routing.py17CODE
LOWexamples/surface_preview.py14CODE
LOWexamples/icon_button_preview.py12CODE
LOWexamples/neutral_preview.py11CODE
LOWexamples/prerelease_visual_review.py34CODE
LOWexamples/prerelease_visual_review.py37CODE
LOWexamples/prerelease_visual_review.py39CODE
LOWexamples/value_token_preview.py19CODE
LOWexamples/themed_file_dialog.py11CODE
LOWsrc/ttkcreator/__main__.py15CODE
LOWsrc/ttkbootstrap/window.py15CODE
LOWsrc/ttkbootstrap/window.py18CODE
LOWsrc/ttkbootstrap/utility.py18CODE
LOWsrc/ttkbootstrap/utility.py18CODE
241 more matches not shown…
Excessive Try-Catch Wrapping45 hits · 50 pts
SeverityFileLineSnippetContext
LOWtools/generate_style_reference.py210 except Exception:CODE
LOWtools/generate_style_reference.py223 except Exception:CODE
LOWtools/generate_style_reference.py230 except Exception:CODE
LOWtools/generate_style_reference.py236 except Exception:CODE
LOWtools/verify_positioning.py138 except Exception:CODE
LOWdevelopment/2_0_icon_drop_design.md79 except Exception:CODE
LOWtests/test_tableview_api.py234 except Exception:CODE
LOWtests/test_widget_stubs.py247 except Exception:CODE
LOWtests/test_treeview_rowheight.py39 except Exception:CODE
LOWtests/test_menu_api.py90 except Exception:CODE
LOWtests/test_toast_api.py27 except Exception:CODE
LOWtests/test_labeledscale_tooltip_api.py31 except Exception:CODE
LOWtests/test_dialogs_api.py280 except Exception:CODE
LOWtests/test_dialogs_api.py306 except Exception:CODE
LOWtests/test_fonts_api.py32 except Exception:CODE
LOWtests/test_fonts_api.py41 except Exception:CODE
LOWtests/test_fonts_api.py118 except Exception:CODE
LOWtests/test_fonts_api.py173 except Exception:CODE
LOWdocs/scripts/take_screenshots.py447 except Exception:CODE
LOWdocs/scripts/take_screenshots.py573 except Exception as exc:CODE
LOWdocs/scripts/take_screenshots.py585 except Exception as exc:CODE
LOWexamples/value_token_preview.py116 except Exception:CODE
LOWsrc/ttkcreator/__main__.py244 except Exception as e:CODE
LOWsrc/ttkcreator/__main__.py306 except Exception:CODE
LOWsrc/ttkbootstrap/window.py721 except Exception:CODE
LOWsrc/ttkbootstrap/__init__.py229 except Exception:CODE
LOWsrc/ttkbootstrap/internal/positioning.py28except Exception: # pragma: no cover - screeninfo is an optional extraCODE
LOWsrc/ttkbootstrap/internal/positioning.py116 except Exception:CODE
LOWsrc/ttkbootstrap/internal/positioning.py128 except Exception:CODE
LOWsrc/ttkbootstrap/utils/scaling.py57 except Exception:CODE
LOWsrc/ttkbootstrap/utils/scaling.py59 except Exception:CODE
LOWsrc/ttkbootstrap/utils/scaling.py65 except Exception:CODE
LOWsrc/ttkbootstrap/style/scaling.py62 except Exception:CODE
LOWsrc/ttkbootstrap/style/bootstyle.py308 except Exception:CODE
LOWsrc/ttkbootstrap/style/engine.py519 except Exception as exc:CODE
LOWsrc/ttkbootstrap/style/builders/toggle.py108 except Exception:CODE
LOWsrc/ttkbootstrap/style/builders/combobox.py98 except Exception:CODE
LOWsrc/ttkbootstrap/dialogs/query.py412 except Exception:CODE
LOWsrc/ttkbootstrap/dialogs/message.py192 except Exception:CODE
LOWsrc/ttkbootstrap/dialogs/filedialog.py122 except Exception:CODE
LOWsrc/ttkbootstrap/dialogs/filedialog.py651 except Exception:CODE
LOWsrc/ttkbootstrap/dialogs/fontdialog.py314 except Exception:CODE
LOWsrc/ttkbootstrap/dialogs/base.py84 except Exception:CODE
LOWsrc/ttkbootstrap/dialogs/base.py113 except Exception:CODE
LOWsrc/ttkbootstrap/widgets/toast.py369 except Exception:CODE
Cross-File Repetition10 hits · 50 pts
SeverityFileLineSnippetContext
HIGHsrc/ttkbootstrap/style/builders/panedwindow.py0create a standard style for the ttk.notebook widget. parameters: builder (stylebuilderttk): the style builder colorname STRING
HIGHsrc/ttkbootstrap/style/builders/label.py0create a standard style for the ttk.notebook widget. parameters: builder (stylebuilderttk): the style builder colorname STRING
HIGHsrc/ttkbootstrap/style/builders/checkbutton.py0create a standard style for the ttk.notebook widget. parameters: builder (stylebuilderttk): the style builder colorname STRING
HIGHsrc/ttkbootstrap/style/builders/notebook.py0create a standard style for the ttk.notebook widget. parameters: builder (stylebuilderttk): the style builder colorname STRING
HIGHsrc/ttkbootstrap/style/builders/treeview.py0create a style for the ttk.sizegrip widget. parameters: builder (stylebuilderttk): the style builder colorname (str): thSTRING
HIGHsrc/ttkbootstrap/style/builders/labelframe.py0create a style for the ttk.sizegrip widget. parameters: builder (stylebuilderttk): the style builder colorname (str): thSTRING
HIGHsrc/ttkbootstrap/style/builders/spinbox.py0create a style for the ttk.sizegrip widget. parameters: builder (stylebuilderttk): the style builder colorname (str): thSTRING
HIGHsrc/ttkbootstrap/style/builders/radiobutton.py0create a style for the ttk.sizegrip widget. parameters: builder (stylebuilderttk): the style builder colorname (str): thSTRING
HIGHsrc/ttkbootstrap/style/builders/frame.py0create a style for the ttk.sizegrip widget. parameters: builder (stylebuilderttk): the style builder colorname (str): thSTRING
HIGHsrc/ttkbootstrap/style/builders/sizegrip.py0create a style for the ttk.sizegrip widget. parameters: builder (stylebuilderttk): the style builder colorname (str): thSTRING
Modern Structural Boilerplate45 hits · 50 pts
SeverityFileLineSnippetContext
LOWsrc/ttkbootstrap/window.py279 def _setup_icon(self, iconphoto: Optional[str], default_data: Optional[str] = None) -> None:CODE
LOWsrc/ttkbootstrap/window.py380 def _setup_alpha(self, alpha: Optional[float]) -> None:CODE
LOWsrc/ttkbootstrap/window.py712 def _set_app_user_model_id() -> None:CODE
LOWsrc/ttkbootstrap/constants.py573__all__ = [CODE
LOWsrc/ttkbootstrap/__init__.py329__all__ = [CODE
LOWsrc/ttkbootstrap/internal/configure_delegation.py205__all__ = ["configure_delegate", "ConfigureDelegationMixin"]CODE
LOWsrc/ttkbootstrap/utils/color.py9__all__ = [CODE
LOWsrc/ttkbootstrap/utils/config.py55def set_default_button(color: str) -> None:CODE
LOWsrc/ttkbootstrap/utils/__init__.py67__all__ = [CODE
LOWsrc/ttkbootstrap/utils/fonts.py79 def set_global_family(cls, family: str, *, mono_family: Optional[str] = None) -> None:CODE
LOWsrc/ttkbootstrap/utils/fonts.py167def set_global_family(family: str, *, mono_family: Optional[str] = None) -> None:CODE
LOWsrc/ttkbootstrap/style/__init__.py39__all__ = [CODE
LOWsrc/ttkbootstrap/style/engine.py397 def set_theme_modes(self, light: str = None, dark: str = None) -> None:CODE
LOWsrc/ttkbootstrap/style/_compat.py21def set_bootstyle_strict(strict: bool = True) -> None:CODE
LOWsrc/ttkbootstrap/dialogs/colorchooser.py387 def set_variables(self, h: int, s: int, l: int, r: int, g: int, b: int, hx: str) -> None:CODE
LOWsrc/ttkbootstrap/dialogs/colorchooser.py409 def update_preview(self) -> None:CODE
LOWsrc/ttkbootstrap/dialogs/colorchooser.py419 def update_luminance_scale(self) -> None:CODE
LOWsrc/ttkbootstrap/dialogs/colorchooser.py435 def update_luminance_indicator(self) -> None:CODE
LOWsrc/ttkbootstrap/dialogs/colorchooser.py443 def update_spectrum_indicator(self) -> None:CODE
LOWsrc/ttkbootstrap/dialogs/__init__.py15__all__ = [CODE
LOWsrc/ttkbootstrap/dialogs/filedialog.py503 def _set_filetype(self, globs: Tuple[str, ...], display: str) -> None:CODE
LOWsrc/ttkbootstrap/dialogs/filedialog.py514 def _update_row_icons(self) -> None:CODE
LOWsrc/ttkbootstrap/dialogs/datepicker.py323 def _setup_calendar(self) -> None:CODE
LOWsrc/ttkbootstrap/dialogs/datepicker.py464 def _set_title(self) -> None:CODE
LOWsrc/ttkbootstrap/dialogs/datepicker.py537 def _set_window_position(self, position: Optional[Tuple[int, int]] = None) -> None:CODE
LOWsrc/ttkbootstrap/dialogs/fontdialog.py296 def _update_font_preview(self, *_: Any) -> None:CODE
LOWsrc/ttkbootstrap/widgets/meter.py318 def _update_meter(self, *_: Any) -> None:CODE
LOWsrc/ttkbootstrap/widgets/meter.py340 def _setup_widget(self) -> None:CODE
LOWsrc/ttkbootstrap/widgets/meter.py386 def _set_widget_colors(self) -> None:CODE
LOWsrc/ttkbootstrap/widgets/meter.py398 def _set_meter_text(self) -> None:CODE
LOWsrc/ttkbootstrap/widgets/meter.py403 def _set_subtext(self) -> None:CODE
LOWsrc/ttkbootstrap/widgets/meter.py411 def _set_show_text(self) -> None:CODE
LOWsrc/ttkbootstrap/widgets/meter.py430 def _set_text_left(self) -> None:CODE
LOWsrc/ttkbootstrap/widgets/meter.py435 def _set_text_center(self) -> None:CODE
LOWsrc/ttkbootstrap/widgets/meter.py440 def _set_text_right(self) -> None:CODE
LOWsrc/ttkbootstrap/widgets/meter.py446 def _set_interactive_bind(self) -> None:CODE
LOWsrc/ttkbootstrap/widgets/__init__.py66__all__ = [CODE
LOWsrc/ttkbootstrap/widgets/dateentry.py376 def set_date(self, new_date: Union[datetime, date, None]) -> None:CODE
LOWsrc/ttkbootstrap/widgets/floodgauge.py175 def _update_theme_colors(self) -> None:CODE
LOWsrc/ttkbootstrap/widgets/floodgauge.py653 def _set_widget_text(self, *_: Any) -> None:CODE
LOWsrc/ttkbootstrap/widgets/floodgauge.py663 def _set_mask(self) -> None:CODE
LOWsrc/ttkbootstrap/widgets/toast.py333 def _setup(self, window) -> None:CODE
LOWsrc/ttkbootstrap/localization/__init__.py6__all__ = [CODE
LOWsrc/ttkbootstrap/localization/api.py40def set_locale(locale: str) -> None:CODE
LOWsrc/ttkbootstrap/localization/api.py115 def set_source(self, src: str, *args: Any, **kwargs: Any) -> None:CODE
AI Slop Vocabulary16 hits · 46 pts
SeverityFileLineSnippetContext
MEDIUMtests/widget_styles/test_color_helpers.py180 # theme-robust rather than pinned to one theme's background.COMMENT
MEDIUMdocs/screenshots/combobox.py9 # the harness parent grabs the region.COMMENT
MEDIUMdocs/screenshots/theming.py7 # A small representative window; the harness captures it once per themeCOMMENT
MEDIUMdocs/screenshots/tooltip.py10 # drops within the window), and the harness parent grabs the region.COMMENT
MEDIUMdocs/screenshots/dateentry.py12 # the harness parent grabs the region while it's up.COMMENT
MEDIUMdocs/screenshots/multiple-windows.py8 # would block) -- the harness targets the dialog window directly.COMMENT
MEDIUMdocs/screenshots/optionmenu.py16 # to the harness parent, then postCOMMENT
MEDIUMdocs/screenshots/windows.py9 # the child sits at screen center, far from the harness-offset parent -- soCOMMENT
MEDIUMdocs/screenshots/dialogs.py38 # the harness parent grabs the region while it's up.COMMENT
MEDIUMdocs/screenshots/menubutton.py22 # to the harness parent, then postCOMMENT
MEDIUMdocs/scripts/take_screenshots.py110 # window level while the harness holds it topmost, so order by our ownCOMMENT
MEDIUMdocs/scripts/take_screenshots.py199 # In parent-capture mode the harness parent takes the shot andCOMMENT
MEDIUMdocs/scripts/take_screenshots.py289 # The harness prints this as the ``:width:`` to pin in the rST.COMMENT
MEDIUMdocs/scripts/take_screenshots.py294 # In parent-capture mode the harness parent takes the shot; don'tCOMMENT
MEDIUMdocs/scripts/take_screenshots.py313 # The harness parent process composites this process's windows —COMMENT
MEDIUMsrc/ttkbootstrap/window.py737 """A class that wraps the tkinter.Toplevel class in order toSTRING
Docstring Block Structure6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHsrc/ttkbootstrap/utils/color.py29Convert color value to rgb. The color and model parameters represent the color to be converted. The value is exSTRING
HIGHsrc/ttkbootstrap/style/theme.py442Return the appropriate foreground color for the specified color_label. Parameters: color_laSTRING
HIGHsrc/ttkbootstrap/style/bootstyle.py396Find and return widget orient, or default orient for widget if a widget with orientation. Parameters: STRING
HIGHsrc/ttkbootstrap/style/bootstyle.py463Parse a string to build and return a ttkstyle name. Parameters: widget (Widget): TSTRING
HIGHsrc/ttkbootstrap/style/bootstyle.py701Update the ttk style or create if not existing. Parameters: widget (ttk.Widget): TSTRING
HIGHsrc/ttkbootstrap/widgets/dateentry.py444Validate that a date format string is appropriate for dates. Checks that the format string contains sufficient STRING
Deep Nesting24 hits · 22 pts
SeverityFileLineSnippetContext
LOWgallery/calculator.py75CODE
LOWgallery/file_search_engine.py248CODE
LOWgallery/file_search_engine.py259CODE
LOWgallery/file_search_engine.py270CODE
LOWtests/conftest.py74CODE
LOWtests/test_durable_style_options.py437CODE
LOWtests/test_scaling.py538CODE
LOWtests/test_scaling.py565CODE
LOWdocs/scripts/take_screenshots.py451CODE
LOWdocs/scripts/take_screenshots.py525CODE
LOWsrc/ttkbootstrap/internal/configure_delegation.py70CODE
LOWsrc/ttkbootstrap/style/bootstyle.py170CODE
LOWsrc/ttkbootstrap/style/bootstyle.py262CODE
LOWsrc/ttkbootstrap/style/bootstyle.py698CODE
LOWsrc/ttkbootstrap/style/engine.py851CODE
LOWsrc/ttkbootstrap/dialogs/colorchooser.py163CODE
LOWsrc/ttkbootstrap/dialogs/filedialog.py141CODE
LOWsrc/ttkbootstrap/dialogs/datepicker.py302CODE
LOWsrc/ttkbootstrap/dialogs/datepicker.py344CODE
LOWsrc/ttkbootstrap/widgets/tableview.py933CODE
LOWsrc/ttkbootstrap/widgets/tableview.py1216CODE
LOWsrc/ttkbootstrap/widgets/tableview.py1487CODE
LOWsrc/ttkbootstrap/widgets/tableview.py2303CODE
LOWsrc/ttkbootstrap/widgets/dateentry.py534CODE
Over-Commented Block19 hits · 17 pts
SeverityFileLineSnippetContext
LOWrequirements.txt1# Development dependencies -- `pip install -r requirements.txt` alongside anCOMMENT
LOWpyproject.toml61COMMENT
LOWCLAUDE.md121 # Blessed tk widgets: Tk/Menu/Text/Canvas/Listbox/TkFrame/TkLabel.COMMENT
LOWtools/verify_positioning.py201# This is the demo's case (`python -m ttkbootstrap`) and the one check 6 misses:COMMENT
LOWtools/generate_widget_stubs.py141# reference is what documents the surface. (Tk's `bd`/`bg`/`fg` abbreviationsCOMMENT
LOWdocs/conf.py21 "sphinx.ext.intersphinx",COMMENT
LOW.github/workflows/publish.yml1name: PublishCOMMENT
LOW.github/workflows/ci.yml81 # screeninfo is deliberately NOT installed: it is optional at runtime, andCOMMENT
LOWsrc/ttkbootstrap/window.py21from ttkbootstrap.style import Style, BootstyleCOMMENT
LOWsrc/ttkbootstrap/constants.py81COMMENT
LOWsrc/ttkbootstrap/constants.py101 "outline", "link", "ghost", "round", "square", "striped", "thin",COMMENT
LOWsrc/ttkbootstrap/constants.py121# Every base-type/family the resolver recognizes, whether inferred from theCOMMENT
LOWsrc/ttkbootstrap/constants.py161# ---------------------------------------------------------------------------COMMENT
LOWsrc/ttkbootstrap/style/theme.py861 name: strCOMMENT
LOWsrc/ttkbootstrap/style/bootstyle.py101# winfo_class inference matches the class name by substring; try longer familyCOMMENT
LOWsrc/ttkbootstrap/style/icons.py361 "TCheckbutton", "TRadiobutton",COMMENT
LOWsrc/ttkbootstrap/style/engine.py121 # toggle_theme(); None means "derive from the -light/-dark naming".COMMENT
LOWsrc/ttkbootstrap/style/engine.py301 if not themename:COMMENT
LOWsrc/ttkbootstrap/widgets/scrolled.py101 # scrollbar sit inside a single bordered box (the inner Text is keptCOMMENT
AI Structural Patterns14 hits · 14 pts
SeverityFileLineSnippetContext
LOWsrc/ttkbootstrap/window.py542CODE
LOWsrc/ttkbootstrap/window.py751CODE
LOWsrc/ttkbootstrap/dialogs/query.py23CODE
LOWsrc/ttkbootstrap/dialogs/message.py49CODE
LOWsrc/ttkbootstrap/dialogs/filedialog.py253CODE
LOWsrc/ttkbootstrap/widgets/meter.py119CODE
LOWsrc/ttkbootstrap/widgets/meter.py592CODE
LOWsrc/ttkbootstrap/widgets/meter.py642CODE
LOWsrc/ttkbootstrap/widgets/tableview.py428CODE
LOWsrc/ttkbootstrap/widgets/tableview.py2227CODE
LOWsrc/ttkbootstrap/widgets/tooltip.py53CODE
LOWsrc/ttkbootstrap/widgets/dateentry.py64CODE
LOWsrc/ttkbootstrap/widgets/floodgauge.py80CODE
LOWsrc/ttkbootstrap/widgets/floodgauge.py507CODE
Self-Referential Comments6 hits · 14 pts
SeverityFileLineSnippetContext
MEDIUMsrc/ttkbootstrap/__init__.py18 # Create a themed application rootSTRING
MEDIUMsrc/ttkbootstrap/style/engine.py326 # Creating the builder also runs theme_create + theme_use for theCOMMENT
MEDIUMsrc/ttkbootstrap/style/engine.py349 # Creating the builder also runs theme_create + theme_use for theCOMMENT
MEDIUMsrc/ttkbootstrap/style/engine.py557 # Create the Tcl-level themeCOMMENT
MEDIUMsrc/ttkbootstrap/style/builders/toggle.py109 """This method is used as the default Toggle style, so it isSTRING
MEDIUMsrc/ttkbootstrap/widgets/tooltip.py199 # Create the tooltip window at a temporary positionCOMMENT
Cross-Language Confusion1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHtests/test_convert_theme.py278 ("themes.json", '{"themes": null}'),CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMdevelopment/2_0_prerelease_review_plan.md33### Track A — agentic correctness + API sweep (automatable)COMMENT