Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS
This report presents the forensic synthetic code analysis of kivy/kivy, a Python project with 18,975 GitHub stars. SynthScan v2.0 examined 150,098 lines of code across 632 source files, recording 1885 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 19.6 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1885 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | setup.py | 142 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setup.py | 305 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setup.py | 340 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setup.py | 437 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setup.py | 729 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setup.py | 1230 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setup.py | 1601 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setup.py | 1675 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | setup.py | 1715 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_thorvg.sh | 142 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_thorvg.sh | 144 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_thorvg.sh | 157 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_thorvg.sh | 165 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_thorvg.sh | 178 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_thorvg.sh | 230 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_thorvg.sh | 269 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_thorvg.sh | 283 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_thorvg.sh | 374 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_thorvg.sh | 388 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_ios_dependencies.sh | 147 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_ios_dependencies.sh | 159 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/support.py | 46 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/support.py | 48 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/multistroke.py | 150 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/multistroke.py | 152 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/multistroke.py | 641 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/multistroke.py | 643 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/multistroke.py | 791 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/multistroke.py | 793 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/multistroke.py | 1070 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/multistroke.py | 1072 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/multistroke.py | 1166 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/multistroke.py | 1168 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/multistroke.py | 1285 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/multistroke.py | 1288 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/tools/report.py | 81 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/tools/report.py | 83 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM | kivy/tools/image-testsuite/imagemagick-testsuite.sh | 131 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/tools/image-testsuite/imagemagick-testsuite.sh | 133 | # ------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/svg/svg_thorvg.py | 145 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/svg/svg_thorvg.py | 147 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | kivy/core/svg/svg_thorvg.py | 260 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | kivy/core/svg/svg_thorvg.py | 262 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | kivy/core/svg/svg_thorvg.py | 270 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | kivy/core/svg/svg_thorvg.py | 272 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/lottie_thorvg.py | 177 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/lottie_thorvg.py | 179 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/lottie_thorvg.py | 304 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/lottie_thorvg.py | 306 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/lottie_thorvg.py | 355 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/lottie_thorvg.py | 357 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/lottie_thorvg.py | 434 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/lottie_thorvg.py | 436 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/lottie_thorvg.py | 504 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/lottie_thorvg.py | 506 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/__init__.py | 104 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/__init__.py | 107 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/__init__.py | 143 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/__init__.py | 145 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | kivy/core/lottie/__init__.py | 156 | # ------------------------------------------------------------------ | COMMENT |
| 224 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 1639 | def get_extensions_from_sources(sources): | CODE |
| LOW | tools/add-ios-frameworks.py | 14 | def add_ios_frameworks_to_wheels(wheels_path: str): | CODE |
| LOW | kivy/support.py | 13 | def install_gobject_iteration(): | CODE |
| LOW | kivy/support.py | 251 | def uninstall_twisted_reactor(): | CODE |
| LOW | kivy/clock.py | 517 | def _libc_clock_gettime_wrapper(): | CODE |
| LOW | kivy/__init__.py | 158 | def kivy_register_post_configuration(callback): | STRING |
| LOW | kivy/animation.py | 280 | def have_properties_to_animate(self, widget): | CODE |
| LOW | kivy/animation.py | 441 | def have_properties_to_animate(self, widget): | CODE |
| LOW | kivy/loader.py | 155 | def _set_max_upload_per_frame(self, num): | CODE |
| LOW | kivy/loader.py | 160 | def _get_max_upload_per_frame(self): | CODE |
| LOW | kivy/multistroke.py | 872 | def angle_similarity_threshold(self): | CODE |
| LOW | kivy/tools/coverage.py | 76 | def walk_parser_rules_properties(parser_rule): | CODE |
| LOW⚡ | kivy/tools/pep8checker/pep8.py | 844 | def whitespace_before_comment(logical_line, tokens): | STRING |
| LOW | kivy/tools/pep8checker/pep8.py | 333 | def whitespace_around_keywords(logical_line): | STRING |
| LOW | kivy/tools/pep8checker/pep8.py | 356 | def missing_whitespace_after_import_keyword(logical_line): | STRING |
| LOW | kivy/tools/pep8checker/pep8.py | 629 | def whitespace_before_parameters(logical_line, tokens): | STRING |
| LOW | kivy/tools/pep8checker/pep8.py | 661 | def whitespace_around_operator(logical_line): | STRING |
| LOW | kivy/tools/pep8checker/pep8.py | 684 | def missing_whitespace_around_operator(logical_line, tokens): | STRING |
| LOW | kivy/tools/pep8checker/pep8.py | 794 | def whitespace_around_named_parameter_equals(logical_line, tokens): | STRING |
| LOW | kivy/tools/pep8checker/pep8.py | 885 | def imports_on_separate_lines(logical_line): | STRING |
| LOW | kivy/tools/pep8checker/pep8.py | 904 | def module_imports_on_top_of_file( | STRING |
| LOW | kivy/tools/pep8checker/pep8.py | 1055 | def break_around_binary_operator(logical_line, tokens): | STRING |
| LOW | kivy/core/__init__.py | 195 | def load_with_provider_selection( | CODE |
| LOW | kivy/core/__init__.py | 399 | def handle_win_lib_import_error(category, provider, mod_name): | CODE |
| LOW | kivy/core/svg/svg_thorvg.py | 62 | def _extract_element_ids_accessible(pic): | CODE |
| LOW | kivy/core/image/__init__.py | 1280 | def _find_format_from_filename(self, filename): | CODE |
| LOW | kivy/core/window/__init__.py | 1047 | def _get_window_native_handle(self): | CODE |
| LOW | kivy/core/window/__init__.py | 2601 | def start_system_theme_monitor(self, interval=1.0): | CODE |
| LOW | kivy/core/window/window_sdl3.py | 453 | def _get_window_native_handle(self): | CODE |
| LOW | kivy/core/window/window_sdl3.py | 746 | def _collide_and_dispatch_cursor_enter(self, x, y): | CODE |
| LOW | kivy/core/lottie/lottie_thorvg.py | 92 | def _marker_names_from_animation(anim): | CODE |
| LOW | kivy/core/text/__init__.py | 411 | def _migrate_deprecated_padding_xy(self): | CODE |
| LOW | kivy/input/providers/mouse.py | 401 | def begin_or_update_hover_event(self, win, *args): | CODE |
| LOW | kivy/input/providers/hidinput.py | 511 | def process_as_mouse_or_keyboard( | CODE |
| LOW | kivy/uix/vkeyboard.py | 564 | def refresh_active_keys_layer(self): | CODE |
| LOW | kivy/uix/effectwidget.py | 684 | def _refresh_background_color(self, *args): | CODE |
| LOW | kivy/uix/widget.py | 760 | def _find_index_in_motion_filter(self, type_id, widget): | CODE |
| LOW | kivy/uix/widget.py | 774 | def register_for_motion_event(self, type_id, widget=None): | CODE |
| LOW | kivy/uix/widget.py | 802 | def unregister_for_motion_event(self, type_id, widget=None): | CODE |
| LOW | kivy/uix/actionbar.py | 875 | def _pop_contextual_action_view(self): | CODE |
| LOW | kivy/uix/filechooser.py | 137 | def alphanumeric_folders_first(files, filesystem): | CODE |
| LOW | kivy/uix/videoplayer.py | 487 | def _try_load_default_thumbnail(self, *largs): | CODE |
| LOW | kivy/uix/videoplayer.py | 494 | def _try_load_default_annotations(self, *largs): | CODE |
| LOW | kivy/uix/splitter.py | 275 | def rescale_parent_proportion(self, *args): | CODE |
| LOW | kivy/uix/gridlayout.py | 315 | def _fills_from_left_to_right(self): | CODE |
| LOW | kivy/uix/gridlayout.py | 319 | def _fills_from_top_to_bottom(self): | CODE |
| LOW | kivy/uix/gridlayout.py | 458 | def _finalize_rows_cols_sizes(self): | CODE |
| LOW | kivy/uix/textinput.py | 2158 | def _trigger_refresh_line_options(self, *largs): | CODE |
| LOW | kivy/uix/textinput.py | 2185 | def _refresh_text_from_trigger(self, dt, *largs): | CODE |
| LOW | kivy/uix/textinput.py | 2188 | def _refresh_text_from_property(self, *largs): | CODE |
| LOW | kivy/uix/textinput.py | 2464 | def _update_graphics_selection(self): | CODE |
| LOW | kivy/uix/textinput.py | 2638 | def _get_cursor_visual_height(self): | CODE |
| LOW | kivy/uix/recyclegridlayout.py | 246 | def _calculate_idx_from_a_view_idx(self, n_cols, n_rows, view_idx): | CODE |
| LOW⚡ | kivy/uix/scrollview.py | 1129 | def _delegate_touch_up_to_children_widget_coords(self, touch): | CODE |
| LOW⚡ | kivy/uix/scrollview.py | 1138 | def _find_child_scrollview_at_touch(self, touch): | CODE |
| LOW⚡ | kivy/uix/scrollview.py | 1444 | def _setup_boundary_delegation(self, touch, in_bar): | CODE |
| LOW | kivy/uix/scrollview.py | 1170 | def _find_scrollview_in_widget(self, widget, touch): | CODE |
| LOW | kivy/uix/scrollview.py | 1205 | def _build_hierarchy_recursive(self, touch): | CODE |
| LOW | kivy/uix/scrollview.py | 1311 | def _classify_nested_configuration(self, child_sv): | CODE |
| LOW | kivy/uix/scrollview.py | 1511 | def _delegate_to_parent_scroll(self, touch, child_sv, parent_sv): | CODE |
| 629 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | kivy/vector.py | 272 | >>> v.length() | STRING |
| HIGH | kivy/vector.py | 278 | return self / self.length() | CODE |
| HIGH | kivy/base.py | 278 | me.push() | CODE |
| HIGH | kivy/base.py | 285 | wid._context.push() | CODE |
| HIGH | kivy/tools/pep8checker/pep8kivy.py | 33 | "pip install pre-commit && make hook") | CODE |
| HIGH | kivy/core/window/__init__.py | 1763 | # me.push() | COMMENT |
| HIGH | kivy/input/motionevent.py | 58 | me.push() # Save current type_id and other values | STRING |
| HIGH | kivy/input/providers/mouse.py | 145 | self.push() | CODE |
| HIGH | kivy/uix/vkeyboard.py | 79 | ["=", "=", "=", 1], ["\u232b", null, "backspace", 2] | STRING |
| HIGH | kivy/uix/widget.py | 683 | next_index = canvas.length() | CODE |
| HIGH | kivy/uix/textinput.py | 306 | touch.push() | CODE |
| HIGH | kivy/uix/textinput.py | 361 | touch.push() | CODE |
| HIGH | kivy/uix/textinput.py | 371 | touch.push() | CODE |
| HIGH | kivy/uix/textinput.py | 1806 | touch.push() | CODE |
| HIGH | kivy/uix/sandbox.py | 72 | self._context.push() | CODE |
| HIGH | kivy/uix/sandbox.py | 86 | self._context.push() | CODE |
| HIGH⚡ | kivy/uix/scrollview.py | 1123 | touch.push() | CODE |
| HIGH⚡ | kivy/uix/scrollview.py | 1132 | touch.push() | CODE |
| HIGH | kivy/uix/scrollview.py | 1093 | touch.push() | CODE |
| HIGH | kivy/uix/scrollview.py | 1104 | me.push() | CODE |
| HIGH | kivy/uix/scrollview.py | 1162 | touch.push() | CODE |
| HIGH | kivy/uix/scrollview.py | 1395 | touch.push() | CODE |
| HIGH | kivy/uix/scrollview.py | 1570 | touch.push() | CODE |
| HIGH | kivy/uix/scrollview.py | 2700 | touch.push() | CODE |
| HIGH | kivy/uix/scrollview.py | 2739 | touch.push() | CODE |
| HIGH | kivy/uix/scrollview.py | 2771 | touch.push() | CODE |
| HIGH | kivy/uix/scrollview.py | 2786 | touch.push() | CODE |
| HIGH | kivy/uix/scrollview.py | 2927 | touch.push() | CODE |
| HIGH | kivy/uix/scrollview.py | 3388 | touch.push() | CODE |
| HIGH | kivy/uix/scatter.py | 485 | if not old_line.length(): # div by zero | CODE |
| HIGH | kivy/uix/scatter.py | 494 | scale = new_line.length() / old_line.length() | CODE |
| HIGH | kivy/uix/scatter.py | 517 | me.push() | CODE |
| HIGH | kivy/uix/scatter.py | 533 | touch.push() | CODE |
| HIGH | kivy/uix/scatter.py | 567 | touch.push() | CODE |
| HIGH | kivy/uix/scatter.py | 616 | touch.push() | CODE |
| HIGH⚡ | kivy/uix/relativelayout.py | 295 | me.push() | CODE |
| HIGH⚡ | kivy/uix/relativelayout.py | 304 | touch.push() | CODE |
| HIGH⚡ | kivy/uix/relativelayout.py | 312 | touch.push() | CODE |
| HIGH⚡ | kivy/uix/relativelayout.py | 320 | touch.push() | CODE |
| HIGH⚡ | kivy/uix/rst.py | 1163 | self.push(box.content) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1169 | self.push(box) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1175 | self.push(box) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1188 | self.push(item) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1194 | self.push(label) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1199 | self.push(label.content) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1205 | self.push(label.content) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1252 | self.push(lst) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1258 | self.push(term) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1265 | self.push(definition) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1270 | self.push(fieldlist) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1275 | self.push(name) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1280 | self.push(body) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1285 | self.push(table) | STRING |
| HIGH⚡ | kivy/uix/rst.py | 1293 | self.push(entry) | STRING |
| HIGH | kivy/uix/rst.py | 838 | self.push(section) | STRING |
| HIGH | kivy/uix/rst.py | 951 | self.push(self.root.content) | STRING |
| HIGH | kivy/uix/rst.py | 976 | self.push(foot) | STRING |
| HIGH | kivy/uix/rst.py | 1096 | self.push(label) | STRING |
| HIGH | kivy/uix/rst.py | 1144 | self.push(label) | STRING |
| HIGH | kivy/uix/rst.py | 1149 | self.push(box) | STRING |
| 25 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 136 | except Exception as ex: | CODE |
| LOW | kivy/vector.py | 138 | except Exception: | CODE |
| LOW | kivy/vector.py | 171 | except Exception: | CODE |
| LOW⚡ | kivy/vector.py | 189 | except Exception: | CODE |
| LOW⚡ | kivy/vector.py | 195 | except Exception: | CODE |
| LOW⚡ | kivy/vector.py | 201 | except Exception: | CODE |
| LOW⚡ | kivy/vector.py | 207 | except Exception: | CODE |
| MEDIUM | kivy/vector.py | 133 | def __getslice__(self, i, j): | CODE |
| MEDIUM | kivy/vector.py | 168 | def __mul__(self, val): | CODE |
| MEDIUM | kivy/vector.py | 186 | def __truediv__(self, val): | CODE |
| MEDIUM | kivy/vector.py | 192 | def __div__(self, val): | CODE |
| MEDIUM | kivy/vector.py | 198 | def __rtruediv__(self, val): | CODE |
| MEDIUM | kivy/vector.py | 204 | def __rdiv__(self, val): | CODE |
| LOW | kivy/config.py | 790 | except Exception: | CODE |
| LOW | kivy/config.py | 1019 | except Exception: | CODE |
| LOW | kivy/cache.py | 130 | except Exception: | CODE |
| LOW | kivy/cache.py | 147 | except Exception: | CODE |
| LOW | kivy/cache.py | 164 | except Exception: | CODE |
| LOW | kivy/cache.py | 187 | except Exception: | CODE |
| LOW | kivy/cache.py | 209 | except Exception: | CODE |
| LOW | kivy/__init__.py | 232 | except Exception: | STRING |
| LOW | kivy/__init__.py | 396 | except Exception: | STRING |
| LOW | kivy/__init__.py | 432 | except Exception: | STRING |
| LOW | kivy/__init__.py | 508 | except Exception as e: | STRING |
| LOW | kivy/logger.py | 43 | except Exception: | STRING |
| LOW | kivy/logger.py | 314 | except Exception: | CODE |
| LOW | kivy/logger.py | 364 | except Exception: | CODE |
| LOW | kivy/logger.py | 421 | except Exception: | CODE |
| MEDIUM | kivy/logger.py | 354 | def filter(self, record): | CODE |
| MEDIUM | kivy/logger.py | 414 | def __init__(self, logrecord): | CODE |
| LOW | kivy/loader.py | 279 | except Exception: | CODE |
| LOW | kivy/loader.py | 378 | except Exception as ex: | CODE |
| LOW | kivy/loader.py | 527 | except Exception as e: | CODE |
| LOW | kivy/loader.py | 569 | except Exception: | CODE |
| LOW | kivy/app.py | 874 | except Exception: | CODE |
| MEDIUM | kivy/atlas.py | 444 | print('Error: size must be an integer or <integer>x<integer>') | CODE |
| MEDIUM | kivy/atlas.py | 450 | print('Error while creating atlas!') | CODE |
| LOW | kivy/tools/benchmark.py | 231 | except Exception as e: | CODE |
| LOW | kivy/tools/benchmark.py | 244 | except Exception as e: | CODE |
| MEDIUM | kivy/tools/texturecompress.py | 133 | print('Error: Unable to locate "etc1tool".\n' | CODE |
| MEDIUM | kivy/tools/texturecompress.py | 187 | print('Error: Unable to locate "texturetool".\n' | CODE |
| MEDIUM | kivy/tools/generate-icons.py | 68 | print('Error: No such icon file') | CODE |
| LOW | kivy/tools/kviewer.py | 73 | except Exception as e: | CODE |
| LOW | kivy/tools/packaging/factory.py | 73 | except Exception as e: | CODE |
| LOW | kivy/tools/packaging/pyinstaller_hooks/__init__.py | 346 | except Exception: | CODE |
| LOW | kivy/tools/gles_compat/subset_gles.py | 58 | except Exception as e: | CODE |
| MEDIUM | kivy/tools/pep8checker/pep8kivy.py | 108 | print("Error: {} style guide violation(s) encountered.".format(errors)) | CODE |
| LOW | kivy/core/__init__.py | 335 | except Exception as e: | CODE |
| LOW | kivy/core/__init__.py | 385 | except Exception as e: | CODE |
| LOW | kivy/core/svg/svg_thorvg.py | 226 | except Exception as exc: | CODE |
| LOW | kivy/core/svg/__init__.py | 164 | except Exception as exc: | CODE |
| LOW | kivy/core/svg/__init__.py | 186 | except Exception as exc: | CODE |
| LOW | kivy/core/audio_output/audio_ffpyplayer.py | 52 | except Exception: | CODE |
| LOW | kivy/core/audio_output/audio_ffpyplayer.py | 65 | except Exception: | CODE |
| LOW | kivy/core/audio_output/__init__.py | 176 | except Exception: | CODE |
| LOW | kivy/core/audio_output/__init__.py | 185 | except Exception: | CODE |
| LOW | kivy/core/video/video_ffpyplayer.py | 52 | except Exception: | CODE |
| LOW | kivy/core/video/video_android.py | 69 | except Exception as e: | CODE |
| LOW | kivy/core/video/video_android.py | 146 | except Exception: | STRING |
| LOW | kivy/core/video/video_ffmpeg.py | 20 | except Exception: | CODE |
| 101 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 8 | CODE | |
| LOW | kivy/metrics.py | 106 | CODE | |
| LOW | kivy/clock.py | 467 | CODE | |
| LOW | kivy/clock.py | 467 | CODE | |
| LOW | kivy/clock.py | 467 | CODE | |
| LOW | kivy/factory.py | 176 | CODE | |
| LOW | kivy/app.py | 481 | CODE | |
| LOW | kivy/base.py | 24 | CODE | |
| LOW | kivy/base.py | 136 | CODE | |
| LOW | kivy/tools/benchmark.py | 13 | CODE | |
| LOW | kivy/tools/stub-gl-debug.py | 2 | CODE | |
| LOW | kivy/tools/packaging/factory.py | 1 | CODE | |
| LOW | kivy/tools/packaging/pyinstaller_hooks/hook-kivy.py | 1 | CODE | |
| LOW | kivy/tools/packaging/pyinstaller_hooks/hook-kivy.py | 1 | CODE | |
| LOW | kivy/tools/packaging/pyinstaller_hooks/hook-kivy.py | 1 | CODE | |
| LOW | kivy/tools/image-testsuite/gimp28-testsuite.py | 6 | CODE | |
| LOW | kivy/tools/gles_compat/subset_gles.py | 26 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 49 | CODE | |
| LOW | kivy/core/audio_output/audio_ffpyplayer.py | 59 | CODE | |
| LOW | kivy/core/audio_output/__init__.py | 97 | CODE | |
| LOW | kivy/core/audio_output/__init__.py | 104 | CODE | |
| LOW | kivy/core/audio_output/__init__.py | 335 | CODE | |
| LOW | kivy/core/video/__init__.py | 325 | CODE | |
| LOW | kivy/core/video/video_ffpyplayer.py | 64 | CODE | |
| LOW | kivy/core/camera/camera_opencv.py | 9 | CODE | |
| LOW | kivy/core/image/__init__.py | 273 | CODE | |
| LOW | kivy/core/window/__init__.py | 1234 | CODE | |
| LOW | kivy/core/window/window_egl_rpi.py | 11 | CODE | |
| LOW | kivy/core/window/window_egl_rpi.py | 11 | CODE | |
| LOW | kivy/core/gl/__init__.py | 90 | CODE | |
| LOW | kivy/input/__init__.py | 30 | CODE | |
| LOW | kivy/input/__init__.py | 33 | CODE | |
| LOW | kivy/input/providers/wm_pen.py | 40 | CODE | |
| LOW | kivy/input/providers/__init__.py | 14 | CODE | |
| LOW | kivy/input/providers/__init__.py | 15 | CODE | |
| LOW | kivy/input/providers/__init__.py | 65 | CODE | |
| LOW | kivy/input/providers/__init__.py | 21 | CODE | |
| LOW | kivy/input/providers/__init__.py | 22 | CODE | |
| LOW | kivy/input/providers/__init__.py | 29 | CODE | |
| LOW | kivy/input/providers/__init__.py | 36 | CODE | |
| LOW | kivy/input/providers/__init__.py | 41 | CODE | |
| LOW | kivy/input/providers/__init__.py | 46 | CODE | |
| LOW | kivy/input/providers/__init__.py | 51 | CODE | |
| LOW | kivy/input/providers/__init__.py | 58 | CODE | |
| LOW | kivy/input/providers/androidjoystick.py | 17 | CODE | |
| LOW | kivy/input/providers/wm_common.py | 65 | CODE | |
| LOW | kivy/input/providers/wm_common.py | 65 | CODE | |
| LOW | kivy/uix/effectwidget.py | 127 | CODE | |
| LOW | kivy/uix/widget.py | 246 | CODE | |
| LOW | kivy/uix/widget.py | 246 | CODE | |
| LOW | kivy/uix/colorpicker.py | 44 | CODE | |
| LOW | kivy/uix/actionbar.py | 48 | CODE | |
| LOW | kivy/uix/gridlayout.py | 94 | CODE | |
| LOW | kivy/uix/gridlayout.py | 94 | CODE | |
| LOW | kivy/uix/textinput.py | 3940 | CODE | |
| LOW | kivy/uix/behaviors/__init__.py | 97 | CODE | |
| LOW | kivy/uix/behaviors/__init__.py | 98 | CODE | |
| LOW | kivy/uix/behaviors/__init__.py | 99 | CODE | |
| LOW | kivy/uix/behaviors/__init__.py | 100 | CODE | |
| LOW | kivy/uix/behaviors/__init__.py | 101 | CODE | |
| 132 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 762 | CODE | |
| LOW | setup.py | 805 | CODE | |
| LOW | setup.py | 1045 | CODE | |
| LOW | setup.py | 1133 | CODE | |
| LOW | tools/add-ios-frameworks.py | 14 | CODE | |
| LOW | kivy/gesture.py | 298 | CODE | |
| LOW | kivy/clock.py | 986 | CODE | |
| LOW | kivy/clock.py | 1024 | CODE | |
| LOW | kivy/factory.py | 130 | CODE | |
| LOW | kivy/animation.py | 182 | CODE | |
| LOW | kivy/animation.py | 371 | CODE | |
| LOW | kivy/parser.py | 38 | CODE | |
| LOW | kivy/parser.py | 130 | CODE | |
| LOW | kivy/utils.py | 517 | CODE | |
| LOW | kivy/loader.py | 301 | CODE | |
| LOW | kivy/app.py | 909 | CODE | |
| LOW | kivy/app.py | 938 | CODE | |
| LOW | kivy/atlas.py | 229 | CODE | |
| LOW | kivy/base.py | 249 | CODE | |
| LOW | kivy/multistroke.py | 182 | CODE | |
| LOW | kivy/multistroke.py | 1048 | CODE | |
| LOW | kivy/tools/gallery.py | 38 | CODE | |
| LOW | kivy/tools/gallery.py | 219 | CODE | |
| LOW | kivy/tools/packaging/factory.py | 33 | CODE | |
| LOW | kivy/tools/image-testsuite/gimp28-testsuite.py | 97 | CODE | |
| LOW | kivy/tools/image-testsuite/gimp28-testsuite.py | 265 | CODE | |
| LOW | kivy/tools/gles_compat/subset_gles.py | 35 | CODE | |
| LOW | kivy/tools/gles_compat/subset_gles.py | 65 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 240 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 430 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 684 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 794 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 844 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 904 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 956 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 1016 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 1364 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 2139 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 2214 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 1486 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 1576 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 1609 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 1700 | CODE | |
| LOW | kivy/tools/pep8checker/pep8.py | 1987 | CODE | |
| LOW | kivy/core/__init__.py | 282 | CODE | |
| LOW | kivy/core/video/video_ffpyplayer.py | 244 | CODE | |
| LOW | kivy/core/image/__init__.py | 857 | CODE | |
| LOW | kivy/core/window/__init__.py | 714 | CODE | |
| LOW | kivy/core/window/__init__.py | 1735 | CODE | |
| LOW | kivy/core/window/__init__.py | 1878 | CODE | |
| LOW | kivy/core/window/__init__.py | 2082 | CODE | |
| LOW | kivy/core/window/__init__.py | 2306 | CODE | |
| LOW | kivy/core/window/window_sdl3.py | 234 | CODE | |
| LOW | kivy/core/window/window_sdl3.py | 280 | CODE | |
| LOW | kivy/core/window/window_sdl3.py | 475 | CODE | |
| LOW | kivy/core/window/window_sdl3.py | 732 | CODE | |
| LOW | kivy/core/window/window_sdl3.py | 761 | CODE | |
| LOW | kivy/core/text/__init__.py | 321 | CODE | |
| LOW | kivy/core/text/__init__.py | 530 | CODE | |
| LOW | kivy/core/text/__init__.py | 568 | CODE | |
| 128 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 901 | wheel. | COMMENT |
| LOW | setup.py | 921 | # ``c_options['use_osx_frameworks']`` was explicitly disabled - we | COMMENT |
| LOW | setup.py | 1021 | flags['include_dirs'].append(join(dist, 'include', 'thorvg-1')) | COMMENT |
| LOW | setup.py | 1541 | sources['core/window/window_x11.pyx'] = merge( | COMMENT |
| LOW | packaging/kivy_examples/setup.py | 1 | # | COMMENT |
| LOW | tools/build_linux_dependencies.sh | 161 | # ``THORVG_SHARED=1`` switches it from the default static-archive build | COMMENT |
| LOW | tools/meson-cross-ios-sim.ini | 1 | # Meson cross-file for iOS Simulator (universal arm64 + x86_64, iphonesimulator SDK) | COMMENT |
| LOW | tools/macos_framework_wrapper.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/macos_framework_wrapper.sh | 21 | # | COMMENT |
| LOW | tools/macos_framework_wrapper.sh | 41 | # | COMMENT |
| LOW | tools/macos_framework_wrapper.sh | 101 | cp "$dylib" "$fw_root/$framework_name" | COMMENT |
| LOW | tools/build_thorvg.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/build_thorvg.sh | 21 | # THORVG_SHARED "1" to build a shared library | COMMENT |
| LOW | tools/build_thorvg.sh | 41 | # ``-arch`` flags to Apple Clang in a single | COMMENT |
| LOW | tools/build_thorvg.sh | 61 | # slice. | COMMENT |
| LOW | tools/build_thorvg.sh | 181 | # Meson option notes (keep in sync with .github/workflows/test_thorvg_wrapper.yml): | COMMENT |
| LOW | tools/build_thorvg.sh | 201 | # dependency, no pkg-config / Homebrew detection | COMMENT |
| LOW | tools/build_thorvg.sh | 261 | COMMENT | |
| LOW | tools/build_thorvg.sh | 321 | lipo -info "$_ios_dylib" || true | COMMENT |
| LOW | tools/build_thorvg.sh | 341 | # the sanity check succeeds regardless of host CPU. | COMMENT |
| LOW | tools/build_thorvg.sh | 361 | # covers both ``libthorvg-1.a`` (static path) and | COMMENT |
| LOW | tools/meson-cross-ios-device.ini | 1 | # Meson cross-file for iOS device (arm64, iphoneos SDK) | COMMENT |
| LOW | tools/build_macos_dependencies.sh | 161 | # ThorVG is dynamically linked into the ``kivy.lib.thorvg`` Cython | COMMENT |
| LOW | tools/build_ios_dependencies.sh | 141 | xcodebuild -create-xcframework \ | COMMENT |
| LOW | .ci/ubuntu_ci.sh | 21 | /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background \ | COMMENT |
| LOW | kivy/clock.py | 1101 | # 1. _TriggeredWrapper (The Descriptor): | COMMENT |
| LOW | kivy/base.py | 521 | EventLoop.start() | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 41 | /* OpenGL ES core versions */ | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 101 | #define GL_FUNC_REVERSE_SUBTRACT 0x800B | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 141 | /* GL_GEQUAL */ | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 161 | #define GL_OUT_OF_MEMORY 0x0505 | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 181 | #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 201 | #define GL_SUBPIXEL_BITS 0x0D50 | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 221 | /* GL_TEXTURE_WRAP_T */ | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 241 | #define GL_FLOAT 0x1406 | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 261 | #define GL_MAX_VERTEX_ATTRIBS 0x8869 | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 281 | #define GL_NEVER 0x0200 | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 301 | #define GL_VENDOR 0x1F00 | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 321 | #define GL_TEXTURE_WRAP_S 0x2802 | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 341 | #define GL_TEXTURE2 0x84C2 | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 361 | #define GL_TEXTURE22 0x84D6 | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 381 | #define GL_FLOAT_VEC4 0x8B52 | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 401 | #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 421 | #define GL_HIGH_FLOAT 0x8DF2 | COMMENT |
| LOW | kivy/tools/gles_compat/gl2.h | 441 | #define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 | COMMENT |
| LOW | kivy/tools/pep8checker/pep8.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | kivy/core/__init__.py | 201 | check_compatibility, | COMMENT |
| LOW | kivy/core/video/video_avfoundation_implem.mm | 21 | * path; that's a one-shot read, not the per-frame hot path. | COMMENT |
| LOW | kivy/core/video/video_avfoundation_implem.mm | 41 | #endif | COMMENT |
| LOW | kivy/core/video/video_avfoundation_implem.mm | 121 | // Shadow the standard GL names with our ANGLE-resolved pointers so the | COMMENT |
| LOW | kivy/core/video/video_avfoundation_implem.h | 21 | #ifndef KIVY_VIDEO_AVFOUNDATION_IMPLEM_H | COMMENT |
| LOW | kivy/core/window/window_x11_core.c | 1 | #include <stdlib.h> | COMMENT |
| LOW | kivy/input/motionevent.py | 201 | if self.__class__ == MotionEvent: | COMMENT |
| LOW | kivy/input/motionevent.py | 321 | COMMENT | |
| LOW | kivy/input/motionevent.py | 341 | self.triple_tap_time = 0 | COMMENT |
| LOW | kivy/input/providers/hidinput.py | 261 | 0x6b: ('end', ), | COMMENT |
| LOW | kivy/input/providers/hidinput.py | 281 | # e0-47 Home | COMMENT |
| LOW | kivy/uix/scrollview.py | 281 | # ┌──────────────────────────────────┐ | COMMENT |
| LOW | kivy/uix/scrollview.py | 301 | # - UNKNOWN: Initial state, accumulating movement to detect intent | COMMENT |
| LOW | kivy/uix/scrollview.py | 321 | # State Transition Diagram: | COMMENT |
| 78 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | setup.py | 123 | # Create a temporary file which contains the code | COMMENT |
| MEDIUM | tools/build_linux_dependencies.sh | 32 | # Create the dependencies folder | COMMENT |
| MEDIUM | tools/build_macos_dependencies.sh | 38 | # Create the dependencies folder | COMMENT |
| MEDIUM | tools/build_ios_dependencies.sh | 35 | # Create the dependencies folder | COMMENT |
| MEDIUM | .ci/ubuntu_ci.sh | 175 | # Create a copy with the armv6l suffix | COMMENT |
| MEDIUM | kivy/gesture.py | 10 | # Create a gesture | STRING |
| MEDIUM | kivy/_version.py | 1 | # This file is imported from __init__.py and exec'd from setup.py | COMMENT |
| MEDIUM | kivy/clock.py | 1168 | # Create a bound version for this instance | COMMENT |
| MEDIUM | kivy/tools/image-testsuite/gimp28-testsuite.py | 174 | # Create an image from the given pattern, with the specified layertype_in*, | COMMENT |
| MEDIUM | kivy/tools/image-testsuite/gimp28-testsuite.py | 217 | # Create the gimp image, and the layer we will draw on | COMMENT |
| MEDIUM | kivy/core/__init__.py | 208 | # This function implements the common pattern for loading resources with | COMMENT |
| MEDIUM | kivy/core/camera/camera_opencv.py | 136 | # Create the texture | COMMENT |
| MEDIUM | kivy/core/camera/camera_picamera.py | 62 | # Create the texture | COMMENT |
| MEDIUM | kivy/core/window/__init__.py | 1144 | # Create a trigger for updating the keyboard height | COMMENT |
| MEDIUM | kivy/core/text/__init__.py | 61 | # Create a font context containing system fonts + one custom TTF | STRING |
| MEDIUM | kivy/core/text/markup.py | 942 | # Create a custom __init__ that properly calls the base class | COMMENT |
| MEDIUM | kivy/input/providers/tuio.py | 61 | # Create a class to handle the new TUIO type/path | STRING |
| MEDIUM | kivy/uix/screenmanager.py | 25 | # Create the manager | STRING |
| MEDIUM | kivy/uix/screenmanager.py | 90 | # Create the screen manager | STRING |
| MEDIUM | kivy/uix/widget.py | 359 | # Create the default canvas if it does not exist. | COMMENT |
| MEDIUM | kivy/uix/textinput.py | 2676 | # Create a label from a text, using line options | COMMENT |
| MEDIUM | kivy/uix/scrollview.py | 3002 | # This method handles the end of scroll gestures and performs cleanup. | COMMENT |
| MEDIUM | kivy/uix/scrollview.py | 3332 | # This method is called when the scroll_timeout expires without the | COMMENT |
| MEDIUM | kivy/uix/codeinput.py | 126 | # Create a label from a text, using line options | COMMENT |
| MEDIUM⚡ | kivy/uix/gesturesurface.py | 425 | # Create the bounding box Rectangle for the gesture | COMMENT |
| MEDIUM | kivy/uix/behaviors/drag.py | 24 | # Define the properties for the DragLabel | STRING |
| MEDIUM | kivy/uix/behaviors/drag.py | 30 | # Define the root widget | STRING |
| MEDIUM | kivy/tests/test_text_provider.py | 338 | # Create a mock provider class | COMMENT |
| MEDIUM⚡ | kivy/tests/test_image_provider.py | 502 | # Create a zip file containing the image | COMMENT |
| MEDIUM | kivy/tests/test_system_tray.py | 195 | # Create a temporary icon file for testing | COMMENT |
| MEDIUM | kivy/tests/test_system_tray.py | 355 | # Create main menu items | COMMENT |
| MEDIUM | examples/demo/multistroke/historymanager.py | 124 | # Create a GestureVisualizer that draws the gesture on canvas | COMMENT |
| MEDIUM | examples/async/asyncio_advanced.py | 62 | """This method is also run by the asyncio loop and periodically prints | STRING |
| MEDIUM | examples/system_tray/system_tray_showcase.py | 150 | # Create the system tray icon if it doesn't exist | COMMENT |
| MEDIUM | examples/miscellaneous/shapedwindow.py | 15 | # Define the KV layout | COMMENT |
| MEDIUM | doc/sources/conf.py | 6 | # This file is execfile()d with the current directory set to its containing | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | kivy/uix/actionbar.py | 0 | text color, in the format (r, g, b, a). :attr:`color` is a :class:`~kivy.properties.colorproperty` and defaults to [1, 1 | STRING |
| HIGH | kivy/uix/tabbedpanel.py | 0 | text color, in the format (r, g, b, a). :attr:`color` is a :class:`~kivy.properties.colorproperty` and defaults to [1, 1 | STRING |
| HIGH | kivy/uix/label.py | 0 | text color, in the format (r, g, b, a). :attr:`color` is a :class:`~kivy.properties.colorproperty` and defaults to [1, 1 | STRING |
| HIGH | kivy/uix/boxlayout.py | 0 | padding between the layout box and it's children: [padding_left, padding_top, padding_right, padding_bottom]. padding al | STRING |
| HIGH | kivy/uix/gridlayout.py | 0 | padding between the layout box and it's children: [padding_left, padding_top, padding_right, padding_bottom]. padding al | STRING |
| HIGH | kivy/uix/stacklayout.py | 0 | padding between the layout box and it's children: [padding_left, padding_top, padding_right, padding_bottom]. padding al | STRING |
| HIGH | kivy/tests/test_audio_provider.py | 0 | available_providers() should return at least one provider. | STRING |
| HIGH | kivy/tests/test_text_provider.py | 0 | available_providers() should return at least one provider. | STRING |
| HIGH | kivy/tests/test_image_provider.py | 0 | available_providers() should return at least one provider. | STRING |
| HIGH | kivy/tests/test_audio_provider.py | 0 | available_providers() should return list of strings. | STRING |
| HIGH | kivy/tests/test_text_provider.py | 0 | available_providers() should return list of strings. | STRING |
| HIGH | kivy/tests/test_image_provider.py | 0 | available_providers() should return list of strings. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/build_linux_dependencies.sh | 64 | # Check if "python3" exists, otherwise use "python" as fallback (which is the case for manylinux) | COMMENT |
| LOW | kivy/support.py | 88 | # Check if android should be paused or not. | COMMENT |
| LOW | kivy/utils.py | 612 | # Check if file exist | COMMENT |
| LOW | kivy/app.py | 1066 | # Check if the window is already created | COMMENT |
| LOW⚡ | kivy/tools/pep8checker/pep8.py | 854 | Okay: x = x + 1 # Increment x | CODE |
| LOW⚡ | kivy/tools/pep8checker/pep8.py | 855 | Okay: x = x + 1 # Increment x | CODE |
| LOW⚡ | kivy/tools/pep8checker/pep8.py | 857 | E261: x = x + 1 # Increment x | CODE |
| LOW⚡ | kivy/tools/pep8checker/pep8.py | 858 | E262: x = x + 1 #Increment x | CODE |
| LOW⚡ | kivy/tools/pep8checker/pep8.py | 859 | E262: x = x + 1 # Increment x | CODE |
| LOW | kivy/tools/pep8checker/pep8.py | 754 | # Check if the operator is being used as a binary operator | STRING |
| LOW | kivy/core/__init__.py | 37 | # Check if provider strict mode is enabled. | COMMENT |
| LOW | kivy/core/__init__.py | 250 | # Check if provider is compatible | COMMENT |
| LOW | kivy/uix/widget.py | 659 | # Check if the widget is already a child of another widget. | COMMENT |
| LOW⚡ | kivy/uix/scrollview.py | 2415 | # Check if we already have an active nested ScrollView touch | COMMENT |
| LOW | kivy/uix/scrollview.py | 1402 | # Check if inner actually set up scroll state | COMMENT |
| LOW | kivy/uix/scrollview.py | 1592 | # Check if this ScrollView should delegate to its parent in hierarchy. | COMMENT |
| LOW | kivy/uix/scrollview.py | 1616 | # Check if delegation to outer is enabled | COMMENT |
| LOW | kivy/uix/scrollview.py | 1625 | # Check if we're the current handler (hierarchy-based routing) | COMMENT |
| LOW | kivy/uix/scrollview.py | 1689 | # Check if this ScrollView is at a scroll boundary on the given axis. | COMMENT |
| LOW | kivy/uix/scrollview.py | 1713 | # Check if scroll gesture is trying to move beyond the current boundary. | COMMENT |
| LOW | kivy/uix/scrollview.py | 1790 | # Check if this ancestor can handle the axis we need | COMMENT |
| LOW | kivy/uix/scrollview.py | 1823 | # Check if touch is within scrollable bounds and set in_bar flags. | COMMENT |
| LOW | kivy/uix/scrollview.py | 1844 | # Check if touch is in horizontal or vertical scroll bars | COMMENT |
| LOW | kivy/uix/scrollview.py | 1989 | # Check if touch movement is orthogonal to scroll direction. | COMMENT |
| LOW | kivy/uix/scrollview.py | 2028 | # Check if touch should be delegated in mixed nested configurations. | COMMENT |
| LOW | kivy/uix/scrollview.py | 2075 | # Check if scroll should lock at boundary for parallel scrolling. | COMMENT |
| LOW | kivy/uix/scrollview.py | 2135 | # Check if we've moved away from the boundary into content | COMMENT |
| LOW | kivy/uix/scrollview.py | 2156 | # Check if we've moved away from the boundary into content | COMMENT |
| LOW | kivy/uix/scrollview.py | 2428 | # Check if touch is on OUR scrollbar - | COMMENT |
| LOW | kivy/uix/scrollview.py | 2503 | # Check if child is at boundary in parallel directions | COMMENT |
| LOW | kivy/uix/scrollview.py | 2544 | # Check if this touch was claimed by a child widget (e.g., button) | COMMENT |
| LOW | kivy/uix/scrollview.py | 2572 | # Check if stored touch is stale (completed but not cleaned up) | COMMENT |
| LOW | kivy/uix/scrollview.py | 2606 | # Check if touch is in scroll bars and set in_bar flags | COMMENT |
| LOW | kivy/uix/scrollview.py | 2683 | # Check if child widget claimed the touch - propagate to children | COMMENT |
| LOW | kivy/uix/scrollview.py | 2717 | # Check if we should skip to a non-adjacent | COMMENT |
| LOW | kivy/uix/scrollview.py | 2863 | # Check if inner should delegate to outer | COMMENT |
| LOW | kivy/uix/scrollview.py | 2913 | # Check if current handler has scroll state | COMMENT |
| LOW | kivy/uix/scrollview.py | 3242 | # Check if scroll position has stabilized. Used to dispatch the | COMMENT |
| LOW | kivy/uix/scrollview.py | 3251 | # Check if position changed | COMMENT |
| LOW | kivy/uix/scrollview.py | 3402 | # Set flag to prevent re-initialization, this touch belongs to child | COMMENT |
| LOW | kivy/uix/video.py | 294 | # Check if filename is not url | COMMENT |
| LOW | kivy/uix/behaviors/button.py | 318 | # Check if this is the first touch before adding | COMMENT |
| LOW | kivy/uix/behaviors/button.py | 399 | # Check if this touch was cancelled | COMMENT |
| LOW | kivy/tests/test_uix_textinput.py | 37 | # Check if text is modified while recreating from lines and lines_flags | COMMENT |
| LOW | kivy/tests/test_uix_textinput.py | 40 | # Check if wordbreaking is correctly done | COMMENT |
| LOW | kivy/tests/test_system_tray.py | 540 | # Check if tray icon creation was attempted | COMMENT |
| LOW | kivy/tests/test_properties.py | 686 | # Set property to same value as before, should only call setter | STRING |
| LOW | kivy/tests/test_properties.py | 840 | # Set property to same value as before, setter and getter and callback | STRING |
| LOW | kivy/effects/dampedscroll.py | 132 | # Check if we're in overscroll and should apply spring forces | COMMENT |
| LOW | kivy/effects/dampedscroll.py | 183 | # Check if we've reached the target and should stop | COMMENT |
| LOW | examples/demo/multistroke/historymanager.py | 135 | # Add the visualizer to the list of gestures in 'history' screen | COMMENT |
| LOW | examples/system_tray/system_tray_showcase.py | 333 | # Check if the file exists | COMMENT |
| LOW | examples/system_tray/system_tray_showcase.py | 338 | # Check if it's a valid image file | COMMENT |
| LOW | examples/widgets/recycleview/key_viewclass.py | 183 | # Check if index is the sentinel value (-1) indicating it | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | kivy/clock.py | 507 | # on mobile platforms, just use time.sleep | COMMENT |
| LOW | kivy/multistroke.py | 544 | # is nothing to do; perhaps should just return None? | COMMENT |
| LOW | kivy/core/text/__init__.py | 851 | # words: every even index is spaces, just add ltr n spaces | COMMENT |
| LOW | kivy/core/text/markup.py | 707 | # if that fits, just return the flattened line | COMMENT |
| LOW | kivy/core/spelling/__init__.py | 72 | # If no language was specified, we just use the first one | COMMENT |
| LOW | kivy/uix/screenmanager.py | 906 | # show another one, just set the 'current' property. | COMMENT |
| LOW | kivy/uix/screenmanager.py | 928 | # show another one, just set the 'current' property. | COMMENT |
| LOW | kivy/uix/boxlayout.py | 235 | # there's no space, so just set to min size or zero | COMMENT |
| LOW | kivy/uix/layout.py | 159 | # too small, just set to min | COMMENT |
| LOW⚡ | kivy/tests/test_core_svg.py | 207 | # Should not raise; just return an empty list. | COMMENT |
| LOW | kivy/lang/builder.py | 201 | # just add the attr to the list | COMMENT |
| LOW | examples/widgets/recycleview/messenger.py | 165 | # just set the size | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | kivy/config.py | 999 | # don't forget to increment KIVY_CONFIG_VERSION ! | COMMENT |
| LOW | kivy/config.py | 999 | # don't forget to increment KIVY_CONFIG_VERSION ! | COMMENT |
| MEDIUM | kivy/app.py | 295 | Here is a simple example of how on_pause() should be used:: | STRING |
| LOW | kivy/uix/textinput.py | 2241 | # with the new text don't forget to update graphics again | COMMENT |
| LOW | kivy/uix/textinput.py | 2241 | # with the new text don't forget to update graphics again | COMMENT |
| MEDIUM | kivy/lang/__init__.py | 121 | Here is a simple example of a kv file that contains a root widget:: | STRING |
| MEDIUM | kivy/lang/__init__.py | 270 | Here's a simple example that demonstrates this behavior:: | STRING |
| LOW | examples/android/takepicture/main.py | 12 | If you want to compile it, don't forget to add the CAMERA permission:: | STRING |
| LOW | examples/android/compass/main.py | 67 | # when you are going on pause, don't forget to stop the sensor | COMMENT |
| LOW | examples/android/compass/main.py | 67 | # when you are going on pause, don't forget to stop the sensor | COMMENT |
| MEDIUM | examples/widgets/keyboardlistener.py | 15 | # If it exists, this widget is a VKeyboard object which you can use | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | kivy/utils.py | 46 | Normalize a path identifier for safe filesystem use. Replaces invalid filesystem characters with underscores to cre | STRING |
| HIGH | kivy/core/text/__init__.py | 500 | Get a text provider class by name. :Parameters: `provider`: str The provider name ( | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | kivy/gesture.py | 79 | CODE | |
| LOW | kivy/config.py | 587 | CODE | |
| LOW | kivy/core/window/window_sdl3.py | 438 | CODE | |
| LOW | kivy/core/text/__init__.py | 321 | CODE | |
| LOW | kivy/network/urlrequest.py | 186 | CODE | |
| LOW | kivy/tests/async_common.py | 286 | CODE | |
| LOW | kivy/tests/async_common.py | 382 | CODE | |
| LOW | kivy/storage/redisstore.py | 61 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | kivy/tests/test_clock_triggered.py | 44 | def my_method(self, *args, **kwargs): | CODE |
| LOW | kivy/tests/test_clock_triggered.py | 73 | def my_method(self, *args, **kwargs): | CODE |
| LOW | kivy/tests/test_clock_triggered.py | 95 | def my_method(self, *args, **kwargs): | CODE |
| LOW | kivy/tests/test_clock_triggered.py | 111 | def my_method(self): | CODE |
| LOW | kivy/tests/test_clock_triggered.py | 205 | def my_method(self, val): | CODE |
| LOW | kivy/tests/test_weakmethod.py | 9 | def do_something(self): | CODE |
| LOW | kivy/tests/test_weakmethod.py | 31 | def do_something(): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | examples/3Drendering/objloader.py | 136 | CODE | |
| MEDIUM | examples/3Drendering/objloader.py | 147 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/widgets/label_text_size.py | 17 | _long_text = ("""Lorem ipsum dolor sit amet, consectetur adipiscing elit. """ | CODE |
| LOW | examples/widgets/label_text_size.py | 17 | _long_text = ("""Lorem ipsum dolor sit amet, consectetur adipiscing elit. """ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | kivy/uix/textinput.py | 1594 | # TODO: implement 'scrollleft' and 'scrollright' | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | kivy/uix/scrollview.py | 1252 | # NOTE: This method is for FUTURE arbitrary nesting support (Phase 3+). | COMMENT |