AI Slop Code RIsk Monitor

kivy/kivy

Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS

23.2 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for kivy/kivy, a Python project with 19,031 GitHub stars. SynthScan examined 153,498 lines of code across 642 source files, recording 2104 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 23.2 (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.

23.2
Adjusted Signal
23.2
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
19.0K
Stars
Python
Language
153.5K
Lines of Code
642
Files
2.1K
Pattern Hits
2026-10-12
Scan Date
0.28
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 33.6/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 18.2/100 · LOW

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

Agent Over-Engineering Ratio 55.0/100 · HIGH

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

PR Review Velocity Impact 70.9/100 · HIGH

Which changes need focused human review? 2104 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 182MEDIUM 389LOW 1533

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 2104 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

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

Decorative Section Separators312 hits · 1009 pts
SeverityFileLineSnippetContext
MEDIUMsetup.py142# -----------------------------------------------------------------------------COMMENT
MEDIUMsetup.py314# -----------------------------------------------------------------------------COMMENT
MEDIUMsetup.py349# -----------------------------------------------------------------------------COMMENT
MEDIUMsetup.py446# -----------------------------------------------------------------------------COMMENT
MEDIUMsetup.py738# -----------------------------------------------------------------------------COMMENT
MEDIUMsetup.py1295# -----------------------------------------------------------------------------COMMENT
MEDIUMsetup.py1666# -----------------------------------------------------------------------------COMMENT
MEDIUMsetup.py1740# -----------------------------------------------------------------------------COMMENT
MEDIUMsetup.py1780# -----------------------------------------------------------------------------COMMENT
MEDIUMtools/build_thorvg.sh181# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/build_thorvg.sh183# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/build_thorvg.sh196# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/build_thorvg.sh204# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/build_thorvg.sh217# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/build_thorvg.sh269# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/build_thorvg.sh319 # ---------------------------------------------------------------------------COMMENT
MEDIUMtools/build_thorvg.sh333 # ---------------------------------------------------------------------------COMMENT
MEDIUMtools/build_thorvg.sh379 # ---------------------------------------------------------------------------COMMENT
MEDIUMtools/build_thorvg.sh396 # ---------------------------------------------------------------------------COMMENT
MEDIUMtools/build_thorvg.sh497# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/build_thorvg.sh515# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/build_ios_dependencies.sh147# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/build_ios_dependencies.sh159# ---------------------------------------------------------------------------COMMENT
MEDIUMkivy/multistroke.py150# -----------------------------------------------------------------------------COMMENT
MEDIUMkivy/multistroke.py152# -----------------------------------------------------------------------------COMMENT
MEDIUMkivy/multistroke.py641# -----------------------------------------------------------------------------COMMENT
MEDIUMkivy/multistroke.py643# -----------------------------------------------------------------------------COMMENT
MEDIUMkivy/multistroke.py791# -----------------------------------------------------------------------------COMMENT
MEDIUMkivy/multistroke.py793# -----------------------------------------------------------------------------COMMENT
MEDIUMkivy/multistroke.py1070# -----------------------------------------------------------------------------COMMENT
MEDIUMkivy/multistroke.py1072# -----------------------------------------------------------------------------COMMENT
MEDIUMkivy/multistroke.py1166# -----------------------------------------------------------------------------COMMENT
MEDIUMkivy/multistroke.py1168# -----------------------------------------------------------------------------COMMENT
MEDIUMkivy/multistroke.py1285# -----------------------------------------------------------------------------COMMENT
MEDIUMkivy/multistroke.py1288# -----------------------------------------------------------------------------COMMENT
MEDIUMkivy/tools/report.py81# ----------------------------------------------------------COMMENT
MEDIUMkivy/tools/report.py83# ----------------------------------------------------------COMMENT
MEDIUMkivy/tools/image-testsuite/imagemagick-testsuite.sh131# ------------------------------------------------------------COMMENT
MEDIUMkivy/tools/image-testsuite/imagemagick-testsuite.sh133# ------------------------------------------------------------COMMENT
MEDIUMkivy/core/svg/svg_thorvg.py145 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/svg/svg_thorvg.py147 # ------------------------------------------------------------------COMMENT
MEDIUM⚡kivy/core/svg/svg_thorvg.py260 # ------------------------------------------------------------------COMMENT
MEDIUM⚡kivy/core/svg/svg_thorvg.py262 # ------------------------------------------------------------------COMMENT
MEDIUM⚡kivy/core/svg/svg_thorvg.py270 # ------------------------------------------------------------------COMMENT
MEDIUM⚡kivy/core/svg/svg_thorvg.py272 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/lottie_thorvg.py177 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/lottie_thorvg.py179 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/lottie_thorvg.py304 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/lottie_thorvg.py306 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/lottie_thorvg.py355 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/lottie_thorvg.py357 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/lottie_thorvg.py434 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/lottie_thorvg.py436 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/lottie_thorvg.py504 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/lottie_thorvg.py506 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/__init__.py105 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/__init__.py108 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/__init__.py144 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/__init__.py146 # ------------------------------------------------------------------COMMENT
MEDIUMkivy/core/lottie/__init__.py157 # ------------------------------------------------------------------COMMENT
252 more matches not shown…
Hyper-Verbose Identifiers775 hits · 751 pts
SeverityFileLineSnippetContext
LOWsetup.py1704def get_extensions_from_sources(sources):CODE
LOWtools/add-ios-frameworks.py14def add_ios_frameworks_to_wheels(wheels_path: str):CODE
LOWkivy/support.py13def install_gobject_iteration():CODE
LOWkivy/support.py152def uninstall_twisted_reactor():CODE
LOWkivy/clock.py517 def _libc_clock_gettime_wrapper():CODE
LOWkivy/__init__.py158def kivy_register_post_configuration(callback):STRING
LOWkivy/animation.py280 def have_properties_to_animate(self, widget):CODE
LOWkivy/animation.py441 def have_properties_to_animate(self, widget):CODE
LOWkivy/loader.py171 def _set_max_upload_per_frame(self, num):CODE
LOWkivy/loader.py176 def _get_max_upload_per_frame(self):CODE
LOWkivy/multistroke.py872 def angle_similarity_threshold(self):CODE
LOWkivy/tools/coverage.py76def walk_parser_rules_properties(parser_rule):CODE
LOW⚡kivy/tools/pep8checker/pep8.py844def whitespace_before_comment(logical_line, tokens):STRING
LOWkivy/tools/pep8checker/pep8.py333def whitespace_around_keywords(logical_line):STRING
LOWkivy/tools/pep8checker/pep8.py356def missing_whitespace_after_import_keyword(logical_line):STRING
LOWkivy/tools/pep8checker/pep8.py629def whitespace_before_parameters(logical_line, tokens):STRING
LOWkivy/tools/pep8checker/pep8.py661def whitespace_around_operator(logical_line):STRING
LOWkivy/tools/pep8checker/pep8.py684def missing_whitespace_around_operator(logical_line, tokens):STRING
LOWkivy/tools/pep8checker/pep8.py794def whitespace_around_named_parameter_equals(logical_line, tokens):STRING
LOWkivy/tools/pep8checker/pep8.py885def imports_on_separate_lines(logical_line):STRING
LOWkivy/tools/pep8checker/pep8.py904def module_imports_on_top_of_file(STRING
LOWkivy/tools/pep8checker/pep8.py1055def break_around_binary_operator(logical_line, tokens):STRING
LOWkivy/core/__init__.py196def load_with_provider_selection(CODE
LOWkivy/core/__init__.py400def handle_win_lib_import_error(category, provider, mod_name):CODE
LOWkivy/core/svg/svg_thorvg.py62def _extract_element_ids_accessible(pic):CODE
LOWkivy/core/image/__init__.py1301 def _find_format_from_filename(self, filename):CODE
LOWkivy/core/window/__init__.py1026 def _get_window_native_handle(self):CODE
LOWkivy/core/window/__init__.py2590 def start_system_theme_monitor(self, interval=1.0):CODE
LOWkivy/core/window/window_sdl3.py455 def _get_window_native_handle(self):CODE
LOWkivy/core/window/window_sdl3.py748 def _collide_and_dispatch_cursor_enter(self, x, y):CODE
LOWkivy/core/lottie/lottie_thorvg.py92def _marker_names_from_animation(anim):CODE
LOWkivy/core/text/__init__.py411 def _migrate_deprecated_padding_xy(self):CODE
LOWkivy/core/clipboard/clipboard_wayland.py15def _wayland_session_available():CODE
LOWkivy/input/providers/mouse.py420 def begin_or_update_hover_event(self, win, *args):CODE
LOWkivy/input/providers/hidinput.py511 def process_as_mouse_or_keyboard(CODE
LOWkivy/uix/vkeyboard.py564 def refresh_active_keys_layer(self):CODE
LOWkivy/uix/effectwidget.py684 def _refresh_background_color(self, *args):CODE
LOWkivy/uix/widget.py760 def _find_index_in_motion_filter(self, type_id, widget):CODE
LOWkivy/uix/widget.py774 def register_for_motion_event(self, type_id, widget=None):CODE
LOWkivy/uix/widget.py802 def unregister_for_motion_event(self, type_id, widget=None):CODE
LOWkivy/uix/actionbar.py875 def _pop_contextual_action_view(self):CODE
LOWkivy/uix/filechooser.py137def alphanumeric_folders_first(files, filesystem):CODE
LOWkivy/uix/videoplayer.py487 def _try_load_default_thumbnail(self, *largs):CODE
LOWkivy/uix/videoplayer.py494 def _try_load_default_annotations(self, *largs):CODE
LOWkivy/uix/splitter.py275 def rescale_parent_proportion(self, *args):CODE
LOWkivy/uix/gridlayout.py315 def _fills_from_left_to_right(self):CODE
LOWkivy/uix/gridlayout.py319 def _fills_from_top_to_bottom(self):CODE
LOWkivy/uix/gridlayout.py458 def _finalize_rows_cols_sizes(self):CODE
LOWkivy/uix/textinput.py2158 def _trigger_refresh_line_options(self, *largs):CODE
LOWkivy/uix/textinput.py2185 def _refresh_text_from_trigger(self, dt, *largs):CODE
LOWkivy/uix/textinput.py2188 def _refresh_text_from_property(self, *largs):CODE
LOWkivy/uix/textinput.py2464 def _update_graphics_selection(self):CODE
LOWkivy/uix/textinput.py2638 def _get_cursor_visual_height(self):CODE
LOWkivy/uix/recyclegridlayout.py246 def _calculate_idx_from_a_view_idx(self, n_cols, n_rows, view_idx):CODE
LOW⚡kivy/uix/scrollview.py1129 def _delegate_touch_up_to_children_widget_coords(self, touch):CODE
LOW⚡kivy/uix/scrollview.py1138 def _find_child_scrollview_at_touch(self, touch):CODE
LOW⚡kivy/uix/scrollview.py1444 def _setup_boundary_delegation(self, touch, in_bar):CODE
LOWkivy/uix/scrollview.py1170 def _find_scrollview_in_widget(self, widget, touch):CODE
LOWkivy/uix/scrollview.py1205 def _build_hierarchy_recursive(self, touch):CODE
LOWkivy/uix/scrollview.py1311 def _classify_nested_configuration(self, child_sv):CODE
715 more matches not shown…
Cross-Language Confusion85 hits · 438 pts
SeverityFileLineSnippetContext
HIGHkivy/vector.py272 >>> v.length()STRING
HIGHkivy/vector.py278 return self / self.length()CODE
HIGHkivy/base.py285 me.push()CODE
HIGHkivy/base.py292 wid._context.push()CODE
HIGHkivy/tools/pep8checker/pep8kivy.py33 "pip install pre-commit && make hook")CODE
HIGHkivy/core/window/__init__.py1752 # me.push()COMMENT
HIGHkivy/input/motionevent.py58 me.push() # Save current type_id and other valuesSTRING
HIGHkivy/input/providers/mouse.py156 self.push()CODE
HIGHkivy/uix/vkeyboard.py79 ["=", "=", "=", 1], ["\u232b", null, "backspace", 2]STRING
HIGHkivy/uix/widget.py683 next_index = canvas.length()CODE
HIGHkivy/uix/textinput.py306 touch.push()CODE
HIGHkivy/uix/textinput.py361 touch.push()CODE
HIGHkivy/uix/textinput.py371 touch.push()CODE
HIGHkivy/uix/textinput.py1806 touch.push()CODE
HIGHkivy/uix/sandbox.py72 self._context.push()CODE
HIGHkivy/uix/sandbox.py86 self._context.push()CODE
HIGH⚡kivy/uix/scrollview.py1123 touch.push()CODE
HIGH⚡kivy/uix/scrollview.py1132 touch.push()CODE
HIGHkivy/uix/scrollview.py1093 touch.push()CODE
HIGHkivy/uix/scrollview.py1104 me.push()CODE
HIGHkivy/uix/scrollview.py1162 touch.push()CODE
HIGHkivy/uix/scrollview.py1395 touch.push()CODE
HIGHkivy/uix/scrollview.py1570 touch.push()CODE
HIGHkivy/uix/scrollview.py2700 touch.push()CODE
HIGHkivy/uix/scrollview.py2739 touch.push()CODE
HIGHkivy/uix/scrollview.py2771 touch.push()CODE
HIGHkivy/uix/scrollview.py2786 touch.push()CODE
HIGHkivy/uix/scrollview.py2927 touch.push()CODE
HIGHkivy/uix/scrollview.py3388 touch.push()CODE
HIGHkivy/uix/scatter.py485 if not old_line.length(): # div by zeroCODE
HIGHkivy/uix/scatter.py494 scale = new_line.length() / old_line.length()CODE
HIGHkivy/uix/scatter.py517 me.push()CODE
HIGHkivy/uix/scatter.py533 touch.push()CODE
HIGHkivy/uix/scatter.py567 touch.push()CODE
HIGHkivy/uix/scatter.py616 touch.push()CODE
HIGH⚡kivy/uix/relativelayout.py295 me.push()CODE
HIGH⚡kivy/uix/relativelayout.py304 touch.push()CODE
HIGH⚡kivy/uix/relativelayout.py312 touch.push()CODE
HIGH⚡kivy/uix/relativelayout.py320 touch.push()CODE
HIGH⚡kivy/uix/rst.py1163 self.push(box.content)STRING
HIGH⚡kivy/uix/rst.py1169 self.push(box)STRING
HIGH⚡kivy/uix/rst.py1175 self.push(box)STRING
HIGH⚡kivy/uix/rst.py1188 self.push(item)STRING
HIGH⚡kivy/uix/rst.py1194 self.push(label)STRING
HIGH⚡kivy/uix/rst.py1199 self.push(label.content)STRING
HIGH⚡kivy/uix/rst.py1205 self.push(label.content)STRING
HIGH⚡kivy/uix/rst.py1252 self.push(lst)STRING
HIGH⚡kivy/uix/rst.py1258 self.push(term)STRING
HIGH⚡kivy/uix/rst.py1265 self.push(definition)STRING
HIGH⚡kivy/uix/rst.py1270 self.push(fieldlist)STRING
HIGH⚡kivy/uix/rst.py1275 self.push(name)STRING
HIGH⚡kivy/uix/rst.py1280 self.push(body)STRING
HIGH⚡kivy/uix/rst.py1285 self.push(table)STRING
HIGH⚡kivy/uix/rst.py1293 self.push(entry)STRING
HIGHkivy/uix/rst.py838 self.push(section)STRING
HIGHkivy/uix/rst.py951 self.push(self.root.content)STRING
HIGHkivy/uix/rst.py976 self.push(foot)STRING
HIGHkivy/uix/rst.py1096 self.push(label)STRING
HIGHkivy/uix/rst.py1144 self.push(label)STRING
HIGHkivy/uix/rst.py1149 self.push(box)STRING
25 more matches not shown…
Empty Error Handlers83 hits · 415 pts
SeverityFileLineSnippetContext
HIGHkivy/support.py138except ReactorNotRunning:CODE
HIGHkivy/cache.py187except Exception:CODE
HIGHkivy/__init__.py298except ImportError:CODE
HIGHkivy/__init__.py310except ImportError:CODE
HIGHkivy/__init__.py432except Exception:CODE
HIGHkivy/__init__.py454except ValueError:CODE
HIGHkivy/logger.py364except Exception:CODE
HIGHkivy/loader.py401except OSError:CODE
HIGHkivy/tools/report.py106except AttributeError:CODE
HIGHkivy/tools/pep8checker/pep8.py2288except AttributeError:CODE
HIGHkivy/tools/pep8checker/pep8.py228except UnicodeError:CODE
HIGHkivy/core/__init__.py301except KeyError:CODE
HIGHkivy/core/audio_output/__init__.py344except ImportError:CODE
HIGHkivy/core/video/__init__.py335except ImportError:CODE
HIGHkivy/core/video/video_ffpyplayer.py132except Full:CODE
HIGHkivy/core/video/video_ffpyplayer.py138except Empty:CODE
HIGHkivy/core/video/video_android.py146except Exception:CODE
HIGHkivy/core/image/img_pil.py98except EOFError:CODE
HIGHkivy/core/window/window_sdl3.py679except KeyError:CODE
HIGHkivy/core/window/window_sdl3.py703except ValueError:CODE
HIGHkivy/core/window/window_sdl3.py701except UnicodeError:CODE
HIGHkivy/core/lottie/lottie_thorvg.py472except (json.JSONDecodeError, TypeError):CODE
HIGHkivy/input/providers/mactouch.py154except Exception:CODE
HIGHkivy/input/providers/leapfinger.py83except IndexError:CODE
HIGHkivy/input/providers/mtdev.py377except Exception:CODE
HIGHkivy/input/providers/wm_common.py161except AttributeError:CODE
HIGHkivy/input/providers/linuxwacom.py393except Exception:CODE
HIGHkivy/input/providers/mouse.py442except IndexError:CODE
HIGHkivy/input/providers/hidinput.py775except Exception:CODE
HIGHkivy/uix/textinput.py900except IndexError:CODE
HIGHkivy/uix/textinput.py940except IndexError:CODE
HIGHkivy/uix/svg.py872except Exception:CODE
HIGHkivy/uix/svg.py876except Exception:CODE
HIGHkivy/uix/codeinput.py201except Exception:CODE
HIGHkivy/network/urlrequest.py341except UnicodeDecodeError:CODE
HIGHkivy/tests/conftest.py9except (SyntaxError, ImportError):CODE
HIGHkivy/tests/test_lang.py87except ParserException:CODE
HIGHkivy/tests/test_lang.py98except ParserException as e:CODE
HIGHkivy/tests/test_lang.py110except ParserException:CODE
HIGHkivy/tests/test_fonts.py41except Exception:CODE
HIGHkivy/tests/async_common.py550except ValueError:CODE
HIGHkivy/tests/test_storage.py76except ImportError:CODE
HIGHkivy/tests/test_storage.py74except ConnectionError:CODE
HIGHkivy/tests/common.py358except Exception:CODE
HIGHkivy/tests/test_widget.py30except WidgetException:CODE
HIGHkivy/tests/test_invalid_lang.py22except ParserException:CODE
HIGHkivy/tests/test_invalid_lang.py24except FactoryException:CODE
HIGHkivy/tests/test_invalid_lang.py41except ParserException:CODE
HIGHkivy/tests/test_animations.py188except ReferenceError:CODE
HIGHkivy/tests/test_properties.py112except ValueError:CODE
HIGHkivy/tests/test_properties.py185except ValueError:CODE
HIGHkivy/tests/test_filechooser_unicode.py81except (OSError, FileNotFoundError):CODE
HIGHkivy/tests/test_filechooser_unicode.py77except (OSError, FileNotFoundError):CODE
HIGHkivy/lang/builder.py123except ReferenceError:CODE
HIGHkivy/lang/builder.py747except ReferenceError:CODE
HIGHkivy/lang/builder.py848except ReferenceError:CODE
HIGHkivy/lang/builder.py795except ReferenceError:CODE
HIGHkivy/mobile/_platform/ios.py161except Exception:CODE
HIGHkivy/mobile/_platform/ios.py268except Exception:CODE
HIGHkivy/mobile/_platform/ios.py266except Exception:CODE
23 more matches not shown…
Excessive Try-Catch Wrapping176 hits · 204 pts
SeverityFileLineSnippetContext
LOWsetup.py136 except Exception as ex:CODE
LOWkivy/vector.py138 except Exception:CODE
LOWkivy/vector.py171 except Exception:CODE
LOW⚡kivy/vector.py189 except Exception:CODE
LOW⚡kivy/vector.py195 except Exception:CODE
LOW⚡kivy/vector.py201 except Exception:CODE
LOW⚡kivy/vector.py207 except Exception:CODE
MEDIUMkivy/vector.py133def __getslice__(self, i, j):CODE
MEDIUMkivy/vector.py168def __mul__(self, val):CODE
MEDIUMkivy/vector.py186def __truediv__(self, val):CODE
MEDIUMkivy/vector.py192def __div__(self, val):CODE
MEDIUMkivy/vector.py198def __rtruediv__(self, val):CODE
MEDIUMkivy/vector.py204def __rdiv__(self, val):CODE
LOWkivy/config.py798 except Exception:CODE
LOWkivy/config.py1027 except Exception:CODE
LOWkivy/cache.py130 except Exception:CODE
LOWkivy/cache.py147 except Exception:CODE
LOWkivy/cache.py164 except Exception:CODE
LOWkivy/cache.py187 except Exception:CODE
LOWkivy/cache.py209 except Exception:CODE
LOWkivy/__init__.py232 except Exception:STRING
LOWkivy/__init__.py396 except Exception:STRING
LOWkivy/__init__.py432 except Exception:STRING
LOWkivy/__init__.py508 except Exception as e:STRING
LOWkivy/logger.py43 except Exception:STRING
LOWkivy/logger.py314 except Exception:CODE
LOWkivy/logger.py364 except Exception:CODE
LOWkivy/logger.py421 except Exception:CODE
MEDIUMkivy/logger.py354def filter(self, record):CODE
MEDIUMkivy/logger.py414def __init__(self, logrecord):CODE
LOWkivy/loader.py296 except Exception:CODE
LOWkivy/loader.py395 except Exception as ex:CODE
LOWkivy/loader.py556 except Exception as e:CODE
LOWkivy/loader.py598 except Exception:CODE
LOWkivy/app.py883 except Exception:CODE
MEDIUMkivy/atlas.py445 print('Error: size must be an integer or <integer>x<integer>')CODE
MEDIUMkivy/atlas.py451 print('Error while creating atlas!')CODE
LOWkivy/tools/benchmark.py231 except Exception as e:CODE
LOWkivy/tools/benchmark.py244 except Exception as e:CODE
MEDIUMkivy/tools/texturecompress.py133 print('Error: Unable to locate "etc1tool".\n'CODE
MEDIUMkivy/tools/texturecompress.py187 print('Error: Unable to locate "texturetool".\n'CODE
MEDIUMkivy/tools/generate-icons.py68 print('Error: No such icon file')CODE
LOWkivy/tools/kviewer.py73 except Exception as e:CODE
LOWkivy/tools/packaging/factory.py73 except Exception as e:CODE
LOWkivy/tools/packaging/pyinstaller_hooks/__init__.py346 except Exception:CODE
LOWkivy/tools/gles_compat/subset_gles.py58 except Exception as e:CODE
MEDIUMkivy/tools/pep8checker/pep8kivy.py108 print("Error: {} style guide violation(s) encountered.".format(errors))CODE
LOWkivy/core/__init__.py336 except Exception as e:CODE
LOWkivy/core/__init__.py386 except Exception as e:CODE
LOWkivy/core/svg/svg_thorvg.py226 except Exception as exc:CODE
LOWkivy/core/svg/__init__.py170 except Exception as exc:CODE
LOWkivy/core/svg/__init__.py192 except Exception as exc:CODE
LOWkivy/core/audio_output/audio_ffpyplayer.py52except Exception:CODE
LOWkivy/core/audio_output/audio_ffpyplayer.py65except Exception:CODE
LOWkivy/core/audio_output/__init__.py183 except Exception:CODE
LOWkivy/core/audio_output/__init__.py192 except Exception:CODE
LOWkivy/core/video/video_ffpyplayer.py52except Exception:CODE
LOWkivy/core/video/video_android.py69 except Exception as e:CODE
LOWkivy/core/video/video_android.py146 except Exception:STRING
LOWkivy/core/video/video_ffmpeg.py20except Exception:CODE
116 more matches not shown…
Unused Imports195 hits · 178 pts
SeverityFileLineSnippetContext
LOWsetup.py8CODE
LOWkivy/metrics.py105CODE
LOWkivy/clock.py467CODE
LOWkivy/clock.py467CODE
LOWkivy/clock.py467CODE
LOWkivy/factory.py176CODE
LOWkivy/app.py481CODE
LOWkivy/base.py24CODE
LOWkivy/base.py136CODE
LOWkivy/tools/benchmark.py13CODE
LOWkivy/tools/stub-gl-debug.py2CODE
LOWkivy/tools/packaging/factory.py1CODE
LOWkivy/tools/packaging/pyinstaller_hooks/hook-kivy.py1CODE
LOWkivy/tools/packaging/pyinstaller_hooks/hook-kivy.py1CODE
LOWkivy/tools/packaging/pyinstaller_hooks/hook-kivy.py1CODE
LOWkivy/tools/image-testsuite/gimp28-testsuite.py6CODE
LOWkivy/tools/gles_compat/subset_gles.py26CODE
LOWkivy/tools/pep8checker/pep8.py49CODE
LOWkivy/core/audio_output/audio_ffpyplayer.py59CODE
LOWkivy/core/audio_output/__init__.py97CODE
LOWkivy/core/audio_output/__init__.py104CODE
LOWkivy/core/audio_output/__init__.py342CODE
LOWkivy/core/video/__init__.py331CODE
LOWkivy/core/video/video_ffpyplayer.py64CODE
LOWkivy/core/camera/camera_opencv.py9CODE
LOWkivy/core/image/__init__.py273CODE
LOWkivy/core/window/__init__.py1223CODE
LOWkivy/core/window/window_egl_rpi.py11CODE
LOWkivy/core/window/window_egl_rpi.py11CODE
LOWkivy/core/gl/__init__.py90CODE
LOWkivy/input/__init__.py30CODE
LOWkivy/input/__init__.py33CODE
LOWkivy/input/providers/wm_pen.py40CODE
LOWkivy/input/providers/__init__.py13CODE
LOWkivy/input/providers/__init__.py14CODE
LOWkivy/input/providers/__init__.py56CODE
LOWkivy/input/providers/__init__.py20CODE
LOWkivy/input/providers/__init__.py21CODE
LOWkivy/input/providers/__init__.py28CODE
LOWkivy/input/providers/__init__.py35CODE
LOWkivy/input/providers/__init__.py40CODE
LOWkivy/input/providers/__init__.py45CODE
LOWkivy/input/providers/__init__.py50CODE
LOWkivy/input/providers/wm_common.py65CODE
LOWkivy/input/providers/wm_common.py65CODE
LOWkivy/uix/effectwidget.py127CODE
LOWkivy/uix/widget.py246CODE
LOWkivy/uix/widget.py246CODE
LOWkivy/uix/colorpicker.py44CODE
LOWkivy/uix/actionbar.py48CODE
LOWkivy/uix/gridlayout.py94CODE
LOWkivy/uix/gridlayout.py94CODE
LOWkivy/uix/textinput.py3940CODE
LOWkivy/uix/behaviors/__init__.py97CODE
LOWkivy/uix/behaviors/__init__.py98CODE
LOWkivy/uix/behaviors/__init__.py99CODE
LOWkivy/uix/behaviors/__init__.py100CODE
LOWkivy/uix/behaviors/__init__.py101CODE
LOWkivy/uix/behaviors/__init__.py102CODE
LOWkivy/uix/behaviors/__init__.py103CODE
135 more matches not shown…
Deep Nesting186 hits · 172 pts
SeverityFileLineSnippetContext
LOWsetup.py771CODE
LOWsetup.py814CODE
LOWsetup.py1110CODE
LOWsetup.py1198CODE
LOWtools/add-ios-frameworks.py14CODE
LOWkivy/gesture.py298CODE
LOWkivy/clock.py986CODE
LOWkivy/clock.py1024CODE
LOWkivy/factory.py130CODE
LOWkivy/animation.py182CODE
LOWkivy/animation.py371CODE
LOWkivy/parser.py38CODE
LOWkivy/parser.py130CODE
LOWkivy/utils.py533CODE
LOWkivy/loader.py318CODE
LOWkivy/app.py918CODE
LOWkivy/app.py944CODE
LOWkivy/atlas.py230CODE
LOWkivy/base.py256CODE
LOWkivy/multistroke.py182CODE
LOWkivy/multistroke.py1048CODE
LOWkivy/tools/gallery.py38CODE
LOWkivy/tools/gallery.py219CODE
LOWkivy/tools/packaging/factory.py33CODE
LOWkivy/tools/image-testsuite/gimp28-testsuite.py97CODE
LOWkivy/tools/image-testsuite/gimp28-testsuite.py265CODE
LOWkivy/tools/gles_compat/subset_gles.py35CODE
LOWkivy/tools/gles_compat/subset_gles.py65CODE
LOWkivy/tools/pep8checker/pep8.py240CODE
LOWkivy/tools/pep8checker/pep8.py430CODE
LOWkivy/tools/pep8checker/pep8.py684CODE
LOWkivy/tools/pep8checker/pep8.py794CODE
LOWkivy/tools/pep8checker/pep8.py844CODE
LOWkivy/tools/pep8checker/pep8.py904CODE
LOWkivy/tools/pep8checker/pep8.py956CODE
LOWkivy/tools/pep8checker/pep8.py1016CODE
LOWkivy/tools/pep8checker/pep8.py1364CODE
LOWkivy/tools/pep8checker/pep8.py2139CODE
LOWkivy/tools/pep8checker/pep8.py2214CODE
LOWkivy/tools/pep8checker/pep8.py1486CODE
LOWkivy/tools/pep8checker/pep8.py1576CODE
LOWkivy/tools/pep8checker/pep8.py1609CODE
LOWkivy/tools/pep8checker/pep8.py1700CODE
LOWkivy/tools/pep8checker/pep8.py1987CODE
LOWkivy/core/__init__.py283CODE
LOWkivy/core/video/video_ffpyplayer.py244CODE
LOWkivy/core/image/__init__.py860CODE
LOWkivy/core/window/__init__.py693CODE
LOWkivy/core/window/__init__.py1724CODE
LOWkivy/core/window/__init__.py1867CODE
LOWkivy/core/window/__init__.py2071CODE
LOWkivy/core/window/__init__.py2295CODE
LOWkivy/core/window/window_sdl3.py234CODE
LOWkivy/core/window/window_sdl3.py282CODE
LOWkivy/core/window/window_sdl3.py477CODE
LOWkivy/core/window/window_sdl3.py734CODE
LOWkivy/core/window/window_sdl3.py763CODE
LOWkivy/core/text/__init__.py321CODE
LOWkivy/core/text/__init__.py535CODE
LOWkivy/core/text/__init__.py576CODE
126 more matches not shown…
Over-Commented Block144 hits · 124 pts
SeverityFileLineSnippetContext
LOWsetup.py921 a python-for-android recipe. Same no-wheel-repair-step rationale asCOMMENT
LOWsetup.py941 # ``c_options['use_osx_frameworks']`` was explicitly disabled - weCOMMENT
LOWsetup.py1041 'extra_link_args': [],COMMENT
LOWsetup.py1081 # explicitly on Unix-like systems. On Linux a shared libthorvg-1.soCOMMENT
LOWsetup.py1621COMMENT
LOWpackaging/kivy_examples/setup.py1#COMMENT
LOWtools/build_linux_dependencies.sh161# ``THORVG_SHARED=1`` switches it from the default static-archive buildCOMMENT
LOWtools/meson-cross-ios-sim.ini1# Meson cross-file for iOS Simulator (universal arm64 + x86_64, iphonesimulator SDK)COMMENT
LOWtools/macos_framework_wrapper.sh1#!/bin/bashCOMMENT
LOWtools/macos_framework_wrapper.sh21#COMMENT
LOWtools/macos_framework_wrapper.sh41#COMMENT
LOWtools/macos_framework_wrapper.sh101cp "$dylib" "$fw_root/$framework_name"COMMENT
LOWtools/build_thorvg.sh1#!/bin/bashCOMMENT
LOWtools/build_thorvg.sh21# THORVG_SHARED "1" to build a shared libraryCOMMENT
LOWtools/build_thorvg.sh41# ``-arch`` flags to Apple Clang in a singleCOMMENT
LOWtools/build_thorvg.sh61# slice.COMMENT
LOWtools/build_thorvg.sh81# Android builds always force THORVG_SHARED=0COMMENT
LOWtools/build_thorvg.sh101# Android SDL3 libraries already use. Default:COMMENT
LOWtools/build_thorvg.sh221# -Dextra= disables the two defaulted ``extra`` featuresCOMMENT
LOWtools/build_thorvg.sh241# to break universal2 builds. See theCOMMENT
LOWtools/build_thorvg.sh321 #COMMENT
LOWtools/build_thorvg.sh381 # the two ABIs Kivy's Android wheel build already targets.COMMENT
LOWtools/build_thorvg.sh441 # <prefix>/libs/<abi>/libthorvg.a - see _thorvg_configure_and_install'sCOMMENT
LOWtools/build_thorvg.sh461 # test_osx_python.yml) where Meson can't execute the freshly builtCOMMENT
LOWtools/build_thorvg.sh501# Rename the produced archive to ``libthorvg.a`` (Unix) / ``thorvg.lib``COMMENT
LOWtools/meson-cross-ios-device.ini1# Meson cross-file for iOS device (arm64, iphoneos SDK)COMMENT
LOWtools/meson-cross-android-arm64-v8a.ini1# Meson cross-file for Android arm64-v8a (aarch64)COMMENT
LOWtools/build_macos_dependencies.sh161# ThorVG is dynamically linked into the ``kivy.lib.thorvg`` CythonCOMMENT
LOWtools/build_ios_dependencies.sh141xcodebuild -create-xcframework \COMMENT
LOWkivy/config.py541 '''COMMENT
LOWkivy/clock.py1101# 1. _TriggeredWrapper (The Descriptor):COMMENT
LOWkivy/tools/gles_compat/gl2.h41/* OpenGL ES core versions */COMMENT
LOWkivy/tools/gles_compat/gl2.h101#define GL_FUNC_REVERSE_SUBTRACT 0x800BCOMMENT
LOWkivy/tools/gles_compat/gl2.h141/* GL_GEQUAL */COMMENT
LOWkivy/tools/gles_compat/gl2.h161#define GL_OUT_OF_MEMORY 0x0505COMMENT
LOWkivy/tools/gles_compat/gl2.h181#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96COMMENT
LOWkivy/tools/gles_compat/gl2.h201#define GL_SUBPIXEL_BITS 0x0D50COMMENT
LOWkivy/tools/gles_compat/gl2.h221/* GL_TEXTURE_WRAP_T */COMMENT
LOWkivy/tools/gles_compat/gl2.h241#define GL_FLOAT 0x1406COMMENT
LOWkivy/tools/gles_compat/gl2.h261#define GL_MAX_VERTEX_ATTRIBS 0x8869COMMENT
LOWkivy/tools/gles_compat/gl2.h281#define GL_NEVER 0x0200COMMENT
LOWkivy/tools/gles_compat/gl2.h301#define GL_VENDOR 0x1F00COMMENT
LOWkivy/tools/gles_compat/gl2.h321#define GL_TEXTURE_WRAP_S 0x2802COMMENT
LOWkivy/tools/gles_compat/gl2.h341#define GL_TEXTURE2 0x84C2COMMENT
LOWkivy/tools/gles_compat/gl2.h361#define GL_TEXTURE22 0x84D6COMMENT
LOWkivy/tools/gles_compat/gl2.h381#define GL_FLOAT_VEC4 0x8B52COMMENT
LOWkivy/tools/gles_compat/gl2.h401#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645COMMENT
LOWkivy/tools/gles_compat/gl2.h421#define GL_HIGH_FLOAT 0x8DF2COMMENT
LOWkivy/tools/gles_compat/gl2.h441#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51COMMENT
LOWkivy/tools/pep8checker/pep8.py1#!/usr/bin/env pythonCOMMENT
LOWkivy/core/__init__.py201 category_name,COMMENT
LOWkivy/core/video/video_avfoundation_implem.mm21 * path; that's a one-shot read, not the per-frame hot path.COMMENT
LOWkivy/core/video/video_avfoundation_implem.mm41#endifCOMMENT
LOWkivy/core/video/video_avfoundation_implem.mm121// Shadow the standard GL names with our ANGLE-resolved pointers so theCOMMENT
LOWkivy/core/video/video_avfoundation_implem.h21#ifndef KIVY_VIDEO_AVFOUNDATION_IMPLEM_HCOMMENT
LOWkivy/core/window/window_x11_core.c1#include <stdlib.h>COMMENT
LOWkivy/input/motionevent.py201 if self.__class__ == MotionEvent:COMMENT
LOWkivy/input/motionevent.py321COMMENT
LOWkivy/input/motionevent.py341 self.triple_tap_time = 0COMMENT
LOWkivy/input/providers/hidinput.py261 0x6b: ('end', ),COMMENT
84 more matches not shown…
Self-Referential Comments36 hits · 92 pts
SeverityFileLineSnippetContext
MEDIUMsetup.py123 # Create a temporary file which contains the codeCOMMENT
MEDIUMtools/build_linux_dependencies.sh32# Create the dependencies folderCOMMENT
MEDIUMtools/build_macos_dependencies.sh38# Create the dependencies folderCOMMENT
MEDIUMtools/build_ios_dependencies.sh35# Create the dependencies folderCOMMENT
MEDIUM.ci/ubuntu_ci.sh271 # Create a copy with the armv6l suffixCOMMENT
MEDIUMkivy/gesture.py10 # Create a gestureSTRING
MEDIUMkivy/_version.py1# This file is imported from __init__.py and exec'd from setup.pyCOMMENT
MEDIUMkivy/clock.py1168 # Create a bound version for this instanceCOMMENT
MEDIUMkivy/tools/image-testsuite/gimp28-testsuite.py174# Create an image from the given pattern, with the specified layertype_in*,COMMENT
MEDIUMkivy/tools/image-testsuite/gimp28-testsuite.py217 # Create the gimp image, and the layer we will draw onCOMMENT
MEDIUMkivy/core/__init__.py209 # This function implements the common pattern for loading resources withCOMMENT
MEDIUMkivy/core/camera/camera_opencv.py136 # Create the textureCOMMENT
MEDIUMkivy/core/camera/camera_picamera.py62 # Create the textureCOMMENT
MEDIUMkivy/core/window/__init__.py1123 # Create a trigger for updating the keyboard heightCOMMENT
MEDIUMkivy/core/text/__init__.py61 # Create a font context containing system fonts + one custom TTFSTRING
MEDIUMkivy/core/text/markup.py942 # Create a custom __init__ that properly calls the base classCOMMENT
MEDIUMkivy/input/providers/tuio.py61 # Create a class to handle the new TUIO type/pathSTRING
MEDIUMkivy/uix/screenmanager.py25 # Create the managerSTRING
MEDIUMkivy/uix/screenmanager.py90 # Create the screen managerSTRING
MEDIUMkivy/uix/widget.py359 # Create the default canvas if it does not exist.COMMENT
MEDIUMkivy/uix/textinput.py2676 # Create a label from a text, using line optionsCOMMENT
MEDIUMkivy/uix/scrollview.py3002 # This method handles the end of scroll gestures and performs cleanup.COMMENT
MEDIUMkivy/uix/scrollview.py3332 # This method is called when the scroll_timeout expires without theCOMMENT
MEDIUMkivy/uix/codeinput.py126 # Create a label from a text, using line optionsCOMMENT
MEDIUM⚡kivy/uix/gesturesurface.py425 # Create the bounding box Rectangle for the gestureCOMMENT
MEDIUMkivy/uix/behaviors/drag.py24 # Define the properties for the DragLabelSTRING
MEDIUMkivy/uix/behaviors/drag.py30 # Define the root widgetSTRING
MEDIUMkivy/tests/test_text_provider.py384 # Create a mock provider classCOMMENT
MEDIUM⚡kivy/tests/test_image_provider.py502 # Create a zip file containing the imageCOMMENT
MEDIUMkivy/tests/test_system_tray.py195 # Create a temporary icon file for testingCOMMENT
MEDIUMkivy/tests/test_system_tray.py355 # Create main menu itemsCOMMENT
MEDIUMexamples/demo/multistroke/historymanager.py124 # Create a GestureVisualizer that draws the gesture on canvasCOMMENT
MEDIUMexamples/async/asyncio_advanced.py62 """This method is also run by the asyncio loop and periodically printsSTRING
MEDIUMexamples/system_tray/system_tray_showcase.py150 # Create the system tray icon if it doesn't existCOMMENT
MEDIUMexamples/miscellaneous/shapedwindow.py15# Define the KV layoutCOMMENT
MEDIUMdoc/sources/conf.py6# This file is execfile()d with the current directory set to its containingCOMMENT
Cross-File Repetition12 hits · 60 pts
SeverityFileLineSnippetContext
HIGHkivy/uix/actionbar.py0text color, in the format (r, g, b, a). :attr:`color` is a :class:`~kivy.properties.colorproperty` and defaults to [1, 1STRING
HIGHkivy/uix/tabbedpanel.py0text color, in the format (r, g, b, a). :attr:`color` is a :class:`~kivy.properties.colorproperty` and defaults to [1, 1STRING
HIGHkivy/uix/label.py0text color, in the format (r, g, b, a). :attr:`color` is a :class:`~kivy.properties.colorproperty` and defaults to [1, 1STRING
HIGHkivy/uix/boxlayout.py0padding between the layout box and it's children: [padding_left, padding_top, padding_right, padding_bottom]. padding alSTRING
HIGHkivy/uix/gridlayout.py0padding between the layout box and it's children: [padding_left, padding_top, padding_right, padding_bottom]. padding alSTRING
HIGHkivy/uix/stacklayout.py0padding between the layout box and it's children: [padding_left, padding_top, padding_right, padding_bottom]. padding alSTRING
HIGHkivy/tests/test_audio_provider.py0available_providers() should return at least one provider.STRING
HIGHkivy/tests/test_text_provider.py0available_providers() should return at least one provider.STRING
HIGHkivy/tests/test_image_provider.py0available_providers() should return at least one provider.STRING
HIGHkivy/tests/test_audio_provider.py0available_providers() should return list of strings.STRING
HIGHkivy/tests/test_text_provider.py0available_providers() should return list of strings.STRING
HIGHkivy/tests/test_image_provider.py0available_providers() should return list of strings.STRING
Redundant / Tautological Comments53 hits · 55 pts
SeverityFileLineSnippetContext
LOWtools/build_linux_dependencies.sh64# Check if "python3" exists, otherwise use "python" as fallback (which is the case for manylinux)COMMENT
LOWkivy/utils.py628 # Check if file existCOMMENT
LOWkivy/app.py1069 # Check if the window is already createdCOMMENT
LOW⚡kivy/tools/pep8checker/pep8.py854 Okay: x = x + 1 # Increment xCODE
LOW⚡kivy/tools/pep8checker/pep8.py855 Okay: x = x + 1 # Increment xCODE
LOW⚡kivy/tools/pep8checker/pep8.py857 E261: x = x + 1 # Increment xCODE
LOW⚡kivy/tools/pep8checker/pep8.py858 E262: x = x + 1 #Increment xCODE
LOW⚡kivy/tools/pep8checker/pep8.py859 E262: x = x + 1 # Increment xCODE
LOWkivy/tools/pep8checker/pep8.py754 # Check if the operator is being used as a binary operatorSTRING
LOWkivy/core/__init__.py37 # Check if provider strict mode is enabled.COMMENT
LOWkivy/core/__init__.py251 # Check if provider is compatibleCOMMENT
LOWkivy/uix/widget.py659 # Check if the widget is already a child of another widget.COMMENT
LOW⚡kivy/uix/scrollview.py2415 # Check if we already have an active nested ScrollView touchCOMMENT
LOWkivy/uix/scrollview.py1402 # Check if inner actually set up scroll stateCOMMENT
LOWkivy/uix/scrollview.py1592 # Check if this ScrollView should delegate to its parent in hierarchy.COMMENT
LOWkivy/uix/scrollview.py1616 # Check if delegation to outer is enabledCOMMENT
LOWkivy/uix/scrollview.py1625 # Check if we're the current handler (hierarchy-based routing)COMMENT
LOWkivy/uix/scrollview.py1689 # Check if this ScrollView is at a scroll boundary on the given axis.COMMENT
LOWkivy/uix/scrollview.py1713 # Check if scroll gesture is trying to move beyond the current boundary.COMMENT
LOWkivy/uix/scrollview.py1790 # Check if this ancestor can handle the axis we needCOMMENT
LOWkivy/uix/scrollview.py1823 # Check if touch is within scrollable bounds and set in_bar flags.COMMENT
LOWkivy/uix/scrollview.py1844 # Check if touch is in horizontal or vertical scroll barsCOMMENT
LOWkivy/uix/scrollview.py1989 # Check if touch movement is orthogonal to scroll direction.COMMENT
LOWkivy/uix/scrollview.py2028 # Check if touch should be delegated in mixed nested configurations.COMMENT
LOWkivy/uix/scrollview.py2075 # Check if scroll should lock at boundary for parallel scrolling.COMMENT
LOWkivy/uix/scrollview.py2135 # Check if we've moved away from the boundary into contentCOMMENT
LOWkivy/uix/scrollview.py2156 # Check if we've moved away from the boundary into contentCOMMENT
LOWkivy/uix/scrollview.py2428 # Check if touch is on OUR scrollbar -COMMENT
LOWkivy/uix/scrollview.py2503 # Check if child is at boundary in parallel directionsCOMMENT
LOWkivy/uix/scrollview.py2544 # Check if this touch was claimed by a child widget (e.g., button)COMMENT
LOWkivy/uix/scrollview.py2572 # Check if stored touch is stale (completed but not cleaned up)COMMENT
LOWkivy/uix/scrollview.py2606 # Check if touch is in scroll bars and set in_bar flagsCOMMENT
LOWkivy/uix/scrollview.py2683 # Check if child widget claimed the touch - propagate to childrenCOMMENT
LOWkivy/uix/scrollview.py2717 # Check if we should skip to a non-adjacentCOMMENT
LOWkivy/uix/scrollview.py2863 # Check if inner should delegate to outerCOMMENT
LOWkivy/uix/scrollview.py2913 # Check if current handler has scroll stateCOMMENT
LOWkivy/uix/scrollview.py3242 # Check if scroll position has stabilized. Used to dispatch theCOMMENT
LOWkivy/uix/scrollview.py3251 # Check if position changedCOMMENT
LOWkivy/uix/scrollview.py3402 # Set flag to prevent re-initialization, this touch belongs to childCOMMENT
LOWkivy/uix/video.py294 # Check if filename is not urlCOMMENT
LOWkivy/uix/behaviors/button.py318 # Check if this is the first touch before addingCOMMENT
LOWkivy/uix/behaviors/button.py399 # Check if this touch was cancelledCOMMENT
LOWkivy/tests/test_uix_textinput.py37 # Check if text is modified while recreating from lines and lines_flagsCOMMENT
LOWkivy/tests/test_uix_textinput.py40 # Check if wordbreaking is correctly doneCOMMENT
LOWkivy/tests/test_system_tray.py540 # Check if tray icon creation was attemptedCOMMENT
LOWkivy/tests/test_properties.py686 # Set property to same value as before, should only call setterSTRING
LOWkivy/tests/test_properties.py840 # Set property to same value as before, setter and getter and callbackSTRING
LOWkivy/effects/dampedscroll.py132 # Check if we're in overscroll and should apply spring forcesCOMMENT
LOWkivy/effects/dampedscroll.py183 # Check if we've reached the target and should stopCOMMENT
LOWexamples/demo/multistroke/historymanager.py135 # Add the visualizer to the list of gestures in 'history' screenCOMMENT
LOWexamples/system_tray/system_tray_showcase.py333 # Check if the file existsCOMMENT
LOWexamples/system_tray/system_tray_showcase.py338 # Check if it's a valid image fileCOMMENT
LOWexamples/widgets/recycleview/key_viewclass.py183 # Check if index is the sentinel value (-1) indicating itSTRING
AI Slop Vocabulary12 hits · 18 pts
SeverityFileLineSnippetContext
LOWkivy/clock.py507 # on mobile platforms, just use time.sleepCOMMENT
LOWkivy/multistroke.py544 # is nothing to do; perhaps should just return None?COMMENT
LOWkivy/core/text/__init__.py859 # words: every even index is spaces, just add ltr n spacesCOMMENT
LOWkivy/core/text/markup.py707 # if that fits, just return the flattened lineCOMMENT
LOWkivy/core/spelling/__init__.py72 # If no language was specified, we just use the first oneCOMMENT
LOWkivy/uix/screenmanager.py906 # show another one, just set the 'current' property.COMMENT
LOWkivy/uix/screenmanager.py928 # show another one, just set the 'current' property.COMMENT
LOWkivy/uix/boxlayout.py235 # there's no space, so just set to min size or zeroCOMMENT
LOWkivy/uix/layout.py159 # too small, just set to minCOMMENT
LOW⚡kivy/tests/test_core_svg.py207 # Should not raise; just return an empty list.COMMENT
LOWkivy/lang/builder.py202 # just add the attr to the listCOMMENT
LOWexamples/widgets/recycleview/messenger.py165 # just set the sizeSTRING
Slop Phrases11 hits · 16 pts
SeverityFileLineSnippetContext
LOWkivy/config.py1007 # don't forget to increment KIVY_CONFIG_VERSION !COMMENT
LOWkivy/config.py1007 # don't forget to increment KIVY_CONFIG_VERSION !COMMENT
MEDIUMkivy/app.py295Here is a simple example of how on_pause() should be used::STRING
LOWkivy/uix/textinput.py2241 # with the new text don't forget to update graphics againCOMMENT
LOWkivy/uix/textinput.py2241 # with the new text don't forget to update graphics againCOMMENT
MEDIUMkivy/lang/__init__.py121Here is a simple example of a kv file that contains a root widget::STRING
MEDIUMkivy/lang/__init__.py270Here's a simple example that demonstrates this behavior::STRING
LOWexamples/android/takepicture/main.py12If you want to compile it, don't forget to add the CAMERA permission::STRING
LOWexamples/android/compass/main.py67 # when you are going on pause, don't forget to stop the sensorCOMMENT
LOWexamples/android/compass/main.py67 # when you are going on pause, don't forget to stop the sensorCOMMENT
MEDIUMexamples/widgets/keyboardlistener.py15 # If it exists, this widget is a VKeyboard object which you can useCOMMENT
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHkivy/utils.py62Normalize a path identifier for safe filesystem use. Replaces invalid filesystem characters with underscores to creSTRING
HIGHkivy/core/text/__init__.py505Get a text provider class by name. :Parameters: `provider`: str The provider name (STRING
AI Structural Patterns8 hits · 8 pts
SeverityFileLineSnippetContext
LOWkivy/gesture.py79CODE
LOWkivy/config.py595CODE
LOWkivy/core/window/window_sdl3.py440CODE
LOWkivy/core/text/__init__.py321CODE
LOWkivy/network/urlrequest.py186CODE
LOWkivy/tests/async_common.py286CODE
LOWkivy/tests/async_common.py382CODE
LOWkivy/storage/redisstore.py61CODE
Overly Generic Function Names7 hits · 7 pts
SeverityFileLineSnippetContext
LOWkivy/tests/test_clock_triggered.py44 def my_method(self, *args, **kwargs):CODE
LOWkivy/tests/test_clock_triggered.py73 def my_method(self, *args, **kwargs):CODE
LOWkivy/tests/test_clock_triggered.py95 def my_method(self, *args, **kwargs):CODE
LOWkivy/tests/test_clock_triggered.py111 def my_method(self):CODE
LOWkivy/tests/test_clock_triggered.py205 def my_method(self, val):CODE
LOWkivy/tests/test_weakmethod.py9 def do_something(self):CODE
LOWkivy/tests/test_weakmethod.py31 def do_something():CODE
Dead Code2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMexamples/3Drendering/objloader.py136CODE
MEDIUMexamples/3Drendering/objloader.py147CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMkivy/mobile/_platform/android.py456# Polling (rather than an event-driven Java listener) is a deliberate choice:COMMENT
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOWexamples/widgets/label_text_size.py17_long_text = ("""Lorem ipsum dolor sit amet, consectetur adipiscing elit. """CODE
LOWexamples/widgets/label_text_size.py17_long_text = ("""Lorem ipsum dolor sit amet, consectetur adipiscing elit. """CODE
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWkivy/uix/textinput.py1594 # TODO: implement 'scrollleft' and 'scrollright'COMMENT
Structural Annotation Overuse1 hit · 1 pts
SeverityFileLineSnippetContext
LOWkivy/uix/scrollview.py1252 # NOTE: This method is for FUTURE arbitrary nesting support (Phase 3+).COMMENT