A Python native, OS native GUI toolkit.
This report presents the forensic synthetic code analysis of beeware/toga, a Python project with 5,388 GitHub stars. SynthScan v2.0 examined 160,396 lines of code across 1451 source files, recording 2236 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 20.7 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 2236 distinct pattern matches across 20 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 |
|---|---|---|---|---|
| LOW | dummy/src/toga_dummy/utils.py | 274 | def assert_attribute_retrieved(_widget, _attr): | CODE |
| LOW | dummy/src/toga_dummy/utils.py | 287 | def assert_attribute_not_retrieved(_widget, _attr): | CODE |
| LOW | dummy/src/toga_dummy/utils.py | 315 | def assert_action_not_performed(_widget, _action): | CODE |
| LOW | dummy/src/toga_dummy/utils.py | 342 | def assert_action_performed_with(_widget, _action, **test_data): | CODE |
| LOW | dummy/src/toga_dummy/fonts.py | 11 | def load_predefined_system_font(self): | CODE |
| LOW | dummy/src/toga_dummy/fonts.py | 23 | def load_user_registered_font(self): | CODE |
| LOW | dummy/src/toga_dummy/fonts.py | 27 | def load_arbitrary_system_font(self): | CODE |
| LOW | dummy/src/toga_dummy/hardware/location.py | 31 | def has_background_permission(self): | CODE |
| LOW | dummy/src/toga_dummy/hardware/location.py | 40 | def request_background_permission(self, future): | CODE |
| LOW | dummy/src/toga_dummy/widgets/detailedlist.py | 82 | def set_primary_action_enabled(self, enabled): | CODE |
| LOW | dummy/src/toga_dummy/widgets/detailedlist.py | 85 | def set_secondary_action_enabled(self, enabled): | CODE |
| LOW | dummy/src/toga_dummy/widgets/scrollcontainer.py | 56 | def get_max_horizontal_position(self): | CODE |
| LOW | dummy/src/toga_dummy/widgets/scrollcontainer.py | 62 | def get_max_vertical_position(self): | CODE |
| LOW⚡ | dummy/src/toga_dummy/widgets/webview.py | 58 | def simulate_javascript_result(self, value): | CODE |
| LOW⚡ | dummy/src/toga_dummy/widgets/webview.py | 61 | def simulate_cookie_retrieval(self, cookies): | CODE |
| LOW⚡ | dummy/src/toga_dummy/widgets/webview.py | 68 | def simulate_navigation_starting(self, url): | CODE |
| LOW | core/tests/test_images.py | 54 | def test_create_from_bad_file(app): | CODE |
| LOW | core/tests/test_images.py | 93 | def test_create_with_nonexistent_file(app, args, kwargs): | CODE |
| LOW | core/tests/test_images.py | 127 | def test_create_from_bad_bytes(): | CODE |
| LOW | core/tests/test_images.py | 165 | def test_empty_image_explicit(): | CODE |
| LOW | core/tests/test_images.py | 174 | def test_invalid_input_format(): | CODE |
| LOW | core/tests/test_images.py | 193 | def test_create_from_toga_image(app): | CODE |
| LOW | core/tests/test_images.py | 203 | def test_deprecated_arguments(kwargs): | CODE |
| LOW⚡ | core/tests/test_images.py | 294 | def test_create_from_custom_class(app, ImageClass): | CODE |
| LOW⚡ | core/tests/test_images.py | 303 | def test_as_format_custom_class(app, ImageClass): | CODE |
| LOW⚡ | core/tests/test_images.py | 311 | def test_disabled_image_plugin(app): | CODE |
| LOW⚡ | core/tests/test_images.py | 318 | def test_as_format_invalid_input(app, arg): | CODE |
| LOW | core/tests/test_handlers.py | 32 | def test_noop_handler_with_cleanup(): | CODE |
| LOW | core/tests/test_handlers.py | 48 | def test_noop_handler_with_cleanup_error(capsys): | CODE |
| LOW | core/tests/test_handlers.py | 95 | def test_function_handler_error(capsys): | CODE |
| LOW | core/tests/test_handlers.py | 125 | def test_function_handler_with_cleanup(): | CODE |
| LOW | core/tests/test_handlers.py | 154 | def test_function_handler_with_cleanup_error(capsys): | CODE |
| LOW | core/tests/test_handlers.py | 229 | async def test_generator_handler_error(capsys): | CODE |
| LOW | core/tests/test_handlers.py | 266 | async def test_generator_handler_with_cleanup(): | CODE |
| LOW | core/tests/test_handlers.py | 305 | async def test_generator_handler_with_cleanup_error(capsys): | CODE |
| LOW | core/tests/test_handlers.py | 381 | async def test_coroutine_handler_error(capsys): | CODE |
| LOW | core/tests/test_handlers.py | 413 | async def test_coroutine_handler_with_cleanup(): | CODE |
| LOW | core/tests/test_handlers.py | 445 | async def test_coroutine_handler_with_cleanup_error(capsys): | CODE |
| LOW | core/tests/test_handlers.py | 496 | async def test_async_result_non_comparable(): | CODE |
| LOW | core/tests/test_handlers.py | 555 | async def test_async_result_cancelled(): | CODE |
| LOW | core/tests/test_handlers.py | 580 | async def test_async_exception_cancelled(): | CODE |
| LOW | core/tests/test_handlers.py | 594 | def test_simple_handler_function(): | CODE |
| LOW | core/tests/test_handlers.py | 617 | async def test_simple_handler_coroutine(): | CODE |
| LOW | core/tests/test_handlers.py | 665 | async def test_async_result_cancelled_sync(): | CODE |
| LOW | core/tests/test_handlers.py | 688 | async def test_async_exception_sync(): | CODE |
| LOW | core/tests/test_handlers.py | 710 | async def test_async_exception_cancelled_sync(): | CODE |
| LOW | core/tests/test_handlers.py | 733 | def test_weakref_function_call(): | CODE |
| LOW | core/tests/test_handlers.py | 826 | def test_weakref_callable_object(): | CODE |
| LOW | core/tests/test_handlers.py | 840 | def test_weakref_none_result_when_function_gone(): | CODE |
| LOW | core/tests/test_fonts.py | 191 | def test_register_shadowed_font(app, family): | CODE |
| LOW | core/tests/test_fonts.py | 216 | def test_register_font_variant(app, path, registered): | CODE |
| LOW | core/tests/test_paths.py | 61 | def test_simple_as_file_in_module(): | CODE |
| LOW⚡ | core/tests/test_paths.py | 88 | def test_simple_as_deep_module(): | CODE |
| LOW⚡ | core/tests/test_paths.py | 97 | def test_subclassed_as_file_in_module(): | CODE |
| LOW⚡ | core/tests/test_paths.py | 106 | def test_subclassed_as_module(): | CODE |
| LOW⚡ | core/tests/test_paths.py | 115 | def test_subclassed_as_deep_file(): | CODE |
| LOW⚡ | core/tests/test_paths.py | 124 | def test_subclassed_as_deep_module(): | CODE |
| LOW | core/tests/test_icons.py | 116 | def test_create_fallback_missing(monkeypatch, app, capsys): | CODE |
| LOW | core/tests/test_icons.py | 137 | def test_create_fallback_unloadable(monkeypatch, app, capsys): | CODE |
| LOW | core/tests/test_icons.py | 159 | def test_create_fallback_variants(monkeypatch, app, capsys): | CODE |
| 842 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dummy/src/toga_dummy/factory.py | 3 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 4 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 4 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 5 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 6 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 7 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 8 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 9 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 10 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 11 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 12 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 12 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 12 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 13 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 14 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 15 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 16 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 17 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 18 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 19 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 20 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 21 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 22 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 23 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 24 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 25 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 26 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 27 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 28 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 29 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 30 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 31 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 32 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 33 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 34 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 35 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 36 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 37 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 38 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 39 | CODE | |
| LOW | dummy/src/toga_dummy/factory.py | 39 | CODE | |
| LOW | dummy/src/toga_dummy/images.py | 1 | CODE | |
| LOW | dummy/src/toga_dummy/hardware/location.py | 1 | CODE | |
| LOW | dummy/src/toga_dummy/plugins/image_formats.py | 1 | CODE | |
| LOW | core/tests/sources/test_source.py | 116 | CODE | |
| LOW | core/tests/sources/test_source.py | 134 | CODE | |
| LOW | core/tests/widgets/canvas/test_deprecations.py | 65 | CODE | |
| LOW | core/src/toga/command.py | 1 | CODE | |
| LOW | core/src/toga/window.py | 1 | CODE | |
| LOW | core/src/toga/icons.py | 1 | CODE | |
| LOW | core/src/toga/validators.py | 1 | CODE | |
| LOW | core/src/toga/documents.py | 1 | CODE | |
| LOW | core/src/toga/handlers.py | 1 | CODE | |
| LOW | core/src/toga/keys.py | 1 | CODE | |
| LOW | core/src/toga/types.py | 1 | CODE | |
| LOW | core/src/toga/platform.py | 1 | CODE | |
| LOW | core/src/toga/images.py | 1 | CODE | |
| LOW | core/src/toga/app.py | 1 | CODE | |
| LOW | core/src/toga/statusicons.py | 1 | CODE | |
| LOW | core/src/toga/dialogs.py | 1 | CODE | |
| 655 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | web/src/toga_web/dialogs.py | 12 | toga.App.app._impl.native.appendChild(self.native) | CODE |
| CRITICAL | textual/src/toga_textual/dialogs.py | 63 | toga.App.app._impl.native.push_screen(self.native, self.on_close) | CODE |
| CRITICAL⚡ | iOS/tests_backend/hardware/location.py | 59 | self.app.location._impl.delegate.locationManagerDidChangeAuthorization(None) | CODE |
| CRITICAL⚡ | iOS/tests_backend/hardware/location.py | 68 | self.app.location._impl.delegate.locationManagerDidChangeAuthorization(None) | CODE |
| CRITICAL⚡ | iOS/tests_backend/hardware/location.py | 138 | self.app.location._impl.native.requestLocation.assert_not_called() | CODE |
| CRITICAL⚡ | iOS/tests_backend/hardware/location.py | 141 | self.app.location._impl.native.requestLocation.assert_called_once_with() | CODE |
| CRITICAL⚡ | iOS/tests_backend/hardware/location.py | 142 | self.app.location._impl.native.requestLocation.reset_mock() | CODE |
| CRITICAL⚡ | iOS/tests_backend/hardware/location.py | 145 | self.app.location._impl.delegate.locationManager( | CODE |
| CRITICAL⚡ | iOS/tests_backend/hardware/location.py | 159 | self.app.location._impl.delegate.locationManager( | CODE |
| CRITICAL⚡ | iOS/tests_backend/hardware/location.py | 167 | self.app.location._impl.native.requestLocation.assert_called_once_with() | CODE |
| CRITICAL⚡ | iOS/tests_backend/hardware/location.py | 168 | self.app.location._impl.native.requestLocation.reset_mock() | CODE |
| CRITICAL⚡ | iOS/tests_backend/hardware/location.py | 171 | self.app.location._impl.delegate.locationManager( | CODE |
| CRITICAL | iOS/tests_backend/widgets/webview.py | 20 | current = self.widget.window._impl.native.firstResponder() | CODE |
| CRITICAL | iOS/tests_backend/widgets/base.py | 74 | self.widget.window.content._impl.native.layer.displayIfNeeded() | CODE |
| CRITICAL | cocoa/tests_backend/app.py | 314 | self.app._impl.native.delegate.application( | CODE |
| CRITICAL⚡ | cocoa/tests_backend/hardware/location.py | 59 | self.app.location._impl.delegate.locationManagerDidChangeAuthorization(None) | CODE |
| CRITICAL⚡ | cocoa/tests_backend/hardware/location.py | 68 | self.app.location._impl.delegate.locationManagerDidChangeAuthorization(None) | CODE |
| CRITICAL⚡ | cocoa/tests_backend/hardware/location.py | 138 | self.app.location._impl.native.requestLocation.assert_not_called() | CODE |
| CRITICAL⚡ | cocoa/tests_backend/hardware/location.py | 141 | self.app.location._impl.native.requestLocation.assert_called_once_with() | CODE |
| CRITICAL⚡ | cocoa/tests_backend/hardware/location.py | 142 | self.app.location._impl.native.requestLocation.reset_mock() | CODE |
| CRITICAL⚡ | cocoa/tests_backend/hardware/location.py | 145 | self.app.location._impl.delegate.locationManager( | CODE |
| CRITICAL⚡ | cocoa/tests_backend/hardware/location.py | 159 | self.app.location._impl.delegate.locationManager( | CODE |
| CRITICAL⚡ | cocoa/tests_backend/hardware/location.py | 167 | self.app.location._impl.native.requestLocation.assert_called_once_with() | CODE |
| CRITICAL⚡ | cocoa/tests_backend/hardware/location.py | 168 | self.app.location._impl.native.requestLocation.reset_mock() | CODE |
| CRITICAL⚡ | cocoa/tests_backend/hardware/location.py | 171 | self.app.location._impl.delegate.locationManager( | CODE |
| CRITICAL | cocoa/tests_backend/widgets/base.py | 49 | self.widget.window.content._impl.native.displayIfNeeded() | CODE |
| CRITICAL | cocoa/src/toga_cocoa/window.py | 377 | and not self.interface.app._impl.native.isHidden() | CODE |
| CRITICAL | cocoa/src/toga_cocoa/hardware/camera.py | 180 | self.camera.interface.app.loop.create_task( | CODE |
| CRITICAL | cocoa/src/toga_cocoa/widgets/numberinput.py | 203 | self.interface.window._impl.native.makeFirstResponder(self.native_input) | CODE |
| CRITICAL | cocoa/src/toga_cocoa/widgets/base.py | 90 | self.interface.window._impl.native.makeFirstResponder(self.native) | CODE |
| CRITICAL | android/tests_backend/hardware/location.py | 96 | self.app.location._impl.listener.onLocationChanged(locations) | CODE |
| CRITICAL | android/tests_backend/widgets/base.py | 187 | return self.widget.app._impl.native.getCurrentFocus() == self.native | CODE |
| CRITICAL | android/src/toga_android/hardware/location.py | 61 | self.context = self.interface.app._impl.native.getApplicationContext() | CODE |
| CRITICAL | android/src/toga_android/hardware/camera.py | 45 | self.context = self.interface.app._impl.native.getApplicationContext() | CODE |
| CRITICAL | android/src/toga_android/hardware/camera.py | 77 | manager = self.interface.app._impl.native.getSystemService( | CODE |
| CRITICAL | winforms/tests_backend/widgets/tree.py | 121 | window_hwnd = HWND(int(self.widget.window._impl.native.Handle.ToString())) | CODE |
| CRITICAL | winforms/tests_backend/widgets/detailedlist.py | 213 | window_hwnd = HWND(int(self.widget.window._impl.native.Handle.ToString())) | CODE |
| CRITICAL | gtk/tests_backend/widgets/base.py | 195 | event.window = self.widget.window._impl.native.get_window() | CODE |
| CRITICAL | gtk/src/toga_gtk/widgets/imageview.py | 56 | scaled = self.interface.image._impl.native.scale_simple( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | demo/toga_demo/app.py | 10 | # Create the main window | COMMENT |
| MEDIUM | core/tests/utils.py | 4 | # Create the simplest possible widget with a concrete implementation that will | COMMENT |
| MEDIUM | core/tests/utils.py | 19 | # Create the simplest possible widget with a concrete implementation that cannot | COMMENT |
| MEDIUM | core/tests/app/test_document_app.py | 85 | # Create an instance of an ExampleDocumentApp that has 1 file open. | COMMENT |
| MEDIUM | core/tests/app/test_document_app.py | 197 | # Create the app instance | COMMENT |
| MEDIUM | core/tests/app/test_document_app.py | 423 | # Create a second document window | COMMENT |
| MEDIUM | core/tests/app/test_document_app.py | 463 | # Create a second document window | COMMENT |
| MEDIUM | core/tests/app/test_simpleapp.py | 48 | # Create a non-closable main window | COMMENT |
| MEDIUM⚡ | core/tests/app/test_app.py | 483 | # Creating an app with an invalid main window raises an exception. | COMMENT |
| MEDIUM | core/tests/app/test_app.py | 967 | # Create a second, non-main window | COMMENT |
| MEDIUM | core/tests/app/test_app.py | 1056 | # Create an async task that we can use to start the event loop for a short time. | COMMENT |
| MEDIUM | core/tests/window/test_window.py | 990 | # Creating a new widget with same widget ID should not raise KeyError | COMMENT |
| MEDIUM | core/tests/window/test_filtered_widget_registry.py | 8 | # Create a box subclass with a reproducible repr | COMMENT |
| MEDIUM | core/tests/window/test_filtered_widget_registry.py | 148 | # Create a widget with the magic ID. The widget still isn't in the registry, because | COMMENT |
| MEDIUM | core/tests/window/test_filtered_widget_registry.py | 164 | # Create a second widget with the same ID. | COMMENT |
| MEDIUM | core/tests/statusicons/test_statusiconset.py | 36 | # Create the standard commands on the StatusIconSet | COMMENT |
| MEDIUM | core/tests/command/test_commandset.py | 39 | # Create a standalone command set and add some commands | COMMENT |
| MEDIUM | core/tests/command/test_commandset.py | 83 | # Create a command set that is linked to the app and add some commands | COMMENT |
| MEDIUM | core/tests/command/test_commandset.py | 149 | # Define a command with an ID | COMMENT |
| MEDIUM | core/tests/command/test_commandset.py | 169 | # Define a command with an ID | COMMENT |
| MEDIUM | core/tests/command/test_commandset.py | 295 | # Define a third command that isn't added. | COMMENT |
| MEDIUM | core/tests/command/test_commandset.py | 341 | # Define a third command that isn't added. | COMMENT |
| MEDIUM | core/tests/widgets/test_selection.py | 244 | # Create a selection with an extra item and an explicit accessor | COMMENT |
| MEDIUM | core/tests/widgets/test_mapview.py | 76 | # Create a LatLng object. | COMMENT |
| MEDIUM | core/tests/widgets/test_textinput.py | 129 | # Define a validator that only accepts numbers | COMMENT |
| MEDIUM | core/tests/widgets/test_progressbar.py | 229 | # Creating a new progress bar with running=True so it is already running | COMMENT |
| MEDIUM⚡ | core/tests/widgets/test_base.py | 79 | # Create a child widget | COMMENT |
| MEDIUM⚡ | core/tests/widgets/test_base.py | 96 | # Create a child widget | COMMENT |
| MEDIUM⚡ | core/tests/widgets/test_base.py | 368 | # Create a child widget | COMMENT |
| MEDIUM⚡ | core/tests/widgets/test_base.py | 385 | # Create a child widget | COMMENT |
| MEDIUM | core/tests/widgets/test_base.py | 136 | # Create a child widget | COMMENT |
| MEDIUM | core/tests/widgets/test_base.py | 301 | # Create a second parent widget, and add a child to it | COMMENT |
| MEDIUM | core/tests/widgets/test_base.py | 421 | # Create a child widget | COMMENT |
| MEDIUM | core/tests/widgets/test_base.py | 551 | # Create a child widget | COMMENT |
| MEDIUM | core/tests/widgets/test_base.py | 596 | # Create a second parent widget, and add a child to it | COMMENT |
| MEDIUM | core/tests/widgets/test_base.py | 663 | # Create a child widget | COMMENT |
| MEDIUM | core/tests/widgets/test_base.py | 915 | # Create a second parent widget, and add a child to it | COMMENT |
| MEDIUM | core/tests/widgets/test_base.py | 1052 | # Create a new app | COMMENT |
| MEDIUM | core/tests/widgets/test_base.py | 1133 | # Create a new window | COMMENT |
| MEDIUM | core/tests/widgets/test_activityindicator.py | 124 | # Creating a new progress bar with running=True so it is already running | COMMENT |
| MEDIUM | core/tests/widgets/canvas/test_deprecations.py | 134 | # Create a sub-state to ensure the method appends to root, not the active state. | COMMENT |
| MEDIUM | core/tests/widgets/canvas/test_deprecations.py | 170 | # Create a sub-state to ensure the method appends to root, not the active state. | COMMENT |
| MEDIUM | core/src/toga/window.py | 979 | # Create a toolbar that is linked to the app. | COMMENT |
| MEDIUM | core/src/toga/documents.py | 41 | # Create the visual representation of the document. | COMMENT |
| MEDIUM | core/src/toga/images.py | 29 | # Define the types that can be used as Image content | COMMENT |
| MEDIUM | core/src/toga/app.py | 350 | # Create the implementation. This will trigger any startup logic. | COMMENT |
| MEDIUM | core/src/toga/statusicons.py | 165 | # Create the standard commands for the menu status icon. Use the standard | COMMENT |
| MEDIUM | core/src/toga/widgets/optioncontainer.py | 380 | # Create an interface wrapper for the option. | COMMENT |
| MEDIUM | testbed/tests/testbed.py | 222 | # Create the test app, starting the test suite as a background task | COMMENT |
| MEDIUM | testbed/tests/test_icons.py | 26 | # Create a second icon using an alternate (non-preferred) resource format. | COMMENT |
| MEDIUM | testbed/tests/test_statusicons.py | 40 | # Create a new menu status item | COMMENT |
| MEDIUM | testbed/tests/test_statusicons.py | 108 | # Create a new menu status item | COMMENT |
| MEDIUM | testbed/tests/app/test_document_app.py | 26 | # Create a new document | COMMENT |
| MEDIUM | testbed/src/testbed/app.py | 12 | # Create the main window for the document. | COMMENT |
| MEDIUM | testbed/src/testbed/app.py | 34 | # Create the main window for the document. | COMMENT |
| MEDIUM | testbed/src/testbed/app.py | 176 | # Create a submenu on the first status menu; | COMMENT |
| MEDIUM | web/src/toga_web/app.py | 110 | # Create a button handler to capture the close, | COMMENT |
| MEDIUM | qt/src/toga_qt/fonts.py | 101 | # Create the font query. | COMMENT |
| MEDIUM | qt/src/toga_qt/widgets/tree.py | 228 | # Create the List widget | COMMENT |
| MEDIUM | qt/src/toga_qt/widgets/detailedlist.py | 340 | # This method is no-covered as it is purely cosmetic | COMMENT |
| 72 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | core/tests/app/test_dialogs.py | 0 | if no path is provided, a open file dialog will use the default directory. | STRING |
| HIGH | core/tests/window/test_window.py | 0 | if no path is provided, a open file dialog will use the default directory. | STRING |
| HIGH | core/tests/window/test_dialogs.py | 0 | if no path is provided, a open file dialog will use the default directory. | STRING |
| HIGH | core/tests/app/test_dialogs.py | 0 | if no path is provided, a select folder dialog will use the default directory. | STRING |
| HIGH | core/tests/window/test_window.py | 0 | if no path is provided, a select folder dialog will use the default directory. | STRING |
| HIGH | core/tests/window/test_dialogs.py | 0 | if no path is provided, a select folder dialog will use the default directory. | STRING |
| HIGH | core/tests/widgets/test_scrollcontainer.py | 0 | if the widget is assigned to an app, the content is also assigned. | STRING |
| HIGH | core/tests/widgets/test_optioncontainer.py | 0 | if the widget is assigned to an app, the content is also assigned. | STRING |
| HIGH | core/tests/widgets/test_splitcontainer.py | 0 | if the widget is assigned to an app, the content is also assigned. | STRING |
| HIGH | core/tests/widgets/test_scrollcontainer.py | 0 | if the widget is assigned to an app, and there is no content, there's no error. | STRING |
| HIGH | core/tests/widgets/test_optioncontainer.py | 0 | if the widget is assigned to an app, and there is no content, there's no error. | STRING |
| HIGH | core/tests/widgets/test_splitcontainer.py | 0 | if the widget is assigned to an app, and there is no content, there's no error. | STRING |
| HIGH | core/tests/widgets/test_scrollcontainer.py | 0 | if the widget is assigned to a window, the content is also assigned. | STRING |
| HIGH | core/tests/widgets/test_optioncontainer.py | 0 | if the widget is assigned to a window, the content is also assigned. | STRING |
| HIGH | core/tests/widgets/test_splitcontainer.py | 0 | if the widget is assigned to a window, the content is also assigned. | STRING |
| HIGH | core/tests/widgets/test_textinput.py | 0 | a multiline text input can be created with initial values. | STRING |
| HIGH | core/tests/widgets/test_multilinetextinput.py | 0 | a multiline text input can be created with initial values. | STRING |
| HIGH | core/tests/widgets/test_passwordinput.py | 0 | a multiline text input can be created with initial values. | STRING |
| HIGH | core/src/toga/widgets/tree.py | 0 | is the widget currently enabled? i.e., can the user interact with the widget? canvas widgets cannot be disabled; this pr | STRING |
| HIGH | core/src/toga/widgets/imageview.py | 0 | is the widget currently enabled? i.e., can the user interact with the widget? canvas widgets cannot be disabled; this pr | STRING |
| HIGH | core/src/toga/widgets/box.py | 0 | is the widget currently enabled? i.e., can the user interact with the widget? canvas widgets cannot be disabled; this pr | STRING |
| HIGH | core/src/toga/widgets/splitcontainer.py | 0 | is the widget currently enabled? i.e., can the user interact with the widget? canvas widgets cannot be disabled; this pr | STRING |
| HIGH | core/src/toga/widgets/detailedlist.py | 0 | is the widget currently enabled? i.e., can the user interact with the widget? canvas widgets cannot be disabled; this pr | STRING |
| HIGH | core/src/toga/widgets/divider.py | 0 | is the widget currently enabled? i.e., can the user interact with the widget? canvas widgets cannot be disabled; this pr | STRING |
| HIGH | core/src/toga/widgets/activityindicator.py | 0 | is the widget currently enabled? i.e., can the user interact with the widget? canvas widgets cannot be disabled; this pr | STRING |
| HIGH | core/src/toga/widgets/scrollcontainer.py | 0 | is the widget currently enabled? i.e., can the user interact with the widget? canvas widgets cannot be disabled; this pr | STRING |
| HIGH | core/src/toga/widgets/progressbar.py | 0 | is the widget currently enabled? i.e., can the user interact with the widget? canvas widgets cannot be disabled; this pr | STRING |
| HIGH | core/src/toga/widgets/table.py | 0 | is the widget currently enabled? i.e., can the user interact with the widget? canvas widgets cannot be disabled; this pr | STRING |
| HIGH | core/src/toga/widgets/optioncontainer.py | 0 | is the widget currently enabled? i.e., can the user interact with the widget? canvas widgets cannot be disabled; this pr | STRING |
| HIGH | core/src/toga/widgets/canvas/canvas.py | 0 | is the widget currently enabled? i.e., can the user interact with the widget? canvas widgets cannot be disabled; this pr | STRING |
| HIGH | core/src/toga/widgets/multilinetextinput.py | 0 | a handler to invoke when the slider is pressed. :param widget: the slider that was released. :param kwargs: ensures comp | STRING |
| HIGH | core/src/toga/widgets/switch.py | 0 | a handler to invoke when the slider is pressed. :param widget: the slider that was released. :param kwargs: ensures comp | STRING |
| HIGH | core/src/toga/widgets/slider.py | 0 | a handler to invoke when the slider is pressed. :param widget: the slider that was released. :param kwargs: ensures comp | STRING |
| HIGH | core/src/toga/widgets/numberinput.py | 0 | a handler to invoke when the slider is pressed. :param widget: the slider that was released. :param kwargs: ensures comp | STRING |
| HIGH | core/src/toga/widgets/selection.py | 0 | a handler to invoke when the slider is pressed. :param widget: the slider that was released. :param kwargs: ensures comp | STRING |
| HIGH | core/src/toga/widgets/multilinetextinput.py | 0 | can the value of the widget be modified by the user? this only controls manual changes by the user (i.e., typing at the | STRING |
| HIGH | core/src/toga/widgets/textinput.py | 0 | can the value of the widget be modified by the user? this only controls manual changes by the user (i.e., typing at the | STRING |
| HIGH | core/src/toga/widgets/numberinput.py | 0 | can the value of the widget be modified by the user? this only controls manual changes by the user (i.e., typing at the | STRING |
| HIGH | core/src/toga/widgets/multilinetextinput.py | 0 | the handler to invoke when the value of the widget changes. | STRING |
| HIGH | core/src/toga/widgets/textinput.py | 0 | the handler to invoke when the value of the widget changes. | STRING |
| HIGH | core/src/toga/widgets/numberinput.py | 0 | the handler to invoke when the value of the widget changes. | STRING |
| HIGH | positron/src/positron/sitespecific/bootstrap.py | 0 | runs prior to other plugin hooks to provide additional context. this can be used to prompt the user with additional ques | STRING |
| HIGH | positron/src/positron/static/bootstrap.py | 0 | runs prior to other plugin hooks to provide additional context. this can be used to prompt the user with additional ques | STRING |
| HIGH | positron/src/positron/fastapi/bootstrap.py | 0 | runs prior to other plugin hooks to provide additional context. this can be used to prompt the user with additional ques | STRING |
| HIGH | positron/src/positron/django/bootstrap.py | 0 | runs prior to other plugin hooks to provide additional context. this can be used to prompt the user with additional ques | STRING |
| HIGH | testbed/tests/widgets/test_tree.py | 0 | does the widget warn about the old listlistener api | STRING |
| HIGH | testbed/tests/widgets/test_table.py | 0 | does the widget warn about the old listlistener api | STRING |
| HIGH | testbed/tests/widgets/test_selection.py | 0 | does the widget warn about the old listlistener api | STRING |
| HIGH | testbed/tests/widgets/test_detailedlist.py | 0 | does the widget warn about the old listlistener api | STRING |
| HIGH | web/src/toga_web/command.py | 0 | command `native` property is a list of native widgets associated with the command. native widgets is of type qaction | STRING |
| HIGH | textual/src/toga_textual/command.py | 0 | command `native` property is a list of native widgets associated with the command. native widgets is of type qaction | STRING |
| HIGH | qt/src/toga_qt/command.py | 0 | command `native` property is a list of native widgets associated with the command. native widgets is of type qaction | STRING |
| HIGH | qt/src/toga_qt/fonts.py | 0 | use a font that the user has registered in their code. | STRING |
| HIGH | iOS/src/toga_iOS/fonts.py | 0 | use a font that the user has registered in their code. | STRING |
| HIGH | cocoa/src/toga_cocoa/fonts.py | 0 | use a font that the user has registered in their code. | STRING |
| HIGH | android/src/toga_android/fonts.py | 0 | use a font that the user has registered in their code. | STRING |
| HIGH | winforms/src/toga_winforms/fonts.py | 0 | use a font that the user has registered in their code. | STRING |
| HIGH | gtk/src/toga_gtk/fonts.py | 0 | use a font that the user has registered in their code. | STRING |
| HIGH | iOS/tests_backend/probe.py | 0 | request a redraw of the app, waiting until that redraw has completed. | STRING |
| HIGH | iOS/tests_backend/widgets/base.py | 0 | request a redraw of the app, waiting until that redraw has completed. | STRING |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 1 | [tool.codespell] | COMMENT |
| LOW | dummy/src/toga_dummy/app.py | 81 | # 768 |Secondary| | | COMMENT |
| LOW | core/tests/test_validators.py | 721 | COMMENT | |
| LOW | core/tests/window/test_window.py | 61 | # .NET Framework 4.x WinForms fires `Activated` *during* the platform | COMMENT |
| LOW | core/tests/command/test_commandset.py | 381 | ): | COMMENT |
| LOW | core/tests/command/test_group.py | 281 | # with self.assertRaises(ValueError): | COMMENT |
| LOW | core/src/toga/command.py | 541 | return group | COMMENT |
| LOW | core/src/toga/app.py | 221 | self._app_name = None | COMMENT |
| LOW | core/src/toga/constants/__init__.py | 41 | # These constant values allow `flash=True` and `flash=False` to work | COMMENT |
| LOW | core/src/toga/constants/__init__.py | 61 | # """ | COMMENT |
| LOW | core/src/toga/style/layout.py | 581 | COMMENT | |
| LOW | core/src/toga/style/layout.py | 641 | # We now know the final min_main/main that accounts for flexible | COMMENT |
| LOW | core/src/toga/style/applicator.py | 61 | COMMENT | |
| LOW | testbed/tests/widgets/test_mapview.py | 61 | # On Gtk, ensure that the MapView evades garbage collection by keeping a | COMMENT |
| LOW | qt/src/toga_qt/window.py | 101 | def qt_close_event(self, event): | COMMENT |
| LOW | qt/src/toga_qt/window.py | 121 | def create(self): | COMMENT |
| LOW | textual/pyproject.toml | 81 | SimpleStatusIcon = "toga_textual.statusicons:SimpleStatusIcon" | COMMENT |
| LOW | textual/src/toga_textual/factory.py | 21 | # from .widgets.dateinput import DateInput | COMMENT |
| LOW | textual/src/toga_textual/factory.py | 61 | "Icon", | COMMENT |
| LOW | textual/src/toga_textual/factory.py | 81 | # "OptionContainer", | COMMENT |
| LOW | iOS/src/toga_iOS/window.py | 161 | # Window visibility | COMMENT |
| LOW | iOS/src/toga_iOS/window.py | 181 | # Windows are always in NORMAL state. | COMMENT |
| LOW | iOS/src/toga_iOS/window.py | 201 | # size. You'd *think* that you could specify the size of the final | COMMENT |
| LOW | iOS/src/toga_iOS/widgets/progressbar.py | 1 | import asyncio | COMMENT |
| LOW | iOS/src/toga_iOS/widgets/mapview.py | 61 | self.native.zoomEnabled = True | COMMENT |
| LOW | iOS/src/toga_iOS/widgets/canvas.py | 301 | # "This method uses the baseline origin by default. If | COMMENT |
| LOW | cocoa/tests_backend/keys.py | 81 | # Key.RIGHT_SHIFT.value: 60, | COMMENT |
| LOW | cocoa/src/toga_cocoa/window.py | 401 | # user-requested state and apply the state when we have completed processing a | COMMENT |
| LOW | cocoa/src/toga_cocoa/keys.py | 201 | # Experimentation shows the following behaviour | COMMENT |
| LOW | cocoa/src/toga_cocoa/widgets/tree.py | 101 | # heights = [default_row_height] | COMMENT |
| LOW | cocoa/src/toga_cocoa/widgets/tree.py | 121 | COMMENT | |
| LOW | cocoa/src/toga_cocoa/widgets/mapview.py | 61 | self.native.zoomEnabled = True | COMMENT |
| LOW | cocoa/src/toga_cocoa/widgets/table.py | 81 | # 2021-09-04: Commented out this method because it appears to be a | COMMENT |
| LOW | cocoa/src/toga_cocoa/widgets/canvas.py | 281 | # NSStringDrawingUsesLineFragmentOrigin is not specified, the | COMMENT |
| LOW | cocoa/src/toga_cocoa/widgets/internal/refresh.py | 41 | # Permission is hereby granted, free of charge, to any person obtaining a copy of this | COMMENT |
| LOW | cocoa/src/toga_cocoa/widgets/internal/refresh.py | 61 | # RefreshableScrollView is a subclass of NSScrollView. When it is created, it is | COMMENT |
| LOW | examples/tree/tree/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/screenshot/screenshot_qt/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/screenshot/screenshot/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/imageview/imageview/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/hardware/hardware/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/tree_source/tree_source/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/box/box/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/tutorial3/tutorial/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/tutorial4/tutorial/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | …t/helloworld/src/hello_world_widget/gtk_hello_world.py | 41 | # print( | COMMENT |
| LOW | examples/statusiconapp/statusiconapp/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/tutorial2/tutorial/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/tutorial2/tutorial/app.py | 61 | COMMENT | |
| LOW | examples/scrollcontainer/scrollcontainer/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/layout/layout/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/textinput/textinput/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/webview/webview/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | …amples/examples_overview/examples_overview/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/splitcontainer/splitcontainer/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/slider/slider/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/table_source/table_source/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/progressbar/progressbar/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/focus/focus/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| LOW | examples/detailedlist/detailedlist/__init__.py | 1 | # Examples of valid version strings | COMMENT |
| 47 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/tests/window/test_window.py | 496 | except Exception as e: | CODE |
| LOW | core/tests/window/test_window.py | 518 | except Exception as e: | CODE |
| LOW | core/src/toga/documents.py | 356 | except Exception: | CODE |
| LOW⚡ | core/src/toga/handlers.py | 62 | except Exception as e: | CODE |
| MEDIUM⚡ | core/src/toga/handlers.py | 63 | print("Error in long running handler:", e, file=sys.stderr) | CODE |
| LOW⚡ | core/src/toga/handlers.py | 69 | except Exception as e: | CODE |
| MEDIUM⚡ | core/src/toga/handlers.py | 70 | print("Error in long running handler cleanup:", e, file=sys.stderr) | CODE |
| LOW⚡ | core/src/toga/handlers.py | 84 | except Exception as e: | CODE |
| MEDIUM⚡ | core/src/toga/handlers.py | 85 | print("Error in async handler:", e, file=sys.stderr) | CODE |
| LOW⚡ | core/src/toga/handlers.py | 91 | except Exception as e: | CODE |
| MEDIUM⚡ | core/src/toga/handlers.py | 92 | print("Error in async handler cleanup:", e, file=sys.stderr) | CODE |
| LOW | core/src/toga/handlers.py | 163 | except Exception as e: | CODE |
| MEDIUM | core/src/toga/handlers.py | 164 | print("Error in handler:", e, file=sys.stderr) | CODE |
| LOW | core/src/toga/handlers.py | 176 | except Exception as e: | CODE |
| MEDIUM | core/src/toga/handlers.py | 177 | print("Error in handler cleanup:", e, file=sys.stderr) | CODE |
| LOW | core/src/toga/handlers.py | 189 | except Exception as e: | CODE |
| MEDIUM | core/src/toga/handlers.py | 190 | print("Error in handler cleanup:", e, file=sys.stderr) | CODE |
| LOW | core/src/toga/app.py | 529 | except Exception as e: | CODE |
| LOW | core/src/toga/app.py | 553 | except Exception as e: | CODE |
| LOW | testbed/tests/window/test_window.py | 870 | except Exception as e: | CODE |
| LOW | web/src/toga_web/widgets/dateinput.py | 27 | except Exception: | CODE |
| LOW | web/src/toga_web/widgets/dateinput.py | 36 | except Exception: | CODE |
| MEDIUM | web/src/toga_web/widgets/dateinput.py | 24 | def dom_change(self, event): | CODE |
| MEDIUM | web/src/toga_web/widgets/dateinput.py | 33 | def get_value(self): | CODE |
| LOW | web/src/toga_web/widgets/timeinput.py | 40 | except Exception: | CODE |
| LOW | web/src/toga_web/widgets/timeinput.py | 49 | except Exception: | CODE |
| MEDIUM | web/src/toga_web/widgets/timeinput.py | 37 | def dom_change(self, event): | CODE |
| MEDIUM | web/src/toga_web/widgets/timeinput.py | 46 | def get_value(self): | CODE |
| LOW | qt/tests_backend/dialogs.py | 40 | except Exception as e: | CODE |
| LOW | qt/src/toga_qt/widgets/tree.py | 146 | except Exception: # pragma: no cover | CODE |
| LOW | qt/src/toga_qt/widgets/tree.py | 158 | except Exception: # pragma: no cover | CODE |
| LOW | qt/src/toga_qt/widgets/tree.py | 199 | except Exception: # pragma: no cover | CODE |
| LOW | qt/src/toga_qt/widgets/tree.py | 220 | except Exception: # pragma: no cover | CODE |
| LOW | qt/src/toga_qt/widgets/detailedlist.py | 103 | except Exception: # pragma: no cover | CODE |
| LOW | qt/src/toga_qt/widgets/detailedlist.py | 125 | except Exception: # pragma: no cover | CODE |
| LOW | qt/src/toga_qt/widgets/table.py | 65 | except Exception: # pragma: no cover | CODE |
| LOW | qt/src/toga_qt/widgets/table.py | 77 | except Exception: # pragma: no cover | CODE |
| LOW | qt/src/toga_qt/widgets/table.py | 123 | except Exception: # pragma: no cover | CODE |
| LOW | qt/src/toga_qt/widgets/table.py | 143 | except Exception: # pragma: no cover | CODE |
| LOW | qt/src/toga_qt/widgets/canvas.py | 301 | except Exception: # pragma: no cover | CODE |
| LOW⚡ | iOS/tests_backend/dialogs.py | 35 | except Exception as e: | CODE |
| LOW | cocoa/tests_backend/window.py | 152 | except Exception as e: | CODE |
| LOW | examples/webview/webview/app.py | 24 | except Exception as exc: | CODE |
| MEDIUM | examples/webview/webview/app.py | 20 | def on_bad_js(self, widget, **kwargs): | CODE |
| LOW | android/tests_backend/dialogs.py | 31 | except Exception as e: | CODE |
| LOW | android/tests_backend/widgets/dateinput.py | 35 | except Exception: | CODE |
| MEDIUM | android/tests_backend/widgets/dateinput.py | 23 | def change(self, delta): | CODE |
| LOW | travertino/src/travertino/style.py | 104 | except Exception as exc: | CODE |
| LOW | travertino/src/travertino/fonts.py | 31 | except Exception as exc: | CODE |
| LOW | winforms/tests_backend/dialogs.py | 42 | except Exception as e: | CODE |
| LOW | winforms/src/toga_winforms/app.py | 169 | except Exception as e: | CODE |
| LOW | gtk/tests_backend/dialogs.py | 52 | except Exception as e: | CODE |
| LOW | gtk/src/toga_gtk/widgets/mapview.py | 136 | except Exception as e: | CODE |
| LOW | gtk/src/toga_gtk/widgets/webview.py | 122 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dummy/src/toga_dummy/utils.py | 342 | CODE | |
| LOW | core/src/toga/command.py | 535 | CODE | |
| LOW | core/src/toga/command.py | 557 | CODE | |
| LOW | core/src/toga/icons.py | 76 | CODE | |
| LOW | core/src/toga/icons.py | 179 | CODE | |
| LOW | core/src/toga/documents.py | 312 | CODE | |
| LOW | core/src/toga/handlers.py | 129 | CODE | |
| LOW | core/src/toga/handlers.py | 155 | CODE | |
| LOW | core/src/toga/app.py | 156 | CODE | |
| LOW | core/src/toga/app.py | 557 | CODE | |
| LOW | core/src/toga/fonts.py | 42 | CODE | |
| LOW | core/src/toga/style/layout.py | 61 | CODE | |
| LOW | core/src/toga/style/layout.py | 367 | CODE | |
| LOW | core/src/toga/widgets/tree.py | 375 | CODE | |
| LOW | core/src/toga/widgets/imageview.py | 15 | CODE | |
| LOW | core/src/toga/widgets/table.py | 393 | CODE | |
| LOW | testbed/tests/test_images.py | 145 | CODE | |
| LOW | testbed/tests/test_fonts.py | 97 | CODE | |
| LOW | testbed/tests/assertions.py | 33 | CODE | |
| LOW | testbed/tests/testbed.py | 17 | CODE | |
| LOW | testbed/tests/window/test_window.py | 791 | CODE | |
| LOW | testbed/tests/window/test_window.py | 820 | CODE | |
| LOW | qt/tests_backend/probe.py | 90 | CODE | |
| LOW | qt/tests_backend/widgets/properties.py | 7 | CODE | |
| LOW | qt/src/toga_qt/window.py | 258 | CODE | |
| LOW | qt/src/toga_qt/widgets/tree.py | 162 | CODE | |
| LOW | qt/src/toga_qt/widgets/tree.py | 205 | CODE | |
| LOW | qt/src/toga_qt/widgets/table.py | 81 | CODE | |
| LOW | qt/src/toga_qt/widgets/table.py | 129 | CODE | |
| LOW | cocoa/src/toga_cocoa/window.py | 384 | CODE | |
| LOW | cocoa/src/toga_cocoa/keys.py | 196 | CODE | |
| LOW | examples/tree/tree/app.py | 70 | CODE | |
| LOW | examples/screenshot/screenshot/app.py | 365 | CODE | |
| LOW | examples/textinput/textinput/app.py | 143 | CODE | |
| LOW | examples/progressbar/progressbar/app.py | 115 | CODE | |
| LOW | examples/passwordinput/passwordinput/app.py | 15 | CODE | |
| LOW | android/tests_backend/window.py | 24 | CODE | |
| LOW | android/src/toga_android/app.py | 115 | CODE | |
| LOW | android/src/toga_android/libs/events.py | 173 | CODE | |
| LOW | travertino/src/travertino/style.py | 80 | CODE | |
| LOW | travertino/src/travertino/node.py | 163 | CODE | |
| LOW | travertino/src/travertino/colors.py | 26 | CODE | |
| LOW | travertino/src/travertino/colors.py | 360 | CODE | |
| LOW | travertino/src/travertino/properties/validated.py | 76 | CODE | |
| LOW | winforms/tests_backend/widgets/detailedlist.py | 44 | CODE | |
| LOW | winforms/tests_backend/widgets/table.py | 28 | CODE | |
| LOW | winforms/src/toga_winforms/window.py | 474 | CODE | |
| LOW | winforms/src/toga_winforms/widgets/tree.py | 488 | CODE | |
| LOW | winforms/src/toga_winforms/widgets/tree.py | 860 | CODE | |
| LOW | winforms/src/toga_winforms/widgets/detailedlist.py | 313 | CODE | |
| LOW | winforms/src/toga_winforms/widgets/detailedlist.py | 368 | CODE | |
| LOW | gtk/tests_backend/window.py | 55 | CODE | |
| LOW | gtk/tests_backend/probe.py | 22 | CODE | |
| LOW | gtk/tests_backend/app.py | 88 | CODE | |
| LOW | gtk/src/toga_gtk/window.py | 152 | CODE | |
| LOW | gtk/src/toga_gtk/window.py | 341 | CODE | |
| LOW | gtk/src/toga_gtk/window.py | 519 | CODE | |
| LOW | gtk/src/toga_gtk/statusicons.py | 79 | CODE | |
| LOW | gtk/src/toga_gtk/dialogs.py | 163 | CODE | |
| LOW | gtk/src/toga_gtk/widgets/mapview.py | 112 | CODE | |
| 2 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dummy/src/toga_dummy/factory.py | 46 | __all__ = [ | CODE |
| LOW | core/src/toga/handlers.py | 231 | def set_result(self, result: object) -> None: | CODE |
| LOW | core/src/toga/handlers.py | 237 | def set_exception(self, exc: Exception) -> None: | CODE |
| LOW | core/src/toga/app.py | 990 | def set_full_screen(self, *windows: Window) -> None: | CODE |
| LOW | core/src/toga/dialogs.py | 13 | __all__ = [ | CODE |
| LOW | core/src/toga/style/__init__.py | 4 | __all__ = [ | CODE |
| LOW | core/src/toga/style/applicator.py | 48 | def set_bounds(self) -> None: | CODE |
| LOW | core/src/toga/style/applicator.py | 59 | def set_text_align(self, alignment: str) -> None: | CODE |
| LOW | core/src/toga/style/applicator.py | 62 | def set_hidden(self, hidden: bool) -> None: | CODE |
| LOW⚡ | core/src/toga/style/applicator.py | 78 | def set_font(self, font: object) -> None: | CODE |
| LOW⚡ | core/src/toga/style/applicator.py | 81 | def set_color(self, color: object) -> None: | CODE |
| LOW⚡ | core/src/toga/style/applicator.py | 84 | def set_background_color(self, color: object) -> None: | CODE |
| LOW | core/src/toga/sources/__init__.py | 13 | __all__ = [ | CODE |
| LOW | core/src/toga/widgets/slider.py | 127 | def _set_value(self, value: SupportsFloat) -> None: | CODE |
| LOW⚡ | core/src/toga/widgets/slider.py | 304 | def set_value(self, value: float) -> None: ... | CODE |
| LOW⚡ | core/src/toga/widgets/slider.py | 310 | def set_min(self, value: float) -> None: ... | CODE |
| LOW⚡ | core/src/toga/widgets/slider.py | 316 | def set_max(self, value: float) -> None: ... | CODE |
| LOW⚡ | core/src/toga/widgets/slider.py | 322 | def set_tick_count(self, tick_count: int | None) -> None: ... | CODE |
| LOW⚡ | core/src/toga/widgets/slider.py | 343 | def set_value(self, value: float) -> None: | CODE |
| LOW⚡ | core/src/toga/widgets/slider.py | 353 | def set_min(self, value: float) -> None: | CODE |
| LOW⚡ | core/src/toga/widgets/slider.py | 359 | def set_max(self, value: float) -> None: | CODE |
| LOW⚡ | core/src/toga/widgets/slider.py | 365 | def set_tick_count(self, tick_count: int | None) -> None: | CODE |
| LOW⚡ | core/src/toga/widgets/slider.py | 385 | def set_int_value(self, value: int) -> None: ... | CODE |
| LOW⚡ | core/src/toga/widgets/slider.py | 391 | def set_int_max(self, max: int) -> None: ... | CODE |
| LOW⚡ | core/src/toga/widgets/slider.py | 394 | def set_ticks_visible(self, visible: bool) -> None: ... | CODE |
| LOW | core/src/toga/widgets/webview.py | 93 | def _set_url(self, url: str | None, future: asyncio.Future | None) -> None: | CODE |
| LOW | core/src/toga/widgets/webview.py | 209 | def set_content(self, root_url: str, content: str) -> None: | CODE |
| LOW | core/src/toga/widgets/canvas/__init__.py | 56 | __all__ = [ | CODE |
| LOW | web/src/toga_web/factory.py | 56 | __all__ = [ | CODE |
| LOW | qt/src/toga_qt/factory.py | 57 | __all__ = [ | CODE |
| LOW | qt/src/toga_qt/widgets/tree.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | qt/src/toga_qt/widgets/detailedlist.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | qt/src/toga_qt/widgets/slider.py | 32 | def set_int_value(self, value: int) -> None: | CODE |
| LOW⚡ | qt/src/toga_qt/widgets/slider.py | 38 | def set_int_max(self, max: int) -> None: | CODE |
| LOW⚡ | qt/src/toga_qt/widgets/slider.py | 41 | def set_ticks_visible(self, visible: bool) -> None: | CODE |
| LOW | qt/src/toga_qt/widgets/table.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | qt/src/toga_qt/widgets/canvas.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | textual/src/toga_textual/factory.py | 56 | __all__ = [ | CODE |
| LOW | iOS/src/toga_iOS/factory.py | 59 | __all__ = [ | CODE |
| LOW | cocoa/src/toga_cocoa/factory.py | 55 | __all__ = [ | CODE |
| LOW | android/src/toga_android/factory.py | 51 | __all__ = [ | CODE |
| LOW | travertino/src/travertino/colors.py | 560 | __all__ = [ | CODE |
| LOW | winforms/src/toga_winforms/factory.py | 51 | __all__ = [ | CODE |
| LOW | gtk/src/toga_gtk/factory.py | 51 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/src/toga/platform.py | 227 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/src/toga/platform.py | 229 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/src/toga/platform.py | 246 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/src/toga/platform.py | 248 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | core/src/toga/widgets/numberinput.py | 19 | # ==================== | COMMENT |
| MEDIUM | iOS/src/toga_iOS/widgets/slider.py | 15 | # ==================== | COMMENT |
| MEDIUM | iOS/src/toga_iOS/widgets/progressbar.py | 9 | # ==================== | COMMENT |
| MEDIUM | cocoa/src/toga_cocoa/widgets/progressbar.py | 8 | # ==================== | COMMENT |
| MEDIUM | cocoa/src/toga_cocoa/widgets/internal/refresh.py | 36 | # ====================================================================================== | COMMENT |
| MEDIUM | cocoa/src/toga_cocoa/widgets/internal/refresh.py | 57 | # ====================================================================================== | COMMENT |
| MEDIUM | android/src/toga_android/widgets/slider.py | 14 | # ==================== | COMMENT |
| MEDIUM | android/src/toga_android/widgets/progressbar.py | 10 | # ==================== | COMMENT |
| MEDIUM | winforms/src/toga_winforms/widgets/slider.py | 12 | # ==================== | COMMENT |
| MEDIUM | winforms/src/toga_winforms/widgets/progressbar.py | 8 | # ==================== | COMMENT |
| MEDIUM | gtk/src/toga_gtk/widgets/slider.py | 9 | # ==================== | COMMENT |
| MEDIUM | gtk/src/toga_gtk/widgets/progressbar.py | 9 | # ==================== | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | core/tests/sources/test_columns.py | 247 | # Issue #4135: Tuple of 1 item is undefined; raise an error | COMMENT |
| HIGH⚡ | core/tests/sources/test_columns.py | 249 | # Issue #4135: Tuple of 3+ items is undefined; raise an error | COMMENT |
| HIGH | core/src/toga/window.py | 364 | undefined, except for [`closed`][toga.Window.closed] which can be used to check | STRING |
| HIGH | testbed/tests/widgets/test_tree.py | 889 | # The specific behavior for resizing is undefined; however, the columns should add | COMMENT |
| HIGH | testbed/tests/widgets/test_table.py | 565 | # The specific behavior for resizing is undefined; however, the columns should add | COMMENT |
| HIGH | android/src/toga_android/widgets/multilinetextinput.py | 35 | self.native.setSelection(self.native.length()) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dummy/src/toga_dummy/images.py | 17 | # around a PIL image. We can't just use a PIL image because that will be | COMMENT |
| MEDIUM | core/tests/app/test_app.py | 178 | # Invoking in a test harness, where there's no __main__ | COMMENT |
| LOW | core/src/toga/widgets/canvas/state.py | 674 | # This is a weird one. The straightforward approach would be to simply add a | COMMENT |
| MEDIUM | testbed/tests/widgets/properties.py | 570 | # (Definitely less than the window size) | COMMENT |
| LOW | web/src/toga_web/widgets/base.py | 77 | # otherwise just return what was asked for | COMMENT |
| LOW | qt/tests_backend/fonts.py | 36 | # Most other fonts we can just use the family name; | COMMENT |
| MEDIUM | qt/src/toga_qt/app.py | 140 | # We can't call this under test conditions, because it would kill the test harness | COMMENT |
| MEDIUM | qt/src/toga_qt/app.py | 194 | # A reference to the about dialog is stored for facilitate testing. | COMMENT |
| LOW | iOS/tests_backend/fonts.py | 71 | # Most other fonts we can just use the family name; | COMMENT |
| MEDIUM | iOS/src/toga_iOS/libs/core_graphics.py | 47 | # An except AttributeError would theoretically be more robust, but that | COMMENT |
| MEDIUM | cocoa/tests_backend/keys.py | 18 | # For a comprehensive list see: | COMMENT |
| LOW | cocoa/tests_backend/fonts.py | 69 | # Most other fonts we can just use the family name; | COMMENT |
| MEDIUM | cocoa/src/toga_cocoa/app.py | 298 | # We can't call this under test conditions, because it would kill the test harness | COMMENT |
| MEDIUM | cocoa/src/toga_cocoa/libs/core_graphics.py | 47 | # An except AttributeError would theoretically be more robust, but that | COMMENT |
| MEDIUM | examples/positron-django/src/positron/settings.py | 20 | # Django best practices in production don't apply. The secret key doesn't need to be | COMMENT |
| LOW | android/src/toga_android/libs/events.py | 190 | # just add them to ready. Note: We run all currently scheduled callbacks, but | COMMENT |
| LOW | travertino/tests/test_choices.py | 406 | # We can't just use the string directly, though - that would | COMMENT |
| MEDIUM | gtk/src/toga_gtk/app.py | 169 | # We can't call this under test conditions, because it would kill the test harness | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dummy/src/toga_dummy/widgets/multilinetextinput.py | 16 | return self._get_value("placeholder") | CODE |
| LOW | dummy/src/toga_dummy/widgets/multilinetextinput.py | 19 | self._set_value("placeholder", value) | CODE |
| LOW | dummy/src/toga_dummy/widgets/textinput.py | 15 | return self._get_value("placeholder", "") | CODE |
| LOW | dummy/src/toga_dummy/widgets/textinput.py | 18 | self._set_value("placeholder", value) | CODE |
| LOW | core/tests/widgets/test_textinput.py | 198 | assert attribute_value(widget, "placeholder") == expected | CODE |
| LOW | core/tests/widgets/test_multilinetextinput.py | 131 | assert attribute_value(widget, "placeholder") == expected | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 143 | widget.placeholder = "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 147 | assert widget.placeholder == "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 151 | widget.value = "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 153 | assert widget.value == "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 154 | assert widget.placeholder == "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 155 | assert probe.value == "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 162 | assert widget.placeholder == "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 163 | assert probe.value == "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 178 | widget.placeholder = "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 185 | assert widget.placeholder == "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 186 | assert probe.value == "" if hides_on_focus else "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 193 | assert widget.placeholder == "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 194 | assert probe.value == "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 201 | assert widget.placeholder == "placeholder" | CODE |
| LOW⚡ | testbed/tests/widgets/properties.py | 202 | assert probe.value == "" if hides_on_focus else "placeholder" | CODE |
| LOW | testbed/tests/widgets/properties.py | 256 | widget.placeholder = "placeholder" | CODE |
| LOW | testbed/tests/widgets/properties.py | 265 | assert probe.value == "placeholder" | CODE |
| LOW | testbed/tests/widgets/test_textinput.py | 53 | @pytest.fixture(params=["", "placeholder"]) | CODE |
| LOW | testbed/tests/widgets/test_multilinetextinput.py | 144 | widget.value = "Topline\n" + "Lorem ipsum\n " * 100 | CODE |
| LOW | testbed/tests/widgets/test_webview.py | 251 | large_content = f"<p>{'lorem ipsum ' * 200000}</p>" | CODE |
| LOW | examples/webview/webview/app.py | 86 | large_content = f"<p>{'lorem ipsum ' * 200000}</p>" | CODE |
| LOW | examples/colors/colors/app.py | 37 | placeholder="placeholder", | CODE |
| LOW | examples/colors/colors/app.py | 62 | value="This is a Text input field!", placeholder="placeholder" | CODE |
| LOW⚡ | travertino/compat/test_compat.py | 65 | match=r"Pack.__init__\(\) got an unexpected keyword argument 'fake_name'", | CODE |
| LOW⚡ | travertino/compat/test_compat.py | 67 | _ = Pack(fake_name=False) | CODE |
| LOW | gtk/src/toga_gtk/widgets/multilinetextinput.py | 35 | "placeholder", foreground="gray" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/tests/test_documents.py | 136 | # Read the file | COMMENT |
| LOW | core/tests/test_documents.py | 159 | # Read the file | COMMENT |
| LOW⚡ | core/tests/test_documents.py | 175 | # Read the file | COMMENT |
| LOW⚡ | core/tests/test_documents.py | 191 | # Read the file | COMMENT |
| LOW | core/tests/test_documents.py | 213 | # Read the file | COMMENT |
| LOW | core/tests/hardware/test_camera.py | 136 | # Set permission to potentially allowed | COMMENT |
| LOW | core/tests/app/test_screens.py | 32 | # Check if returned image is of type `toga.images.Image`, and the right size | COMMENT |
| LOW | core/tests/app/test_screens.py | 44 | # Check if returned image is of type `PIL.Image.Image`, and the right size | COMMENT |
| LOW | core/tests/command/test_group.py | 73 | # Assign None to variable to trick flake8 into not giving an E711 | COMMENT |
| LOW | core/tests/widgets/test_splitcontainer.py | 99 | # Assign content to the split container | COMMENT |
| LOW | core/src/toga/documents.py | 44 | # Add the document to the list of managed documents. | COMMENT |
| LOW | core/src/toga/widgets/optioncontainer.py | 391 | # Add the option to the list maintained on the interface, | COMMENT |
| LOW | testbed/tests/app/test_screens.py | 48 | # Check if returned image is of type `toga.images.Image`. | COMMENT |
| LOW | testbed/tests/app/test_screens.py | 59 | # Check if returned image is of type `PIL.Image.Image`. | COMMENT |
| LOW | testbed/tests/widgets/test_mapview.py | 92 | # Set location to Margaret River, just south of Perth | COMMENT |
| LOW | iOS/src/toga_iOS/widgets/webview.py | 224 | # Set UIDelegate to self for file dialog support | COMMENT |
| LOW | cocoa/src/toga_cocoa/widgets/webview.py | 237 | # Set UIDelegate to self for file dialog support | COMMENT |
| LOW | examples/statusiconapp/statusiconapp/app.py | 8 | # Set app to be a background app | COMMENT |
| LOW | android/tests_backend/widgets/textinput.py | 43 | # Check if TYPE_TEXT_FLAG_NO_SUGGESTIONS is set in the input type | COMMENT |
| LOW | android/src/toga_android/widgets/base.py | 130 | # Set background to None, when TRANSPARENT is requested, in order to prevent | COMMENT |
| LOW⚡ | travertino/tests/style/test_composite.py | 154 | # Assign 5 to explicit_none, don't provide different_values_prop. | COMMENT |
| LOW⚡ | travertino/tests/style/test_composite.py | 160 | # Assign VALUE4 to different_values_prop, don't provide explicit_none. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/src/toga/command.py | 252 | CODE | |
| LOW | core/src/toga/window.py | 204 | CODE | |
| LOW | core/src/toga/app.py | 156 | CODE | |
| LOW | core/src/toga/widgets/tree.py | 36 | CODE | |
| LOW | core/src/toga/widgets/detailedlist.py | 52 | CODE | |
| LOW | core/src/toga/widgets/textinput.py | 49 | CODE | |
| LOW | core/src/toga/widgets/slider.py | 43 | CODE | |
| LOW | core/src/toga/widgets/numberinput.py | 81 | CODE | |
| LOW | core/src/toga/widgets/table.py | 36 | CODE | |
| LOW | core/src/toga/widgets/canvas/canvas.py | 137 | CODE | |
| LOW | qt/src/toga_qt/widgets/mapview.py | 43 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/tutorial2/tutorial/app.py | 70 | # a narrower one. In this example, the right container will be twice | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | cocoa/src/toga_cocoa/widgets/webview.py | 150 | Required by the WKUIDelegate protocol. Called when the user clicks on an <input type="file"> HTML tag, | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cocoa/src/toga_cocoa/widgets/textinput.py | 36 | # If you add a method to this proxy, make sure you add a hook to both the | COMMENT |
| MEDIUM | examples/detailedlist/detailedlist/app.py | 31 | # to use refresh. However, for demonstration purposes, lets pretend | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/statusiconapp/statusiconapp/app.py | 78 | def do_stuff(self, widget, **kwargs): | CODE |
| LOW | examples/activityindicator/activityindicator/app.py | 7 | def do_stuff(self, widget, **kwargs): | CODE |
| LOW | examples/command/command/app.py | 7 | def do_stuff(self, widget, **kwargs): | CODE |
| LOW | examples/numberinput/numberinput/app.py | 7 | def do_stuff(self, widget, **kwargs): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cocoa/src/toga_cocoa/window.py | 404 | # Here, we need to check if the current state is the same as the pending | COMMENT |