We write your reusable computer vision tools. 💜
This report presents the forensic synthetic code analysis of roboflow/supervision, a Python project with 48,000 GitHub stars. SynthScan v2.0 examined 98,237 lines of code across 327 source files, recording 1748 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 29.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).
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 1748 distinct pattern matches across 18 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 | tests/test_public_api.py | 12 | def test_all_symbols_are_importable(symbol_name: str) -> None: | CODE |
| LOW | tests/test_public_api.py | 31 | def test_shipped_imports_are_listed_in_all(symbol_name: str) -> None: | CODE |
| LOW | tests/test_validate_deprecations.py | 99 | def test_validate_public_shims_warn(call: Callable[[], object], version: str) -> None: | CODE |
| LOW | tests/test_validate_deprecations.py | 104 | def test_private_validation_paths_do_not_warn() -> None: | CODE |
| LOW | tests/test_validate_deprecations.py | 124 | def test_import_supervision_stays_silent_about_bytetrack() -> None: | CODE |
| LOW | tests/helpers.py | 597 | def create_predictions_with_class_iou_tests( | CODE |
| LOW⚡ | tests/classification/test_core.py | 95 | def test_from_clip_empty_output_dtypes() -> None: | CODE |
| LOW⚡ | tests/classification/test_core.py | 104 | def test_from_timm_empty_output_dtypes() -> None: | CODE |
| LOW⚡ | tests/classification/test_core.py | 113 | def test_from_timm_softmaxes_logits() -> None: | CODE |
| LOW | tests/classification/test_core.py | 126 | def test_classifications_compare_numpy_fields_by_value() -> None: | CODE |
| LOW | tests/metrics/test_size_bucket_regressions.py | 47 | def test_size_bucket_match_is_not_stolen( | CODE |
| LOW | tests/metrics/test_size_bucket_regressions.py | 76 | def test_small_bucket_mar_returns_zero_without_bucket_targets() -> None: | CODE |
| LOW | tests/metrics/test_size_bucket_regressions.py | 101 | def test_medium_bucket_mar_counts_global_rank_budget() -> None: | CODE |
| LOW | tests/metrics/test_size_bucket_regressions.py | 145 | def test_mask_target_requires_masks(metric_cls, missing_side) -> None: | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 148 | def complex_scenario_predictions(): | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 287 | def two_class_two_image_detections(): | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 327 | def three_class_single_image_detections(): | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 367 | def test_compute_value_error_for_missing_required_fields_after_update( | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 403 | def test_mask_content_preserves_compact_mask() -> None: | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 419 | def test_compute_with_compact_mask_matches_dense() -> None: | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 440 | def test_single_perfect_detection() -> None: | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 456 | def test_recall_per_class_keeps_each_max_detection_cutoff() -> None: | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 483 | def test_empty_inputs_keep_max_detection_axis() -> None: | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 505 | def test_medium_bucket_scores_target_matched_small_prediction() -> None: | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 536 | def test_compute_value_error_for_missing_required_fields(missing_attribute) -> None: | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 570 | def test_complex_integration_scenario( | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 598 | def test_mar_at_k_limits_per_image_not_per_class( | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 655 | def test_three_class_single_image_scenario(three_class_single_image_detections) -> None: | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 702 | def test_dataset_split_integration(yolo_dataset_two_classes) -> None: | CODE |
| LOW | tests/metrics/test_mean_average_recall.py | 784 | def test_greedy_matching_two_valid_pairs(): | CODE |
| LOW | tests/metrics/test_f1_score.py | 13 | def predictions_multiple_classes(self): | CODE |
| LOW⚡ | tests/metrics/test_f1_score.py | 40 | def test_initialization_default(self): | CODE |
| LOW⚡ | tests/metrics/test_f1_score.py | 48 | def test_initialization_custom(self): | CODE |
| LOW⚡ | tests/metrics/test_f1_score.py | 57 | def test_mask_content_preserves_compact_mask(self) -> None: | CODE |
| LOW | tests/metrics/test_f1_score.py | 72 | def test_compute_with_compact_mask_matches_dense(self) -> None: | CODE |
| LOW | tests/metrics/test_f1_score.py | 163 | def test_medium_bucket_scores_target_matched_small_prediction(self) -> None: | CODE |
| LOW | tests/metrics/test_f1_score.py | 180 | def test_false_positives_on_background_image_counted(self): | CODE |
| LOW | tests/metrics/test_f1_score.py | 223 | def test_false_positives_of_absent_class_counted(self, method, expected): | CODE |
| LOW | tests/metrics/test_f1_score.py | 246 | def test_false_positives_on_background_image_weighted_returns_zero(self): | CODE |
| LOW | tests/metrics/test_f1_score.py | 260 | def test_single_class_mixed_results( | CODE |
| LOW | tests/metrics/test_f1_score.py | 275 | def test_precision_recall_imbalance( | CODE |
| LOW | tests/metrics/test_f1_score.py | 308 | def test_different_iou_thresholds(self, predictions_iou_064, targets_iou_064): | CODE |
| LOW | tests/metrics/test_f1_score.py | 344 | def test_mismatched_list_lengths(self, detections_50_50, targets_50_50): | CODE |
| LOW | tests/metrics/test_f1_score.py | 356 | def test_compute_value_error_for_missing_required_fields( | CODE |
| LOW | tests/metrics/test_f1_score.py | 443 | def test_greedy_matching_two_valid_pairs(self): | CODE |
| LOW | tests/metrics/test_lazy_imports.py | 50 | def test_metrics_package_import_keeps_pyplot_lazy() -> None: | CODE |
| LOW | tests/metrics/test_lazy_imports.py | 60 | def test_precision_plot_imports_pyplot_on_demand(monkeypatch) -> None: | CODE |
| LOW | tests/metrics/conftest.py | 65 | def predictions_multiple_classes(): | CODE |
| LOW | tests/metrics/conftest.py | 112 | def predictions_confidence_ranking(): | CODE |
| LOW | tests/metrics/test_mean_average_precision.py | 38 | def test_single_perfect_detection(self, detections_50_50, targets_50_50): | CODE |
| LOW | tests/metrics/test_mean_average_precision.py | 47 | def test_multiple_perfect_detections(self): | CODE |
| LOW | tests/metrics/test_mean_average_precision.py | 66 | def test_perfect_non_square_oriented_boxes_get_full_map(self): | CODE |
| LOW | tests/metrics/test_mean_average_precision.py | 92 | def test_batch_updates_perfect_detections(self, detections_50_50, targets_50_50): | CODE |
| LOW | tests/metrics/test_mean_average_precision.py | 312 | def test_mixed_classes_with_missing_detections( | CODE |
| LOW | tests/metrics/test_mean_average_precision.py | 342 | def test_empty_predictions_and_targets(self): | CODE |
| LOW | tests/metrics/test_mean_average_precision.py | 393 | def test_mask_pixel_count_drives_size_buckets(self) -> None: | CODE |
| LOW | tests/metrics/test_mean_average_precision.py | 416 | def test_boxes_target_ignores_masks(self) -> None: | CODE |
| LOW | tests/metrics/test_mean_average_precision.py | 462 | def test_missing_oriented_boxes_raise(self) -> None: | CODE |
| LOW | tests/metrics/test_mean_average_precision.py | 478 | def test_cross_matched_obb_orients_iou_correctly(self) -> None: | CODE |
| LOW | tests/metrics/test_mean_average_precision.py | 510 | def test_crowd_gt_ignores_contained_detection(self) -> None: | CODE |
| 1024 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/helpers.py | 46 | Create a Detections object from list-based inputs. This is a helper function primarily used for testing purpos | STRING |
| HIGH | tests/helpers.py | 106 | Create a KeyPoints object from list-based inputs. This is a helper function primarily used for testing purpose | STRING |
| HIGH | tests/helpers.py | 170 | Generate random bounding boxes within given image dimensions and size constraints. Creates `count` bounding bo | STRING |
| HIGH | tests/helpers.py | 387 | Create a synthetic YOLO-format dataset on disk. Generates dummy images with YOLO-format annotations, `data.yam | STRING |
| HIGH | tests/geometry/test_utils.py | 9 | Generate a semicircle with a given number of points. Parameters: n (int): amount of points in polyg | STRING |
| HIGH | src/supervision/metrics/detection.py | 68 | Convert Supervision Detections to a numpy tensor for metric computation. Args: detections: Detections/ | STRING |
| HIGH | src/supervision/metrics/detection.py | 443 | Render detections onto a copy of ``scene`` with a title overlay. Args: scene: Source image panel (not mutat | STRING |
| HIGH | src/supervision/metrics/detection.py | 689 | Calculate confusion matrix based on predicted and ground-truth detections. Args: targets: | STRING |
| HIGH | src/supervision/metrics/detection.py | 773 | Calculate confusion matrix based on predicted and ground-truth detections. Args: predictio | STRING |
| HIGH | src/supervision/metrics/detection.py | 1283 | Calculate mean average precision based on predicted and ground-truth detections. Args: tar | STRING |
| HIGH | src/supervision/metrics/detection.py | 1383 | Calculate Mean Average Precision based on predicted and ground-truth detections at different thresh | STRING |
| HIGH | src/supervision/key_points/core.py | 386 | Create a `sv.KeyPoints` object from the [Roboflow](https://roboflow.com/) API inference result or the [ | STRING |
| HIGH | src/supervision/key_points/core.py | 470 | Creates a `sv.KeyPoints` instance from a [MediaPipe](https://github.com/google-ai-edge/mediapipe) | STRING |
| HIGH | src/supervision/key_points/core.py | 600 | Creates a `sv.KeyPoints` instance from a [YOLOv8](https://github.com/ultralytics/ultralytics) pose infe | STRING |
| HIGH | src/supervision/key_points/core.py | 637 | Create a `sv.KeyPoints` instance from a [YOLO-NAS](https://github.com/Deci-AI/super-gradients/blob/master/YOLON | STRING |
| HIGH | src/supervision/key_points/core.py | 695 | Create a `sv.KeyPoints` object from the [Detectron2](https://github.com/facebookresearch/detectron2) in | STRING |
| HIGH | src/supervision/key_points/core.py | 746 | Create a `sv.KeyPoints` object from the [Transformers](https://github.com/huggingface/transformers) inf | STRING |
| HIGH | src/supervision/key_points/core.py | 830 | Filter keypoints using a 2D boolean mask of shape `(n, m)`. This method selects the **same set of keypoints fro | STRING |
| HIGH | src/supervision/key_points/core.py | 1063 | Get a subset of the KeyPoints object or access an item from its data field. Supports detection-level ( | STRING |
| HIGH | src/supervision/key_points/core.py | 1179 | Merge a list of KeyPoints objects into a single KeyPoints object. This method takes a list of KeyPoint | STRING |
| HIGH | src/supervision/key_points/core.py | 1300 | Performs non-max suppression on the keypoint detections. Bounding boxes are derived from valid keypoint | STRING |
| HIGH | src/supervision/key_points/core.py | 1385 | Convert a KeyPoints object to a Detections object. This approximates the bounding box of the detected o | STRING |
| HIGH | src/supervision/key_points/annotators.py | 62 | Annotates the given scene with skeleton vertices based on the provided key points. It draws circles at | STRING |
| HIGH | src/supervision/key_points/annotators.py | 154 | Annotates the given scene by drawing lines between specified key points to form edges. Edges where eith | STRING |
| HIGH | src/supervision/key_points/annotators.py | 420 | Draws filled semi-transparent covariance ellipses around each keypoint. Args: scene: The i | STRING |
| HIGH | src/supervision/key_points/annotators.py | 520 | Draws stroke-only covariance ellipse outlines around each keypoint. Args: scene: The image | STRING |
| HIGH | src/supervision/key_points/annotators.py | 624 | Draws radially-fading covariance ellipses around each keypoint. Args: scene: The image to | STRING |
| HIGH | src/supervision/key_points/annotators.py | 766 | Draws labels at skeleton vertex positions on the image. Vertices marked not visible via ``key_points.vi | STRING |
| HIGH | src/supervision/dataset/core.py | 211 | Splits the dataset into two parts (training and testing) using the provided split_ratio. The input | STRING |
| HIGH | src/supervision/dataset/core.py | 279 | Merge a list of `DetectionDataset` objects into a single `DetectionDataset` object. This m | STRING |
| HIGH | src/supervision/dataset/core.py | 459 | Creates a Dataset instance from PASCAL VOC formatted data. Args: images_directory_path: Pa | STRING |
| HIGH | src/supervision/dataset/core.py | 519 | Creates a Dataset instance from YOLO formatted data. Args: images_directory_path: The path | STRING |
| HIGH | src/supervision/dataset/core.py | 681 | Creates a Dataset instance from LabelMe formatted data. LabelMe stores one JSON file per image, each c | STRING |
| HIGH | src/supervision/dataset/core.py | 784 | Creates a Dataset instance from CreateML formatted data. CreateML stores object-detection annotations | STRING |
| HIGH | src/supervision/dataset/core.py | 838 | Exports the dataset to CreateML format. This method saves the images and their corresponding annotation | STRING |
| HIGH | src/supervision/dataset/core.py | 885 | Creates a Dataset instance from COCO formatted data. Args: images_directory_path: The path | STRING |
| HIGH | src/supervision/dataset/core.py | 1142 | Splits the dataset into two parts (training and testing) using the provided split_ratio. A | STRING |
| HIGH | src/supervision/dataset/core.py | 1245 | Load data from a multiclass folder structure into a ClassificationDataset. Args: root_dire | STRING |
| HIGH | src/supervision/dataset/utils.py | 148 | Raise if two image paths would be written to the same output file. Dataset image paths may share a basename when th | STRING |
| HIGH | src/supervision/dataset/utils.py | 238 | Splits the data into two parts using the provided train_ratio. Args: data: The data to split. | STRING |
| HIGH | src/supervision/dataset/formats/coco.py | 53 | Convert a list of class names to COCO ``categories`` entries. Category ids are emitted 1-indexed to comply with the | STRING |
| HIGH | src/supervision/dataset/formats/coco.py | 245 | Convert `Detections` to COCO ``annotations`` entries. The internal 0-indexed ``Detections.class_id`` is serialized | STRING |
| HIGH | src/supervision/dataset/formats/coco.py | 387 | Generates a mapping from sequential class indices to original COCO class ids. This function is essential when | STRING |
| HIGH | src/supervision/dataset/formats/coco.py | 461 | Load COCO annotations and convert them to `Detections`. If `force_masks` is `False`, masks are still loaded fo | STRING |
| HIGH | src/supervision/dataset/formats/coco.py | 590 | Save a DetectionDataset to a COCO-format ``annotations.json`` file. Args: dataset: The DetectionDataset to | STRING |
| HIGH | src/supervision/dataset/formats/labelme.py | 67 | Convert a single image's LabelMe shapes into ``Detections``. Only ``rectangle`` and ``polygon`` shapes are imported | STRING |
| HIGH | src/supervision/dataset/formats/labelme.py | 172 | Load LabelMe annotations and convert them to ``Detections``. LabelMe stores one JSON file per image, each containin | STRING |
| HIGH | src/supervision/dataset/formats/labelme.py | 304 | Convert ``Detections`` into a list of LabelMe shape dicts. Masked detections are exported as ``polygon`` shapes (on | STRING |
| HIGH | src/supervision/dataset/formats/labelme.py | 360 | Export a ``DetectionDataset`` to per-image LabelMe ``.json`` files. Args: dataset: The ``DetectionDataset`` | STRING |
| HIGH | src/supervision/dataset/formats/yolo.py | 78 | Return class names from a YOLO data.yaml file ordered by class index. Supports list and dict forms of the ``names`` | STRING |
| HIGH | src/supervision/dataset/formats/yolo.py | 316 | Convert detections to YOLO annotation lines. Args: detections: The detections to serialize. Each detection | STRING |
| HIGH | src/supervision/dataset/formats/pascal_voc.py | 30 | Build a Pascal VOC ``<object>`` XML element for one detection. Coordinates are converted to 1-indexed Pascal VOC co | STRING |
| HIGH | src/supervision/dataset/formats/pascal_voc.py | 390 | Write Pascal VOC XML annotation files for every image in *dataset*. Args: dataset: Dataset whose annotation | STRING |
| HIGH | src/supervision/dataset/formats/createml.py | 60 | Convert a single image's CreateML annotations into ``Detections``. CreateML stores each box as a pixel-space centre | STRING |
| HIGH | src/supervision/dataset/formats/createml.py | 135 | Load CreateML object-detection annotations and convert them to ``Detections``. CreateML uses a single JSON file con | STRING |
| HIGH | src/supervision/dataset/formats/createml.py | 225 | Convert ``Detections`` into a list of CreateML annotation dicts. Each bounding box is stored as a pixel-space centr | STRING |
| HIGH | src/supervision/dataset/formats/createml.py | 286 | Export a ``DetectionDataset`` to a CreateML object-detection JSON file. Only the filename component of each image p | STRING |
| HIGH | src/supervision/annotators/core.py | 228 | Annotates the given scene with bounding boxes based on the provided detections. Args: scen | STRING |
| HIGH | src/supervision/annotators/core.py | 531 | Annotates the given scene with masks based on the provided detections. Args: scene: The im | STRING |
| HIGH | src/supervision/annotators/core.py | 640 | Annotates the given scene with polygons based on the provided detections. Args: scene: The | STRING |
| 131 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/dataset/test_core.py | 709 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dataset/test_core.py | 711 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dataset/test_core.py | 634 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dataset/test_core.py | 636 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dataset/test_progress.py | 169 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/dataset/test_progress.py | 171 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dataset/test_progress.py | 110 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dataset/test_progress.py | 112 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dataset/test_progress.py | 133 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/dataset/test_progress.py | 135 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/draw/test_utils.py | 148 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/draw/test_utils.py | 150 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/draw/test_utils.py | 181 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/draw/test_utils.py | 183 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/draw/test_utils.py | 213 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/draw/test_utils.py | 215 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/draw/test_utils.py | 245 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/draw/test_utils.py | 247 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/draw/test_utils.py | 275 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/draw/test_utils.py | 277 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 201 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 203 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 313 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 315 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 373 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 375 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 434 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 436 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 480 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 482 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 537 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 539 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 602 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 604 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 709 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 711 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 755 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/test_from_adapters.py | 757 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/detection/test_compact_mask_iou.py | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/detection/test_compact_mask_iou.py | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/detection/test_compact_mask_iou.py | 383 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/detection/test_compact_mask_iou.py | 385 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/detection/test_compact_mask.py | 1092 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/detection/test_compact_mask.py | 1094 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/tools/test_transformers.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/tools/test_transformers.py | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/tools/test_transformers.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/tools/test_transformers.py | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/tools/test_transformers.py | 148 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/tools/test_transformers.py | 150 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/tools/test_transformers.py | 202 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/tools/test_transformers.py | 204 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/tools/test_transformers.py | 310 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/tools/test_transformers.py | 312 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/tools/test_transformers.py | 356 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/detection/tools/test_transformers.py | 358 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/detection/tools/test_transformers.py | 65 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/detection/tools/test_transformers.py | 67 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/detection/tools/test_transformers.py | 109 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/detection/tools/test_transformers.py | 111 | # --------------------------------------------------------------------------- | COMMENT |
| 58 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/metrics/test_mean_average_recall.py | 0 | test compute raises valueerror when required fields are missing. | STRING |
| HIGH | tests/metrics/test_f1_score.py | 0 | test compute raises valueerror when required fields are missing. | STRING |
| HIGH | tests/metrics/test_precision.py | 0 | test compute raises valueerror when required fields are missing. | STRING |
| HIGH | tests/metrics/test_recall.py | 0 | test compute raises valueerror when required fields are missing. | STRING |
| HIGH | tests/metrics/test_f1_score.py | 0 | test that mismatched prediction/target list lengths raise error | STRING |
| HIGH | tests/metrics/test_precision.py | 0 | test that mismatched prediction/target list lengths raise error | STRING |
| HIGH | tests/metrics/test_recall.py | 0 | test that mismatched prediction/target list lengths raise error | STRING |
| HIGH | tests/metrics/test_f1_score.py | 0 | greedy matching finds both tps; np.unique style missed the second pair. iou matrix: [[1.0, 0.667], [0.333, 0.538]]. at i | STRING |
| HIGH | tests/metrics/test_precision.py | 0 | greedy matching finds both tps; np.unique style missed the second pair. iou matrix: [[1.0, 0.667], [0.333, 0.538]]. at i | STRING |
| HIGH | tests/metrics/test_recall.py | 0 | greedy matching finds both tps; np.unique style missed the second pair. iou matrix: [[1.0, 0.667], [0.333, 0.538]]. at i | STRING |
| HIGH | examples/time_in_zone/rfdetr_file_example.py | 0 | calculating detections dwell time in zones, using rtsp stream. args: rtsp_url: complete rtsp url for the video stream zo | STRING |
| HIGH | examples/time_in_zone/rfdetr_stream_example.py | 0 | calculating detections dwell time in zones, using rtsp stream. args: rtsp_url: complete rtsp url for the video stream zo | STRING |
| HIGH | examples/time_in_zone/rfdetr_naive_stream_example.py | 0 | calculating detections dwell time in zones, using rtsp stream. args: rtsp_url: complete rtsp url for the video stream zo | STRING |
| HIGH | examples/time_in_zone/utils/general.py | 0 | load polygon zone configurations from a json file. this function reads a json file which contains polygon coordinates, a | STRING |
| HIGH | examples/count_people_in_zone/ultralytics_example.py | 0 | load polygon zone configurations from a json file. this function reads a json file which contains polygon coordinates, a | STRING |
| HIGH | examples/count_people_in_zone/inference_example.py | 0 | load polygon zone configurations from a json file. this function reads a json file which contains polygon coordinates, a | STRING |
| HIGH | src/supervision/metrics/recall.py | 0 | reset the metric to its initial state, clearing all stored data. | STRING |
| HIGH | src/supervision/metrics/mean_average_recall.py | 0 | reset the metric to its initial state, clearing all stored data. | STRING |
| HIGH | src/supervision/metrics/f1_score.py | 0 | reset the metric to its initial state, clearing all stored data. | STRING |
| HIGH | src/supervision/metrics/precision.py | 0 | reset the metric to its initial state, clearing all stored data. | STRING |
| HIGH | src/supervision/metrics/mean_average_precision.py | 0 | reset the metric to its initial state, clearing all stored data. | STRING |
| HIGH | src/supervision/metrics/recall.py | 0 | add new predictions and targets to the metric, but do not compute the result. args: predictions: the predicted detection | STRING |
| HIGH | src/supervision/metrics/mean_average_recall.py | 0 | add new predictions and targets to the metric, but do not compute the result. args: predictions: the predicted detection | STRING |
| HIGH | src/supervision/metrics/f1_score.py | 0 | add new predictions and targets to the metric, but do not compute the result. args: predictions: the predicted detection | STRING |
| HIGH | src/supervision/metrics/precision.py | 0 | add new predictions and targets to the metric, but do not compute the result. args: predictions: the predicted detection | STRING |
| HIGH | src/supervision/metrics/mean_average_precision.py | 0 | add new predictions and targets to the metric, but do not compute the result. args: predictions: the predicted detection | STRING |
| HIGH | src/supervision/metrics/recall.py | 0 | compute the confusion matrix for each class and iou threshold. assumes the matches and prediction_class_ids are sorted b | STRING |
| HIGH | src/supervision/metrics/f1_score.py | 0 | compute the confusion matrix for each class and iou threshold. assumes the matches and prediction_class_ids are sorted b | STRING |
| HIGH | src/supervision/metrics/precision.py | 0 | compute the confusion matrix for each class and iou threshold. assumes the matches and prediction_class_ids are sorted b | STRING |
| HIGH | src/supervision/metrics/recall.py | 0 | broadcastable function, computing the precision from the confusion matrix. args: confusion_matrix: shape (n, ..., 3), wh | STRING |
| HIGH | src/supervision/metrics/mean_average_recall.py | 0 | broadcastable function, computing the precision from the confusion matrix. args: confusion_matrix: shape (n, ..., 3), wh | STRING |
| HIGH | src/supervision/metrics/f1_score.py | 0 | broadcastable function, computing the precision from the confusion matrix. args: confusion_matrix: shape (n, ..., 3), wh | STRING |
| HIGH | src/supervision/metrics/precision.py | 0 | broadcastable function, computing the precision from the confusion matrix. args: confusion_matrix: shape (n, ..., 3), wh | STRING |
| HIGH | src/supervision/metrics/recall.py | 0 | return boxes, masks or oriented bounding boxes from detections. for the mask target this may return a :class:`~supervisi | STRING |
| HIGH | src/supervision/metrics/mean_average_recall.py | 0 | return boxes, masks or oriented bounding boxes from detections. for the mask target this may return a :class:`~supervisi | STRING |
| HIGH | src/supervision/metrics/f1_score.py | 0 | return boxes, masks or oriented bounding boxes from detections. for the mask target this may return a :class:`~supervisi | STRING |
| HIGH | src/supervision/metrics/recall.py | 0 | return a copy of detections with contents filtered by object size. | STRING |
| HIGH | src/supervision/metrics/mean_average_recall.py | 0 | return a copy of detections with contents filtered by object size. | STRING |
| HIGH | src/supervision/metrics/f1_score.py | 0 | return a copy of detections with contents filtered by object size. | STRING |
| HIGH | src/supervision/metrics/precision.py | 0 | return a copy of detections with contents filtered by object size. | STRING |
| HIGH | src/supervision/metrics/recall.py | 0 | filter predictions and targets by object size category. | STRING |
| HIGH | src/supervision/metrics/f1_score.py | 0 | filter predictions and targets by object size category. | STRING |
| HIGH | src/supervision/metrics/precision.py | 0 | filter predictions and targets by object size category. | STRING |
| HIGH | src/supervision/metrics/recall.py | 0 | convert the result to a pandas dataframe. returns: the result as a dataframe. | STRING |
| HIGH | src/supervision/metrics/mean_average_recall.py | 0 | convert the result to a pandas dataframe. returns: the result as a dataframe. | STRING |
| HIGH | src/supervision/metrics/f1_score.py | 0 | convert the result to a pandas dataframe. returns: the result as a dataframe. | STRING |
| HIGH | src/supervision/metrics/precision.py | 0 | convert the result to a pandas dataframe. returns: the result as a dataframe. | STRING |
| HIGH | src/supervision/metrics/mean_average_precision.py | 0 | convert the result to a pandas dataframe. returns: the result as a dataframe. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/helpers.py | 9 | CODE | |
| LOW | tests/classification/test_core.py | 1 | CODE | |
| LOW | tests/metrics/test_lazy_imports.py | 3 | CODE | |
| LOW | tests/metrics/test_core.py | 3 | CODE | |
| LOW | tests/metrics/utils/test_utils.py | 3 | CODE | |
| LOW | tests/metrics/utils/test_object_size.py | 3 | CODE | |
| LOW | tests/metrics/utils/test_matching.py | 3 | CODE | |
| LOW | tests/detection/tools/test_transformers.py | 3 | CODE | |
| LOW | tests/detection/utils/test_iou_and_nms.py | 1 | CODE | |
| LOW | examples/time_in_zone/rfdetr_file_example.py | 1 | CODE | |
| LOW | examples/time_in_zone/rfdetr_stream_example.py | 1 | CODE | |
| LOW | examples/time_in_zone/rfdetr_naive_stream_example.py | 1 | CODE | |
| LOW | examples/compact_mask/bench_inference_api.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 10 | CODE | |
| LOW | src/supervision/__init__.py | 35 | CODE | |
| LOW | src/supervision/__init__.py | 35 | CODE | |
| LOW | src/supervision/__init__.py | 35 | CODE | |
| LOW | src/supervision/__init__.py | 35 | CODE | |
| LOW | src/supervision/__init__.py | 41 | CODE | |
| LOW | src/supervision/__init__.py | 42 | CODE | |
| LOW | src/supervision/__init__.py | 42 | CODE | |
| LOW | src/supervision/__init__.py | 42 | CODE | |
| LOW | src/supervision/__init__.py | 47 | CODE | |
| LOW | src/supervision/__init__.py | 48 | CODE | |
| LOW | src/supervision/__init__.py | 49 | CODE | |
| LOW | src/supervision/__init__.py | 50 | CODE | |
| LOW | src/supervision/__init__.py | 50 | CODE | |
| LOW | src/supervision/__init__.py | 50 | CODE | |
| LOW | src/supervision/__init__.py | 55 | CODE | |
| LOW | src/supervision/__init__.py | 56 | CODE | |
| LOW | src/supervision/__init__.py | 56 | CODE | |
| LOW | src/supervision/__init__.py | 60 | CODE | |
| LOW | src/supervision/__init__.py | 61 | CODE | |
| LOW | src/supervision/__init__.py | 61 | CODE | |
| LOW | src/supervision/__init__.py | 62 | CODE | |
| LOW | src/supervision/__init__.py | 63 | CODE | |
| LOW | src/supervision/__init__.py | 63 | CODE | |
| LOW | src/supervision/__init__.py | 63 | CODE | |
| 142 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/annotators/test_docs.py | 38 | CODE | |
| LOW | examples/time_in_zone/scripts/draw_zones.py | 128 | CODE | |
| LOW | examples/speed_estimation/ultralytics_example.py | 39 | CODE | |
| LOW | examples/speed_estimation/yolo_nas_example.py | 40 | CODE | |
| LOW | examples/speed_estimation/inference_example.py | 40 | CODE | |
| LOW | src/supervision/metrics/detection.py | 1041 | CODE | |
| LOW | src/supervision/metrics/detection.py | 1148 | CODE | |
| LOW | src/supervision/metrics/recall.py | 150 | CODE | |
| LOW | src/supervision/metrics/recall.py | 316 | CODE | |
| LOW | src/supervision/metrics/mean_average_recall.py | 386 | CODE | |
| LOW | src/supervision/metrics/f1_score.py | 147 | CODE | |
| LOW | src/supervision/metrics/f1_score.py | 353 | CODE | |
| LOW | src/supervision/metrics/precision.py | 149 | CODE | |
| LOW | src/supervision/metrics/precision.py | 349 | CODE | |
| LOW | src/supervision/metrics/mean_average_precision.py | 506 | CODE | |
| LOW | src/supervision/metrics/mean_average_precision.py | 822 | CODE | |
| LOW | src/supervision/metrics/mean_average_precision.py | 947 | CODE | |
| LOW | src/supervision/metrics/mean_average_precision.py | 1500 | CODE | |
| LOW | src/supervision/metrics/mean_average_precision.py | 1579 | CODE | |
| LOW | src/supervision/key_points/core.py | 467 | CODE | |
| LOW | src/supervision/key_points/core.py | 945 | CODE | |
| LOW | src/supervision/key_points/annotators.py | 153 | CODE | |
| LOW | src/supervision/key_points/annotators.py | 343 | CODE | |
| LOW | src/supervision/key_points/annotators.py | 760 | CODE | |
| LOW | src/supervision/dataset/formats/coco.py | 158 | CODE | |
| LOW | src/supervision/dataset/formats/coco.py | 237 | CODE | |
| LOW | src/supervision/dataset/formats/yolo.py | 145 | CODE | |
| LOW | src/supervision/annotators/core.py | 2188 | CODE | |
| LOW | src/supervision/annotators/core.py | 2939 | CODE | |
| LOW | src/supervision/annotators/core.py | 3136 | CODE | |
| LOW | src/supervision/annotators/utils.py | 38 | CODE | |
| LOW | src/supervision/annotators/utils.py | 78 | CODE | |
| LOW | src/supervision/utils/file.py | 20 | CODE | |
| LOW | src/supervision/utils/video.py | 248 | CODE | |
| LOW | src/supervision/utils/video.py | 306 | CODE | |
| LOW | src/supervision/validators/__init__.py | 191 | CODE | |
| LOW | src/supervision/detection/line_zone.py | 807 | CODE | |
| LOW | src/supervision/detection/compact_mask.py | 59 | CODE | |
| LOW | src/supervision/detection/compact_mask.py | 254 | CODE | |
| LOW | src/supervision/detection/core.py | 856 | CODE | |
| LOW | src/supervision/detection/core.py | 2493 | CODE | |
| LOW | src/supervision/detection/vlm.py | 692 | CODE | |
| LOW | src/supervision/detection/tools/inference_slicer.py | 309 | CODE | |
| LOW | src/supervision/detection/tools/inference_slicer.py | 474 | CODE | |
| LOW | src/supervision/detection/tools/inference_slicer.py | 554 | CODE | |
| LOW | src/supervision/detection/utils/internal.py | 166 | CODE | |
| LOW | src/supervision/detection/utils/internal.py | 285 | CODE | |
| LOW | src/supervision/detection/utils/internal.py | 532 | CODE | |
| LOW | src/supervision/detection/utils/internal.py | 593 | CODE | |
| LOW | src/supervision/detection/utils/internal.py | 647 | CODE | |
| LOW | src/supervision/detection/utils/iou_and_nms.py | 449 | CODE | |
| LOW | src/supervision/detection/utils/iou_and_nms.py | 1390 | CODE | |
| LOW | src/supervision/detection/utils/iou_and_nms.py | 1514 | CODE | |
| LOW | src/supervision/detection/utils/masks.py | 330 | CODE | |
| LOW | src/supervision/detection/utils/converters.py | 290 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/detection/test_compact_mask_iou.py | 193 | # Ensure no all-false mask (diagonal would be undefined). | COMMENT |
| HIGH | src/supervision/metrics/recall.py | 353 | # undefined, so report 0 as the empty case did before. | COMMENT |
| HIGH | src/supervision/metrics/f1_score.py | 403 | # undefined, so report 0 as the empty case did before. | COMMENT |
| HIGH | src/supervision/metrics/precision.py | 399 | # undefined, so report 0 as the empty case did before. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/how_to/benchmark_a_model.md | 53 | rf = Roboflow(api_key="<YOUR_API_KEY>") | CODE |
| HIGH | docs/how_to/benchmark_a_model.md | 53 | rf = Roboflow(api_key="<YOUR_API_KEY>") | CODE |
| HIGH | docs/how_to/benchmark_a_model.md | 67 | rf = Roboflow(api_key="<YOUR_API_KEY>") | CODE |
| HIGH | docs/how_to/benchmark_a_model.md | 67 | rf = Roboflow(api_key="<YOUR_API_KEY>") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/supervision/metrics/mean_average_precision.py | 516 | # Create an empty EvaluationDataset object for the predictions | COMMENT |
| MEDIUM | src/supervision/metrics/mean_average_precision.py | 1657 | # Create a coco object with the targets | COMMENT |
| MEDIUM | src/supervision/metrics/mean_average_precision.py | 1661 | # Create a coco evaluator with the predictions | COMMENT |
| MEDIUM | src/supervision/metrics/mean_average_precision.py | 1707 | # Create the final MeanAveragePrecisionResult object | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/heatmap_and_track/script.py | 13 | CODE | |
| LOW | src/supervision/dataset/core.py | 576 | CODE | |
| LOW | src/supervision/dataset/core.py | 933 | CODE | |
| LOW | src/supervision/annotators/core.py | 108 | CODE | |
| LOW | src/supervision/annotators/core.py | 1318 | CODE | |
| LOW | src/supervision/annotators/core.py | 1669 | CODE | |
| LOW | src/supervision/annotators/core.py | 3285 | CODE | |
| LOW | src/supervision/utils/image.py | 633 | CODE | |
| LOW | src/supervision/detection/line_zone.py | 356 | CODE | |
| LOW | src/supervision/detection/line_zone.py | 752 | CODE | |
| LOW | src/supervision/detection/tools/inference_slicer.py | 262 | CODE | |
| LOW | src/supervision/detection/tools/polygon_zone.py | 143 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/supervision/__init__.py | 165 | __all__ = [ | CODE |
| LOW | src/supervision/metrics/__init__.py | 23 | __all__ = [ | CODE |
| LOW | src/supervision/key_points/core.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/supervision/dataset/utils.py | 3 | __all__ = ["check_no_basename_collisions", "train_test_split"] | CODE |
| LOW | src/supervision/dataset/formats/labelme.py | 31 | __all__ = [ | CODE |
| LOW | src/supervision/tracker/__init__.py | 5 | __all__ = ["ByteTrack"] | CODE |
| LOW | src/supervision/assets/__init__.py | 4 | __all__ = ["ImageAssets", "VideoAssets", "download_assets"] | CODE |
| LOW | src/supervision/detection/line_zone.py | 325 | def _update_class_id_to_name(self, detections: Detections) -> None: | CODE |
| LOW | src/supervision/detection/utils/internal.py | 15 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/llms.txt | 112 | - Zero-shot object detection with YOLO-World: https://supervision.roboflow.com/latest/cookbooks/#zero-shot-object-detect | CODE |
| MEDIUM | docs/llms.full.txt | 121 | - Zero-shot object detection with YOLO-World: https://supervision.roboflow.com/latest/cookbooks/#zero-shot-object-detect | CODE |
| MEDIUM⚡ | examples/compact_mask/benchmark.py | 622 | # Scenario runner — orchestrates stages | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/traffic_analysis/setup.sh | 6 | # Check if 'data' directory does not exist and then create it | COMMENT |
| LOW | examples/count_people_in_zone/setup.sh | 6 | # Check if 'data' directory does not exist and then create it | COMMENT |
| LOW | src/supervision/metrics/mean_average_precision.py | 536 | # Check if the predictions contain any unsupported keys | COMMENT |
| LOW | src/supervision/metrics/mean_average_precision.py | 1085 | # Set recall to either the final recall value or 0 (when there | COMMENT |
| LOW | src/supervision/detection/compact_mask.py | 162 | # Check if last run has same parity (True/False) as current chunk. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/supervision/utils/video.py | 215 | except Exception as exc: | CODE |
| LOW | src/supervision/utils/video.py | 440 | except Exception as exc: | CODE |
| LOW | src/supervision/assets/downloader.py | 58 | except Exception: | CODE |
| LOW | src/supervision/detection/vlm.py | 302 | except Exception: | CODE |
| LOW | src/supervision/detection/vlm.py | 797 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pyproject.toml | 145 | # Enable linting rules for code style, imports, and best practices. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/supervision/metrics/recall.py | 513 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/supervision/config.py | 1 | CLASS_NAME_DATA_FIELD: str = "class_name" | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/supervision/utils/internal.py | 142 | def my_method(cls): | STRING |