Repository Analysis

wkentaro/labelme

Image annotation with Python. Supports polygon, rectangle, circle, line, point, and AI-assisted annotation.

22.5 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of wkentaro/labelme, a Python project with 16,041 GitHub stars. SynthScan v2.0 examined 49,195 lines of code across 206 source files, recording 868 pattern matches distributed across 11 syntactic categories. The overall adjusted score of 22.5 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).

22.5
Adjusted Score
22.5
Raw Score
100%
Time Factor
2026-07-14
Last Push
16.0K
Stars
Python
Language
49.2K
Lines of Code
206
Files
868
Pattern Hits
2026-07-14
Scan Date
0.03
HC Hit Rate

What These Metrics Mean

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

Score History

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

Severity Breakdown

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

CRITICAL 1HIGH 6MEDIUM 67LOW 794

Directory Score Breakdown

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

Pattern Findings

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

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

Hyper-Verbose Identifiers596 hits · 592 pts
SeverityFileLineSnippetContext
LOWtests/unit/__main___test.py20def test_removed_flag_errors_as_unknown(CODE
LOWtests/unit/__main___test.py38def test_deprecated_alias_warns_pointing_to_canonical(CODE
LOWtests/unit/__main___test.py58def test_canonical_flag_does_not_warn(CODE
LOWtests/unit/__main___test.py78def test_parse_list_arg_splits_comma_separated_value(CODE
LOWtests/unit/__main___test.py84def test_parse_list_arg_reads_and_strips_file_lines(tmp_path: Path) -> None:CODE
LOWtests/unit/__main___test.py91def test_route_qt_logging_drops_noise_and_forwards_the_rest() -> None:CODE
LOWtests/unit/read_image_file_test.py23def test_tiff_without_alpha_encoded_as_jpeg(tmp_path: Path) -> None:CODE
LOWtests/unit/read_image_file_test.py29def test_tiff_with_alpha_encoded_as_png(tmp_path: Path) -> None:CODE
LOWtests/unit/read_image_file_test.py35def test_jpeg_returns_raw_bytes(tmp_path: Path) -> None:CODE
LOWtests/unit/read_image_file_test.py41def test_png_returns_raw_bytes(tmp_path: Path) -> None:CODE
LOWtests/unit/read_image_file_test.py70def test_constant_value_tiff_returns_black(tmp_path: Path) -> None:CODE
LOWtests/unit/read_image_file_test.py81def test_two_band_tiff_falls_back_to_first_band(tmp_path: Path) -> None:CODE
LOWtests/unit/_shape_test.py64def test_oriented_rectangle_center_raises_for_wrong_shape_type() -> None:CODE
LOWtests/unit/_shape_test.py74def test_oriented_rectangle_center_raises_for_wrong_point_count() -> None:CODE
LOWtests/unit/_shape_test.py84def test_rotate_non_oriented_rectangle_raises() -> None:CODE
LOWtests/unit/_shape_test.py211def test_insert_point_records_label() -> None:CODE
LOWtests/unit/_shape_test.py219def test_can_remove_point_polygon_requires_more_than_three() -> None:CODE
LOWtests/unit/_shape_test.py228def test_can_remove_point_linestrip_requires_more_than_two() -> None:CODE
LOWtests/unit/_shape_test.py240def test_can_remove_point_false_for_non_polyline() -> None:CODE
LOWtests/unit/_shape_test.py248def test_remove_point_keeps_points_and_labels_in_sync() -> None:CODE
LOWtests/unit/_shape_test.py258def test_remove_point_is_noop_at_polygon_minimum() -> None:CODE
LOWtests/unit/_shape_test.py366def test_nearest_edge_index_returns_none_when_far() -> None:CODE
LOWtests/unit/_shape_test.py376def test_nearest_edge_index_returns_none_for_empty_shape() -> None:CODE
LOWtests/unit/_shape_test.py386def test_nearest_vertex_index_returns_nearest_within_epsilon() -> None:CODE
LOWtests/unit/_shape_test.py430def test_get_rotation_handle_returns_edge_midpoints(CODE
LOWtests/unit/_shape_test.py440def test_get_rotation_handle_raises_for_non_oriented_rectangle() -> None:CODE
LOWtests/unit/_shape_test.py450def test_nearest_rotation_point_index_returns_handle_within_epsilon() -> None:CODE
LOWtests/unit/_shape_test.py462def test_nearest_rotation_point_index_returns_none_when_far() -> None:CODE
LOWtests/unit/_shape_test.py472def test_nearest_rotation_point_index_returns_none_for_non_oriented_rectangle() -> None:CODE
LOWtests/unit/_shape_test.py482def test_nearest_rotation_point_index_returns_none_for_empty_shape() -> None:CODE
LOWtests/unit/_shape_test.py492def test_oriented_rectangle_arrow_points_axis_aligned() -> None:CODE
LOWtests/unit/_shape_test.py22def _make_axis_aligned_oriented_rectangle() -> Shape:CODE
LOWtests/unit/_shape_test.py26def test_rotate_oriented_rectangle_around_origin() -> None:CODE
LOWtests/unit/_shape_test.py40def test_oriented_rectangle_center_of_axis_aligned() -> None:CODE
LOWtests/unit/_shape_test.py48def test_oriented_rectangle_center_of_rotated_rectangle() -> None:CODE
LOWtests/unit/_shape_test.py99def test_rotate_uses_source_points_snapshot_not_current_points() -> None:CODE
LOWtests/unit/_shape_test.py121def test_rotate_reports_source_points_length_in_error() -> None:CODE
LOWtests/unit/_shape_test.py134def test_nearest_vertex_index_returns_none_for_mask() -> None:CODE
LOWtests/unit/_shape_test.py153def test_nearest_vertex_index_returns_none_for_point() -> None:CODE
LOWtests/unit/_shape_test.py200def test_insert_point_keeps_points_and_labels_in_sync() -> None:CODE
LOWtests/unit/_shape_test.py270def test_remove_point_is_noop_for_non_polyline() -> None:CODE
LOWtests/unit/_shape_test.py282def test_remove_point_noop_logs_substituted_values() -> None:CODE
LOWtests/unit/_shape_test.py302def test_move_vertex_replaces_only_target_point() -> None:CODE
LOWtests/unit/_shape_test.py314def test_translate_shifts_all_points_by_offset() -> None:CODE
LOWtests/unit/_shape_test.py336def test_nearest_edge_index_matches_edge_under_point(CODE
LOWtests/unit/_shape_test.py348def test_nearest_edge_index_handles_zero_length_segment() -> None:CODE
LOWtests/unit/_shape_test.py399def test_nearest_vertex_index_returns_none_when_far() -> None:CODE
LOWtests/unit/_shape_test.py409def test_nearest_vertex_index_returns_none_for_empty_shape() -> None:CODE
LOWtests/unit/_shape_test.py504def test_oriented_rectangle_arrow_points_rotates_tip_along_direction() -> None:CODE
LOWtests/unit/_shape_test.py517def test_oriented_rectangle_arrow_points_for_non_cardinal_direction() -> None:CODE
LOWtests/unit/_shape_clipboard_test.py18def test_paste_without_store_returns_empty() -> None:CODE
LOWtests/unit/_shape_clipboard_test.py22def test_paste_returns_independent_copies_each_call() -> None:CODE
LOWtests/unit/_shape_clipboard_test.py36def test_store_snapshots_shapes_at_store_time() -> None:CODE
LOWtests/unit/_shape_clipboard_test.py48def test_store_preserves_all_shapes_in_order() -> None:CODE
LOWtests/unit/_shape_clipboard_test.py80def test_availability_changed_emits_only_on_emptiness_transitions(CODE
LOWtests/unit/_locale_test.py6def test_available_translation_locales_includes_bundled_locale() -> None:CODE
LOWtests/unit/_locale_test.py10def test_available_translation_locales_excludes_source_locale() -> None:CODE
LOWtests/unit/_locale_test.py14def test_is_valid_language_accepts_none_source_and_bundled() -> None:CODE
LOWtests/unit/_locale_test.py20def test_is_valid_language_rejects_unknown_code() -> None:CODE
LOWtests/unit/_label_file_test.py23def test_read_label_file_load_windows_path(data_path: Path, tmp_path: Path) -> None:CODE
536 more matches not shown…
Decorative Section Separators66 hits · 291 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/utils/qt_test.py67# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py69# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py94# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py96# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py129# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py131# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py149# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py151# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py209# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py211# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py335# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py337# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py94# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py96# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py148# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py150# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py224# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py226# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py257# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py259# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py298# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py300# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py326# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py328# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py368# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py370# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py403# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog_characterize_test.py405# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py101# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py103# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py136# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py138# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py155# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py157# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py185# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py187# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py223# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py225# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py251# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py253# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py281# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py283# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py334# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py336# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py403# ---------------------------------------------------------------------------COMMENT
MEDIUM…it/widgets/canvas_interaction_characterization_test.py415# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py37# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py39# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py49# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py51# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py66# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py68# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py99# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py101# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py207# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py209# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py267# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py269# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py291# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction_test.py293# ---------------------------------------------------------------------------COMMENT
6 more matches not shown…
Unused Imports143 hits · 138 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py1CODE
LOWtests/unit/__main___test.py1CODE
LOWtests/unit/__main___test.py6CODE
LOWtests/unit/read_image_file_test.py1CODE
LOWtests/unit/_shape_test.py1CODE
LOWtests/unit/_shape_clipboard_test.py1CODE
LOWtests/unit/_locale_test.py1CODE
LOWtests/unit/_label_file_test.py1CODE
LOWtests/unit/_config_test.py1CODE
LOWtests/unit/utils/qt_test.py1CODE
LOWtests/unit/utils/shape_test.py1CODE
LOWtests/unit/utils/util.py1CODE
LOWtests/unit/utils/image_test.py1CODE
LOWtests/unit/_automation/_ai_assist_test.py1CODE
LOWtests/unit/_automation/conftest.py1CODE
LOWtests/unit/_automation/_shape_builders_test.py1CODE
LOWtests/unit/_automation/_text_detection_test.py1CODE
LOWtests/unit/_automation/_suppression_test.py1CODE
LOWtests/unit/_automation/_geometry_test.py1CODE
LOWtests/unit/_config/_writer_test.py1CODE
LOWtests/unit/_config/_schema_test.py1CODE
LOWtests/unit/widgets/label_dialog_characterize_test.py1CODE
LOW…it/widgets/canvas_interaction_characterization_test.py1CODE
LOWtests/unit/widgets/label_list_widget_test.py1CODE
LOWtests/unit/widgets/tool_bar_test.py1CODE
LOWtests/unit/widgets/canvas_test.py1CODE
LOWtests/unit/widgets/zoom_widget_test.py1CODE
LOWtests/unit/widgets/label_dialog_test.py1CODE
LOWtests/unit/widgets/label_dialog_screen_fit_test.py1CODE
LOWtests/unit/widgets/_shape_render_test.py1CODE
LOWtests/unit/widgets/_canvas_interaction_test.py1CODE
LOWtests/unit/widgets/settings_dialog_test.py1CODE
LOWtests/unit/widgets/zoom_widget_extra_test.py8CODE
LOWtests/e2e/smoke_test.py1CODE
LOWtests/e2e/file_loading_test.py1CODE
LOWtests/e2e/conftest.py1CODE
LOWtests/e2e/save_format_contract_test.py1CODE
LOWtests/e2e/navigation_test.py1CODE
LOWtests/e2e/delete_confirmation_test.py1CODE
LOWtests/e2e/annotation_test.py1CODE
LOWtests/e2e/file_operations_test.py1CODE
LOWtests/e2e/settings_test.py1CODE
LOWtests/e2e/last_label_and_restore_test.py1CODE
LOWtests/e2e/auto_save_test.py1CODE
LOWtests/e2e/oriented_rectangle_test.py1CODE
LOWtests/e2e/visibility_test.py1CODE
LOWtests/e2e/file_dialog_actions_test.py1CODE
LOWtests/e2e/drag_and_drop_test.py1CODE
LOWtests/e2e/shape_editing_test.py1CODE
LOWtests/e2e/zoom_test.py1CODE
LOWtests/e2e/label_dialog_flags_test.py1CODE
LOWtests/e2e/label_dialog_validation_test.py1CODE
LOWtests/e2e/canvas_paint_snapshot_test.py1CODE
LOWtests/e2e/status_bar_messages_test.py1CODE
LOWtests/e2e/window_geometry_persistence_test.py1CODE
LOWtests/e2e/canvas_interaction_test.py1CODE
LOWtests/e2e/brightness_contrast_test.py1CODE
LOWtests/e2e/label_list_canvas_selection_test.py1CODE
LOWtests/e2e/unsaved_changes_dialog_test.py1CODE
LOWtests/e2e/config_test.py1CODE
83 more matches not shown…
Cross-Language Confusion6 hits · 32 pts
SeverityFileLineSnippetContext
HIGHtests/unit/utils/qt_test.py281 keys = [s.toString() for s in action.shortcuts()]CODE
HIGHtests/unit/utils/qt_test.py290 keys = [s.toString() for s in action.shortcuts()]CODE
HIGHlabelme/_app.py2221 logger.warning("image is null, cannot paint canvas")STRING
HIGHlabelme/_widgets/_shape_render.py192 if paths.orientation_arrow.length() > 0:CODE
HIGHlabelme/_widgets/_shape_render.py198 if paths.negative_vertices.length() > 0:CODE
HIGHlabelme/_widgets/_shape_render.py214 if path.length() == 0:CODE
Modern Structural Boilerplate31 hits · 27 pts
SeverityFileLineSnippetContext
LOWtests/unit/utils/qt_test.py154def _set_window_text(app: QtWidgets.QApplication, color: QtGui.QColor) -> None:CODE
LOWtests/e2e/settings_test.py20def _set_flag_checked(win: MainWindow, name: str) -> None:CODE
LOWlabelme/_app.py929 def _setup_toolbars(self) -> None:STRING
LOWlabelme/_app.py1321 def update_action_states(self, value: bool = True) -> None:STRING
LOWlabelme/_app.py1942 def set_scroll_value(self, orientation: Qt.Orientation, value: float) -> None:STRING
LOWlabelme/_app.py1947 def _set_zoom(self, value: float, pos: QtCore.QPointF | None = None) -> None:STRING
LOWlabelme/_app.py1978 def _set_zoom_to_original(self) -> None:STRING
LOWlabelme/_app.py1992 def set_fit_window_mode(self, value: bool = True) -> None:STRING
LOWlabelme/_app.py1996 def set_fit_width_mode(self, value: bool = True) -> None:STRING
LOWlabelme/_app.py2253 def set_save_image_with_data(self, enabled: bool) -> None:STRING
LOWlabelme/_app.py2807 def _update_status_stats(self, mouse_pos: QtCore.QPointF) -> None:STRING
LOWlabelme/__main__.py54def _setup_loguru(logger_level: str) -> None:CODE
LOWlabelme/_widgets/label_dialog.py28 def set_list_widget(self, list_widget: QtWidgets.QListWidget) -> None:CODE
LOWlabelme/_widgets/label_dialog.py218 def _update_flags(self, text: str) -> None:CODE
LOWlabelme/_widgets/label_dialog.py237 def set_predefined_labels(self, labels: list[str]) -> None:CODE
LOWlabelme/_widgets/label_dialog.py308 def _set_flag_checkboxes(self, flags: Iterable[tuple[str, bool]]) -> None:CODE
LOWlabelme/_widgets/_ai_assisted_annotation_widget.py119 def set_disabled_models(self, disabled_models: tuple[str, ...]) -> None:CODE
LOWlabelme/_widgets/settings_dialog.py259 def _set_editor_value(self, editor: QtWidgets.QWidget, value: object) -> None:CODE
LOWlabelme/_widgets/label_list_widget.py127 def set_shape(self, shape: Shape | None) -> None:CODE
LOWlabelme/_widgets/canvas.py273 def set_fill_drawing(self, value: bool) -> None:CODE
LOWlabelme/_widgets/canvas.py276 def set_show_labels(self, value: bool) -> None:CODE
LOWlabelme/_widgets/canvas.py279 def set_allow_out_of_bounds_points(self, value: bool) -> None:CODE
LOWlabelme/_widgets/canvas.py287 def set_point_size(self, point_size: int) -> None:CODE
LOWlabelme/_widgets/canvas.py303 def set_draft_palette(self, palette: Palette) -> None:CODE
LOWlabelme/_widgets/canvas.py403 def set_ai_model_name(self, model_name: str) -> None:CODE
LOWlabelme/_widgets/canvas.py406 def set_ai_output_format(self, output_format: _automation.AiOutputFormat) -> None:CODE
LOWlabelme/_widgets/canvas.py467 def set_editing(self, value: bool = True) -> None:CODE
LOWlabelme/_widgets/canvas.py521 def _update_status(self, extra_messages: list[str] | None = None) -> None:CODE
LOWlabelme/_widgets/canvas.py1421 def _setup_world_transform(self, painter: QtGui.QPainter) -> None:CODE
LOWlabelme/_widgets/canvas.py1824 def set_shape_visible(self, shape: Shape, value: bool) -> None:CODE
LOWlabelme/_config/_writer.py77def set_override(config_file: Path, key_path: Sequence[str], value: object) -> None:CODE
Deep Nesting14 hits · 12 pts
SeverityFileLineSnippetContext
LOWlabelme/_app.py2814CODE
LOWlabelme/_app.py1508CODE
LOWlabelme/_app.py2501CODE
LOWlabelme/_utils/shape.py27CODE
LOWlabelme/_utils/image.py63CODE
LOWlabelme/_widgets/_shape_render.py296CODE
LOWlabelme/_widgets/_shape_render.py417CODE
LOWlabelme/_widgets/settings_dialog.py188CODE
LOWlabelme/_widgets/canvas.py686CODE
LOWlabelme/_widgets/canvas.py967CODE
LOWlabelme/_widgets/canvas.py1689CODE
LOWlabelme/_widgets/canvas.py1714CODE
LOWexamples/utils.py74CODE
LOWexamples/instance_segmentation/labelme2coco.py56CODE
Hallucination Indicators1 hit · 5 pts
SeverityFileLineSnippetContext
CRITICALlabelme/_app.py1269 self._canvas_widgets.canvas.context_menus.without_selection.clear()STRING
Excessive Try-Catch Wrapping6 hits · 4 pts
SeverityFileLineSnippetContext
LOWlabelme/_app.py1358 except Exception as e:STRING
LOWlabelme/__main__.py341 except Exception as e:CODE
LOWlabelme/_widgets/download.py64 except Exception as e:CODE
LOWlabelme/_widgets/canvas.py1562 except Exception as e:CODE
LOWlabelme/_widgets/canvas.py1599 except Exception as e:CODE
LOWlabelme/_config/__init__.py128 except Exception:CODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMlabelme/_widgets/canvas.py1180 # a splitter or a test harness).COMMENT
AI Structural Patterns3 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/unit/widgets/label_dialog_characterize_test.py43CODE
LOWlabelme/_utils/qt.py114CODE
LOWlabelme/_widgets/label_dialog.py43CODE
Over-Commented Block1 hit · 0 pts
SeverityFileLineSnippetContext
LOW…it/widgets/canvas_interaction_characterization_test.py401COMMENT