Repository Analysis

wkentaro/labelme

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

22.9 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of wkentaro/labelme, a Python project with 16,134 GitHub stars. SynthScan v2.0 examined 64,907 lines of code across 241 source files, recording 1300 pattern matches distributed across 10 syntactic categories. The overall adjusted score of 22.9 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.9
Adjusted Score
22.9
Raw Score
100%
Time Factor
2026-08-27
Last Push
16.1K
Stars
Python
Language
64.9K
Lines of Code
241
Files
1.3K
Pattern Hits
2026-08-29
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 64LOW 1229

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 1300 distinct pattern matches across 10 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 Identifiers992 hits · 946 pts
SeverityFileLineSnippetContext
LOWtools/artifact_install_smoke.py26def _check_packaged_resources() -> None:CODE
LOWtools/artifact_install_smoke.py43def _check_application_starts() -> None:CODE
LOWtests/conftest.py57def close_failed_download_dialog(CODE
LOWtests/workflow_test.py10def test_test_matrix_covers_every_supported_python_version() -> None:CODE
LOWtests/unit/_app_test.py41def test_resolve_text_annotation_shape_type(CODE
LOWtests/unit/_app_test.py132def test_make_image_too_large_message_explains_allocation_limit(CODE
LOWtests/unit/_app_test.py147def test_make_image_too_large_message_accounts_for_bit_depth(CODE
LOWtests/unit/_app_test.py167def test_make_image_too_large_message_reports_per_side_limit(CODE
LOWtests/unit/_app_test.py197def test_make_image_too_large_message_rounds_the_need_up(CODE
LOWtests/unit/_app_test.py214def test_make_image_too_large_message_is_none_for_undecodable_data(CODE
LOWtests/unit/_app_test.py220def test_make_image_too_large_message_is_none_within_allocation_limit(CODE
LOWtests/unit/_app_test.py299def test_shapes_from_dicts_merges_label_flags(CODE
LOWtests/unit/_app_test.py312def test_shapes_from_dicts_warns_once_per_shape_with_a_non_str_label() -> None:CODE
LOWtests/unit/_app_test.py335def test_shapes_from_dicts_gives_each_shape_its_own_flags() -> None:CODE
LOWtests/unit/_app_test.py349def test_shapes_from_dicts_carries_over_the_shape_fields() -> None:CODE
LOWtests/unit/_app_test.py374def test_shape_to_dict_maps_all_fields() -> None:CODE
LOWtests/unit/_app_test.py411def test_shape_to_dict_coalesces_optional_flags_and_description(CODE
LOWtests/unit/_app_test.py425def test_shape_to_dict_passes_mask_through_unchanged() -> None:CODE
LOWtests/unit/_app_test.py437def test_shape_to_dict_requires_label() -> None:CODE
LOWtests/unit/_app_test.py476def test_resolve_stored_image_path_falls_back_to_absolute(CODE
LOWtests/unit/_app_test.py490def test_resolve_stored_image_path_falls_back_across_real_windows_drives() -> None:CODE
LOWtests/unit/_label_flags_test.py8def test_compile_label_flags_none_is_empty() -> None:CODE
LOWtests/unit/_label_flags_test.py12def test_compile_label_flags_keeps_the_flag_keys_of_a_valid_pattern() -> None:CODE
LOWtests/unit/_label_flags_test.py19def test_compile_label_flags_drops_an_uncompilable_pattern() -> None:CODE
LOWtests/unit/_label_flags_test.py23def test_compile_label_flags_drops_a_non_str_pattern() -> None:CODE
LOWtests/unit/_label_flags_test.py29def test_compile_label_flags_drops_a_bytes_pattern() -> None:CODE
LOWtests/unit/_label_flags_test.py36def test_compile_label_flags_keeps_the_valid_patterns_of_a_mixed_spec() -> None:CODE
LOWtests/unit/_yaml_test.py11def test_safe_load_parses_string_into_nested_structure() -> None:CODE
LOWtests/unit/_yaml_test.py15def test_safe_load_accepts_file_like_stream() -> None:CODE
LOWtests/unit/_yaml_test.py19def test_safe_load_returns_none_for_empty_string() -> None:CODE
LOWtests/unit/_yaml_test.py32def test_safe_load_rejects_unsafe_python_tag(payload: str) -> None:CODE
LOWtests/unit/__main___test.py38def test_removed_flag_errors_as_unknown(CODE
LOWtests/unit/__main___test.py48def test_logger_level_choice_is_a_valid_loguru_level(level: str) -> None:CODE
LOWtests/unit/__main___test.py52def test_logger_level_rejects_fatal(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/unit/__main___test.py60def test_output_rejects_json_file_path_case_insensitively(CODE
LOWtests/unit/__main___test.py120def test_parse_list_arg_splits_comma_separated_value(CODE
LOWtests/unit/__main___test.py126def test_parse_list_arg_reads_and_strips_file_lines(tmp_path: Path) -> None:CODE
LOWtests/unit/__main___test.py133def test_parse_list_arg_splits_value_too_long_to_be_a_path() -> None:CODE
LOWtests/unit/__main___test.py140def test_resolve_config_source_falls_back_to_defaults_on_missing_default_file(CODE
LOWtests/unit/__main___test.py194def test_resolve_config_source_reads_an_explicit_file(tmp_path: Path) -> None:CODE
LOWtests/unit/__main___test.py203def test_resolve_config_source_takes_a_yaml_string_as_overrides(tmp_path: Path) -> None:CODE
LOWtests/unit/__main___test.py210def test_logger_io_forwards_stripped_writes_to_debug() -> None:CODE
LOWtests/unit/__main___test.py25def test_help_uses_console_script_name(CODE
LOWtests/unit/__main___test.py78def test_deprecated_alias_warns_pointing_to_canonical(CODE
LOWtests/unit/__main___test.py98def test_canonical_flag_does_not_warn(CODE
LOWtests/unit/__main___test.py162def test_resolve_config_source_reads_an_existing_default_file(tmp_path: Path) -> None:CODE
LOWtests/unit/__main___test.py171def test_resolve_config_source_exits_on_an_explicit_missing_file(CODE
LOWtests/unit/__main___test.py183def test_resolve_config_source_exits_on_a_value_too_long_to_be_a_path(CODE
LOWtests/unit/__main___test.py226def test_logger_io_is_a_write_only_non_seekable_sink() -> None:CODE
LOWtests/unit/__main___test.py243def test_setup_loguru_degrades_to_stderr_when_the_cache_dir_cannot_be_created(CODE
LOWtests/unit/__main___test.py260def test_setup_loguru_degrades_to_stderr_when_the_home_directory_is_unknown(CODE
LOWtests/unit/__main___test.py278def test_setup_loguru_degrades_to_stderr_when_the_log_file_cannot_be_opened(CODE
LOWtests/unit/__main___test.py303def test_setup_loguru_degrades_to_stderr_without_localappdata(CODE
LOWtests/unit/__main___test.py318def test_route_qt_logging_drops_noise_and_forwards_the_rest() -> None:CODE
LOWtests/unit/read_image_file_test.py24def test_tiff_without_alpha_encoded_as_jpeg(tmp_path: Path) -> None:CODE
LOWtests/unit/read_image_file_test.py30def test_tiff_with_alpha_encoded_as_png(tmp_path: Path) -> None:CODE
LOWtests/unit/read_image_file_test.py36def test_corrupt_tiff_raises_os_error(tmp_path: Path) -> None:CODE
LOWtests/unit/read_image_file_test.py44def test_jpeg_returns_raw_bytes(tmp_path: Path) -> None:CODE
LOWtests/unit/read_image_file_test.py50def test_png_returns_raw_bytes(tmp_path: Path) -> None:CODE
LOWtests/unit/read_image_file_test.py57def test_palette_image_without_alpha_encoded_as_jpeg(tmp_path: Path, ext: str) -> None:CODE
932 more matches not shown…
Decorative Section Separators64 hits · 282 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/utils/qt_test.py86# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py88# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py121# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py123# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py144# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py146# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py229# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py231# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py355# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/utils/qt_test.py357# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py101# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py103# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py136# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py138# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py155# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py157# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py185# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py187# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py223# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py225# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py251# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py253# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py281# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py283# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py334# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py336# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py403# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/_canvas_interaction/canvas_test.py415# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py37# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py39# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py49# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py51# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py66# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py68# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py99# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py101# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py207# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py209# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py267# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py269# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py291# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py293# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py338# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py340# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py357# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py359# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py160# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/unit/widgets/_canvas_interaction/primitives_test.py162# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog/interaction_test.py94# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog/interaction_test.py96# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog/interaction_test.py148# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog/interaction_test.py150# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog/interaction_test.py224# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog/interaction_test.py226# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog/interaction_test.py257# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog/interaction_test.py259# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog/interaction_test.py298# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog/interaction_test.py300# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog/interaction_test.py326# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/widgets/label_dialog/interaction_test.py328# ---------------------------------------------------------------------------COMMENT
4 more matches not shown…
Unused Imports163 hits · 154 pts
SeverityFileLineSnippetContext
LOWtools/artifact_install_smoke.py1CODE
LOWtools/artifact_install_smoke.py7CODE
LOWtests/conftest.py1CODE
LOWtests/unit/_app_test.py1CODE
LOWtests/unit/_label_flags_test.py1CODE
LOWtests/unit/_yaml_test.py1CODE
LOWtests/unit/__main___test.py1CODE
LOWtests/unit/__main___test.py7CODE
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/_shape_color_test.py1CODE
LOWtests/unit/tools/artifact_install_smoke_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/examples/utils_test.py1CODE
LOWtests/unit/_automation/_ai_assist_test.py1CODE
LOWtests/unit/_automation/conftest.py1CODE
LOWtests/unit/_automation/_osam_session_test.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/_config/api_test.py1CODE
LOW…ts/unit/widgets/_ai_assisted_annotation_widget_test.py1CODE
LOWtests/unit/widgets/download_test.py1CODE
LOWtests/unit/widgets/unique_label_qlist_widget_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/_shape_render_test.py1CODE
LOWtests/unit/widgets/settings_dialog_test.py1CODE
LOW…/unit/widgets/brightness_contrast_dialog/alpha_test.py1CODE
LOW…s/unit/widgets/brightness_contrast_dialog/i18n_test.py1CODE
LOWtests/unit/widgets/_canvas_interaction/canvas_test.py1CODE
LOW…ts/unit/widgets/_canvas_interaction/primitives_test.py1CODE
LOWtests/unit/widgets/zoom_widget/value_test.py1CODE
LOWtests/unit/widgets/zoom_widget/presentation_test.py8CODE
LOWtests/unit/widgets/label_dialog/interaction_test.py1CODE
LOWtests/unit/widgets/label_dialog/updates_test.py1CODE
LOWtests/unit/widgets/label_dialog/screen_fit_test.py1CODE
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/save_error_handling_test.py1CODE
LOWtests/e2e/file_list_focus_test.py1CODE
LOWtests/e2e/auto_save_test.py1CODE
103 more matches not shown…
Modern Structural Boilerplate43 hits · 41 pts
SeverityFileLineSnippetContext
LOWtools/update_translate.py13def _setup_logging() -> None:CODE
LOWtests/unit/utils/qt_test.py149def _set_window_text(app: QtWidgets.QApplication, color: QtGui.QColor) -> None:CODE
LOWtests/e2e/settings_test.py25def _set_flag_checked(win: MainWindow, name: str) -> None:CODE
LOWlabelme/_app.py946 def _setup_toolbars(self) -> None:STRING
LOWlabelme/_app.py1351 def update_action_states(self, value: bool = True) -> None:STRING
LOWlabelme/_app.py1999 def set_scroll_value(self, orientation: Qt.Orientation, value: float) -> None:STRING
LOWlabelme/_app.py2016 def _set_zoom(self, value: float, pos: QtCore.QPointF | None = None) -> None:STRING
LOWlabelme/_app.py2046 def _set_zoom_to_original(self) -> None:STRING
LOWlabelme/_app.py2060 def set_fit_window_mode(self, value: bool = True) -> None:STRING
LOWlabelme/_app.py2064 def set_fit_width_mode(self, value: bool = True) -> None:STRING
LOWlabelme/_app.py2633 def _set_point_prompt_mode(self, enabled: bool) -> None:STRING
LOWlabelme/_app.py2649 def _set_setting_value(self, key_path: tuple[str, ...], value: object) -> None:STRING
LOWlabelme/_app.py3088 def _update_status_stats(self, mouse_pos: QtCore.QPointF) -> None:STRING
LOWlabelme/__main__.py47def _setup_loguru(logger_level: str) -> None:CODE
LOWlabelme/_widgets/label_dialog.py27 def set_list_widget(self, list_widget: QtWidgets.QListWidget) -> None:CODE
LOWlabelme/_widgets/label_dialog.py221 def _update_flags(self, text: str) -> None:CODE
LOWlabelme/_widgets/label_dialog.py240 def set_predefined_labels(self, labels: list[str]) -> None:CODE
LOWlabelme/_widgets/label_dialog.py315 def _set_flag_checkboxes(self, flags: dict[str, bool]) -> None:CODE
LOWlabelme/_widgets/_integer_slider.py45 def set_value(self, value: int) -> None:CODE
LOWlabelme/_widgets/_ai_assisted_annotation_widget.py158 def set_current_model(self, model_display: str) -> None:CODE
LOWlabelme/_widgets/_ai_assisted_annotation_widget.py164 def set_polygon_detail(self, detail: int) -> None:CODE
LOWlabelme/_widgets/_ai_assisted_annotation_widget.py168 def set_point_prompt_mode(self, enabled: bool) -> None:CODE
LOWlabelme/_widgets/settings_dialog.py52 def set_rgb(self, rgb: tuple[int, int, int]) -> None:CODE
LOWlabelme/_widgets/settings_dialog.py64 def set_accessible_note(self, note: str) -> None:CODE
LOWlabelme/_widgets/settings_dialog.py68 def _update_accessible_description(self) -> None:CODE
LOWlabelme/_widgets/settings_dialog.py298 def set_value(self, key_path: tuple[str, ...], value: object) -> None:CODE
LOWlabelme/_widgets/settings_dialog.py545 def _set_editor_value(self, editor: QtWidgets.QWidget, value: object) -> None:CODE
LOWlabelme/_widgets/label_list_widget.py115 def set_shape(self, shape: Shape | None) -> None:CODE
LOWlabelme/_widgets/label_list_widget.py118 def set_label(self, text: str, color: tuple[int, int, int]) -> None:CODE
LOWlabelme/_widgets/canvas.py279 def set_fill_drawing(self, value: bool) -> None:CODE
LOWlabelme/_widgets/canvas.py282 def set_show_labels(self, value: bool) -> None:CODE
LOWlabelme/_widgets/canvas.py285 def set_allow_out_of_bounds_points(self, value: bool) -> None:CODE
LOWlabelme/_widgets/canvas.py440 def set_ai_model_name(self, model_name: str) -> None:CODE
LOWlabelme/_widgets/canvas.py446 def set_ai_output_format(self, output_format: _automation.AiOutputFormat) -> None:CODE
LOWlabelme/_widgets/canvas.py452 def set_ai_polygon_detail(self, detail: int) -> None:CODE
LOWlabelme/_widgets/canvas.py458 def set_ai_existing_shape_suppression(self, enabled: bool) -> None:CODE
LOWlabelme/_widgets/canvas.py1802 def _set_ai_existing_shape_highlights(self, *, shapes: list[Shape]) -> None:CODE
LOWlabelme/_widgets/canvas.py323 def set_point_size(self, point_size: int) -> None:CODE
LOWlabelme/_widgets/canvas.py339 def set_draft_palette(self, palette: Palette) -> None:CODE
LOWlabelme/_widgets/canvas.py539 def set_editing(self, value: bool = True) -> None:CODE
LOWlabelme/_widgets/canvas.py596 def _update_status(self, extra_messages: list[str] | None = None) -> None:CODE
LOWlabelme/_widgets/canvas.py1528 def _setup_world_transform(self, painter: QtGui.QPainter) -> None:CODE
LOWlabelme/_widgets/canvas.py2013 def set_shape_visible(self, shape: Shape, value: bool) -> None:CODE
Cross-Language Confusion6 hits · 32 pts
SeverityFileLineSnippetContext
HIGHtests/unit/utils/qt_test.py301 keys = [s.toString() for s in action.shortcuts()]CODE
HIGHtests/unit/utils/qt_test.py310 keys = [s.toString() for s in action.shortcuts()]CODE
HIGHlabelme/_app.py2328 logger.warning("image is null, cannot paint canvas")STRING
HIGHlabelme/_widgets/_shape_render.py197 if paths.orientation_arrow.length() > 0:CODE
HIGHlabelme/_widgets/_shape_render.py203 if paths.negative_vertices.length() > 0:CODE
HIGHlabelme/_widgets/_shape_render.py219 if path.length() == 0:CODE
Deep Nesting18 hits · 16 pts
SeverityFileLineSnippetContext
LOWlabelme/_app.py3095CODE
LOWlabelme/_app.py1536CODE
LOWlabelme/_app.py2708CODE
LOWlabelme/_app.py2954CODE
LOWlabelme/_label_file.py244CODE
LOWlabelme/_utils/shape.py27CODE
LOWlabelme/_utils/image.py73CODE
LOWlabelme/_widgets/_shape_render.py301CODE
LOWlabelme/_widgets/_shape_render.py422CODE
LOWlabelme/_widgets/settings_dialog.py400CODE
LOWlabelme/_widgets/settings_dialog.py545CODE
LOWlabelme/_widgets/canvas.py761CODE
LOWlabelme/_widgets/canvas.py1059CODE
LOWlabelme/_widgets/canvas.py1875CODE
LOWlabelme/_widgets/canvas.py1901CODE
LOWlabelme/_config/_shape_color.py26CODE
LOWexamples/utils.py81CODE
LOWexamples/instance_segmentation/labelme2coco.py56CODE
Excessive Try-Catch Wrapping9 hits · 7 pts
SeverityFileLineSnippetContext
LOWlabelme/_app.py1250 except Exception as e:STRING
LOWlabelme/_app.py1388 except Exception as e:STRING
LOWlabelme/__main__.py76 except Exception as e:CODE
LOWlabelme/__main__.py363 except Exception as e:CODE
LOWlabelme/_label_file.py240 except Exception as e:CODE
LOWlabelme/_widgets/download.py64 except Exception as e:CODE
LOWlabelme/_widgets/canvas.py1697 except Exception as e:CODE
LOWlabelme/_widgets/canvas.py1742 except Exception as e:CODE
LOWlabelme/_config/__init__.py178 except Exception:CODE
Hallucination Indicators1 hit · 5 pts
SeverityFileLineSnippetContext
CRITICALlabelme/_app.py1290 self._canvas_widgets.canvas.context_menus.without_selection.clear()STRING
AI Structural Patterns3 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/unit/widgets/label_dialog/interaction_test.py43CODE
LOWlabelme/_utils/qt.py124CODE
LOWlabelme/_widgets/label_dialog.py42CODE
Over-Commented Block1 hit · 0 pts
SeverityFileLineSnippetContext
LOWtests/unit/widgets/_canvas_interaction/canvas_test.py401COMMENT