原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [
"ultralytics",
"yolov8",
"yolo",
"deep-learning",
"image-classification",
"machine-learning",
"object-detection",
"pytorch",
"tracking",
"instance-segmentation",
"yolo-world",
"yolo11",
"computer-vision",
"python",
"pose-estimation",
"rotated-object-detection",
"segment-anything",
"yolo26",
"object-tracking",
"semantic-segmentation"
],
"is_fork": false,
"size_kb": 59944,
"has_wiki": true,
"homepage": "https://platform.ultralytics.com",
"languages": {
"HTML": 4177,
"Shell": 4718,
"Python": 3562588,
"Dockerfile": 3136
},
"pushed_at": "2026-07-21T15:51:20Z",
"created_at": "2022-09-11T16:39:45Z",
"owner_type": "Organization",
"updated_at": "2026-07-21T15:51:02Z",
"description": "Ultralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking",
"is_archived": false,
"is_disabled": false,
"license_spdx": "AGPL-3.0",
"default_branch": "main",
"license_spdx_raw": "AGPL-3.0",
"primary_language": "Python",
"significant_languages": [
"Python"
]
},
"owner": {
"blog": "https://ultralytics.com",
"name": "Ultralytics",
"type": "Organization",
"login": "ultralytics",
"company": null,
"location": "United States of America",
"followers": 11015,
"avatar_url": "https://avatars.githubusercontent.com/u/26833451?v=4",
"created_at": "2017-04-01T07:59:53Z",
"is_verified": null,
"public_repos": 53,
"account_age_days": 3398
},
"license": {
"state": "standard",
"spdx_id": "AGPL-3.0",
"raw_spdx": "AGPL-3.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v8.4.103",
"kind": "patch",
"published_at": "2026-07-21T02:18:15Z"
},
{
"tag": "v8.4.102",
"kind": "patch",
"published_at": "2026-07-19T12:40:11Z"
},
{
"tag": "v8.4.101",
"kind": "patch",
"published_at": "2026-07-18T16:48:20Z"
},
{
"tag": "v8.4.100",
"kind": "patch",
"published_at": "2026-07-18T02:35:28Z"
},
{
"tag": "v8.4.99",
"kind": "patch",
"published_at": "2026-07-17T17:48:56Z"
},
{
"tag": "v8.4.98",
"kind": "patch",
"published_at": "2026-07-17T02:49:05Z"
},
{
"tag": "v8.4.97",
"kind": "patch",
"published_at": "2026-07-17T01:18:22Z"
},
{
"tag": "v8.4.96",
"kind": "patch",
"published_at": "2026-07-15T13:00:15Z"
},
{
"tag": "v8.4.95",
"kind": "patch",
"published_at": "2026-07-13T21:37:37Z"
},
{
"tag": "v8.4.94",
"kind": "patch",
"published_at": "2026-07-13T15:27:49Z"
},
{
"tag": "v8.4.93",
"kind": "patch",
"published_at": "2026-07-12T22:32:33Z"
},
{
"tag": "v8.4.92",
"kind": "patch",
"published_at": "2026-07-10T11:54:09Z"
},
{
"tag": "v8.4.91",
"kind": "patch",
"published_at": "2026-07-09T20:37:11Z"
},
{
"tag": "v8.4.90",
"kind": "patch",
"published_at": "2026-07-06T19:32:51Z"
},
{
"tag": "v8.4.89",
"kind": "patch",
"published_at": "2026-07-05T19:18:04Z"
},
{
"tag": "v8.4.88",
"kind": "patch",
"published_at": "2026-07-05T14:28:20Z"
},
{
"tag": "v8.4.87",
"kind": "patch",
"published_at": "2026-07-03T16:01:33Z"
},
{
"tag": "v8.4.86",
"kind": "patch",
"published_at": "2026-07-02T21:17:16Z"
},
{
"tag": "v8.4.85",
"kind": "patch",
"published_at": "2026-07-02T20:42:40Z"
},
{
"tag": "v8.4.84",
"kind": "patch",
"published_at": "2026-07-01T08:01:21Z"
},
{
"tag": "v8.4.83",
"kind": "patch",
"published_at": "2026-06-29T22:40:35Z"
},
{
"tag": "v8.4.82",
"kind": "patch",
"published_at": "2026-06-29T00:25:26Z"
},
{
"tag": "v8.4.81",
"kind": "patch",
"published_at": "2026-06-28T13:16:26Z"
},
{
"tag": "v8.4.80",
"kind": "patch",
"published_at": "2026-06-26T21:29:29Z"
},
{
"tag": "v8.4.79",
"kind": "patch",
"published_at": "2026-06-26T14:27:21Z"
},
{
"tag": "v8.4.78",
"kind": "patch",
"published_at": "2026-06-25T12:54:36Z"
},
{
"tag": "v8.4.77",
"kind": "patch",
"published_at": "2026-06-25T02:51:40Z"
},
{
"tag": "v8.4.76",
"kind": "patch",
"published_at": "2026-06-24T14:12:41Z"
},
{
"tag": "v8.4.75",
"kind": "patch",
"published_at": "2026-06-21T19:27:40Z"
},
{
"tag": "v8.4.74",
"kind": "patch",
"published_at": "2026-06-21T16:52:55Z"
},
{
"tag": "v8.4.73",
"kind": "patch",
"published_at": "2026-06-21T15:27:40Z"
},
{
"tag": "v8.4.72",
"kind": "patch",
"published_at": "2026-06-19T22:46:17Z"
},
{
"tag": "v8.4.71",
"kind": "patch",
"published_at": "2026-06-18T15:47:10Z"
},
{
"tag": "v8.4.70",
"kind": "patch",
"published_at": "2026-06-17T13:39:12Z"
},
{
"tag": "v8.4.69",
"kind": "patch",
"published_at": "2026-06-16T17:04:59Z"
},
{
"tag": "v8.4.68",
"kind": "patch",
"published_at": "2026-06-15T23:24:17Z"
},
{
"tag": "v8.4.67",
"kind": "patch",
"published_at": "2026-06-14T00:04:14Z"
},
{
"tag": "v8.4.66",
"kind": "patch",
"published_at": "2026-06-11T16:47:02Z"
},
{
"tag": "v8.4.65",
"kind": "patch",
"published_at": "2026-06-11T08:02:43Z"
},
{
"tag": "v8.4.64",
"kind": "patch",
"published_at": "2026-06-10T14:27:51Z"
},
{
"tag": "v8.4.63",
"kind": "patch",
"published_at": "2026-06-09T17:35:36Z"
},
{
"tag": "v8.4.62",
"kind": "patch",
"published_at": "2026-06-08T13:04:51Z"
},
{
"tag": "v8.4.61",
"kind": "patch",
"published_at": "2026-06-07T08:23:44Z"
},
{
"tag": "v8.4.60",
"kind": "patch",
"published_at": "2026-06-01T16:02:05Z"
},
{
"tag": "v8.4.59",
"kind": "patch",
"published_at": "2026-06-01T09:00:37Z"
},
{
"tag": "v8.4.58",
"kind": "patch",
"published_at": "2026-05-31T11:24:20Z"
},
{
"tag": "v8.4.57",
"kind": "patch",
"published_at": "2026-05-30T10:13:40Z"
},
{
"tag": "v8.4.56",
"kind": "patch",
"published_at": "2026-05-27T03:55:46Z"
},
{
"tag": "v8.4.55",
"kind": "patch",
"published_at": "2026-05-26T17:25:19Z"
},
{
"tag": "v8.4.54",
"kind": "patch",
"published_at": "2026-05-25T14:59:26Z"
},
{
"tag": "v8.4.53",
"kind": "patch",
"published_at": "2026-05-22T05:07:52Z"
},
{
"tag": "v8.4.52",
"kind": "patch",
"published_at": "2026-05-20T11:06:11Z"
},
{
"tag": "v8.4.51",
"kind": "patch",
"published_at": "2026-05-15T10:07:22Z"
},
{
"tag": "v8.4.50",
"kind": "patch",
"published_at": "2026-05-13T11:37:01Z"
},
{
"tag": "v8.4.49",
"kind": "patch",
"published_at": "2026-05-12T17:20:45Z"
},
{
"tag": "v8.4.48",
"kind": "patch",
"published_at": "2026-05-08T18:01:39Z"
},
{
"tag": "v8.4.47",
"kind": "patch",
"published_at": "2026-05-06T11:31:50Z"
},
{
"tag": "v8.4.46",
"kind": "patch",
"published_at": "2026-05-01T20:00:51Z"
},
{
"tag": "v8.4.45",
"kind": "patch",
"published_at": "2026-04-29T15:16:37Z"
},
{
"tag": "v8.4.44",
"kind": "patch",
"published_at": "2026-04-29T14:12:41Z"
},
{
"tag": "v8.4.43",
"kind": "patch",
"published_at": "2026-04-28T16:52:37Z"
},
{
"tag": "v8.4.42",
"kind": "patch",
"published_at": "2026-04-27T15:47:10Z"
},
{
"tag": "v8.4.41",
"kind": "patch",
"published_at": "2026-04-21T13:42:30Z"
},
{
"tag": "v8.4.40",
"kind": "patch",
"published_at": "2026-04-20T12:09:06Z"
},
{
"tag": "v8.4.39",
"kind": "patch",
"published_at": "2026-04-18T19:11:15Z"
},
{
"tag": "v8.4.38",
"kind": "patch",
"published_at": "2026-04-16T12:02:08Z"
},
{
"tag": "v8.4.37",
"kind": "patch",
"published_at": "2026-04-10T12:13:56Z"
},
{
"tag": "v8.4.36",
"kind": "patch",
"published_at": "2026-04-08T16:54:37Z"
},
{
"tag": "v8.4.35",
"kind": "patch",
"published_at": "2026-04-07T18:55:42Z"
},
{
"tag": "v8.4.34",
"kind": "patch",
"published_at": "2026-04-06T16:58:43Z"
},
{
"tag": "v8.4.33",
"kind": "patch",
"published_at": "2026-03-31T17:08:00Z"
},
{
"tag": "v8.4.32",
"kind": "patch",
"published_at": "2026-03-30T16:10:36Z"
},
{
"tag": "v8.4.31",
"kind": "patch",
"published_at": "2026-03-28T20:16:01Z"
},
{
"tag": "v8.4.30",
"kind": "patch",
"published_at": "2026-03-26T16:29:01Z"
},
{
"tag": "v8.4.29",
"kind": "patch",
"published_at": "2026-03-26T15:09:23Z"
},
{
"tag": "v8.4.28",
"kind": "patch",
"published_at": "2026-03-26T11:35:59Z"
},
{
"tag": "v8.4.27",
"kind": "patch",
"published_at": "2026-03-25T13:02:11Z"
},
{
"tag": "v8.4.26",
"kind": "patch",
"published_at": "2026-03-23T19:42:57Z"
},
{
"tag": "v8.4.25",
"kind": "patch",
"published_at": "2026-03-23T11:08:29Z"
},
{
"tag": "v8.4.24",
"kind": "patch",
"published_at": "2026-03-19T17:04:44Z"
},
{
"tag": "v8.4.23",
"kind": "patch",
"published_at": "2026-03-16T23:40:30Z"
},
{
"tag": "v8.4.22",
"kind": "patch",
"published_at": "2026-03-14T19:33:08Z"
},
{
"tag": "v8.4.21",
"kind": "patch",
"published_at": "2026-03-05T15:35:56Z"
},
{
"tag": "v8.4.20",
"kind": "patch",
"published_at": "2026-03-05T12:17:40Z"
},
{
"tag": "v8.4.19",
"kind": "patch",
"published_at": "2026-02-28T12:56:58Z"
},
{
"tag": "v8.4.18",
"kind": "patch",
"published_at": "2026-02-26T18:39:15Z"
},
{
"tag": "v8.4.17",
"kind": "patch",
"published_at": "2026-02-25T22:10:25Z"
},
{
"tag": "v8.4.16",
"kind": "patch",
"published_at": "2026-02-24T22:17:01Z"
},
{
"tag": "v8.4.15",
"kind": "patch",
"published_at": "2026-02-24T01:18:34Z"
},
{
"tag": "v8.4.14",
"kind": "patch",
"published_at": "2026-02-10T11:31:00Z"
},
{
"tag": "v8.4.13",
"kind": "patch",
"published_at": "2026-02-08T21:59:50Z"
},
{
"tag": "v8.4.12",
"kind": "patch",
"published_at": "2026-02-05T12:52:25Z"
},
{
"tag": "v8.4.11",
"kind": "patch",
"published_at": "2026-02-03T12:54:46Z"
},
{
"tag": "v8.4.10",
"kind": "patch",
"published_at": "2026-02-02T17:14:03Z"
},
{
"tag": "v8.4.9",
"kind": "patch",
"published_at": "2026-01-29T18:04:38Z"
},
{
"tag": "v8.4.8",
"kind": "patch",
"published_at": "2026-01-27T16:21:12Z"
},
{
"tag": "v8.4.7",
"kind": "patch",
"published_at": "2026-01-21T20:29:50Z"
},
{
"tag": "v8.4.6",
"kind": "patch",
"published_at": "2026-01-18T19:48:01Z"
},
{
"tag": "v8.4.5",
"kind": "patch",
"published_at": "2026-01-17T00:25:53Z"
},
{
"tag": "v8.4.4",
"kind": "patch",
"published_at": "2026-01-16T13:54:10Z"
}
],
"recent_commits": [
{
"oid": "74e6346c0ba2ebd577292ea80c66c51cda5bff2c",
"body": "Signed-off-by: Onuralp SEZER <onuralp@ultralytics.com>",
"is_bot": false,
"headline": "update ultralytics-inference version to 0.0.30 in documentation (#25339)",
"author_name": "Onuralp SEZER",
"author_login": "onuralpszr",
"committed_at": "2026-07-21T15:48:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "514600fee9a367cff68521f25d13c081956a1f7b",
"body": "Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>\nCo-authored-by: UltralyticsAssistant <web@ultralytics.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Cache semantic mask bit-depth to avoid reopening every epoch (#24985)",
"author_name": "Mohammed Yasin",
"author_login": "Y-T-G",
"committed_at": "2026-07-21T15:46:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "564ba48703fdc8b61b859e1bab19849c79298d9b",
"body": "Co-authored-by: UltralyticsAssistant <web@ultralytics.com>\nCo-authored-by: Onuralp SEZER <onuralp@ultralytics.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Return loss items as name-keyed dicts from criteria (#25330)",
"author_name": "Jing Qiu",
"author_login": "Laughing-q",
"committed_at": "2026-07-21T15:45:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c39458223d938457f3fd08d60a395fccb890284",
"body": "Signed-off-by: Onuralp SEZER <onuralp@ultralytics.com>\nCo-authored-by: Onuralp SEZER <onuralp@ultralytics.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "fix: list TensorRT export arguments (#25338)",
"author_name": "Aman Harsh",
"author_login": "amanharshx",
"committed_at": "2026-07-21T15:31:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "686c16a301779e0d973cc1e710298e3df3a59c3a",
"body": "Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Add Objects365 pretrained YOLO26 models to dataset docs (#25333)",
"author_name": "Mohammed Yasin",
"author_login": "Y-T-G",
"committed_at": "2026-07-21T15:29:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7460c931b2f246c82f254779e550c23ae66fb20f",
"body": "…r_add_ (#25326)",
"is_bot": false,
"headline": "Batch TaskAlignedAssigner select_topk_candidates into a single scatte…",
"author_name": "Murat Raimbekov",
"author_login": "raimbekovm",
"committed_at": "2026-07-21T15:02:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6b8636e677ef5ef1f789fb891a255e7ac12a2226",
"body": null,
"is_bot": false,
"headline": "Compute DFL log_softmax once instead of two cross_entropy calls (#25329)",
"author_name": "Murat Raimbekov",
"author_login": "raimbekovm",
"committed_at": "2026-07-21T14:58:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "839784feebb0c234f72314af2222dfccc5bf5a72",
"body": "…5337)",
"is_bot": false,
"headline": "Harden macos-26 CI parallelism and Streamlit Inference model list (#2…",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-21T11:56:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa74e5bbeb2e5d9a11c7821d1add6e659c635c98",
"body": null,
"is_bot": false,
"headline": "Queue publish runs and retry PyPI upload failures (#25331)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-21T10:51:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "504d5ec50c00de1b4a8faa3eb475d3535ffd9e09",
"body": "Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>",
"is_bot": false,
"headline": "Fix Path values in exported model metadata (#25324)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-21T02:17:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bdc65f629a533f494da2a73cb8e201ea11943b54",
"body": "Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>",
"is_bot": false,
"headline": "Prevent training from ending during warmup (#25321)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-21T02:17:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae5657d96b8ecf21b5f36f9159d2e7d3e8a33b35",
"body": "Co-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Fix Results methods crashing on numpy-backed results (#25318)",
"author_name": "Jesús Royeth",
"author_login": "JESUSROYETH",
"committed_at": "2026-07-21T01:34:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ebc432840cf611062c29aa732b2d6cc57f0a833d",
"body": "…quals `nc` (#25297)\n\nCo-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Fix backbone layers skipping width scaling when their channel count e…",
"author_name": "Jesús Royeth",
"author_login": "JESUSROYETH",
"committed_at": "2026-07-21T01:29:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3de6c4891b6904a0ffd507810a2b320e5a857dab",
"body": "Co-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Binarize masks before cropping in `process_mask` (#25298)",
"author_name": "Jesús Royeth",
"author_login": "JESUSROYETH",
"committed_at": "2026-07-21T01:23:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b39b254293ae0976cf6ae6786a9d6baa299d1e9",
"body": "… trackers (#25319)\n\nCo-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Fix Mask/Pose curves and raw confusion matrix dropped from experiment…",
"author_name": "Jesús Royeth",
"author_login": "JESUSROYETH",
"committed_at": "2026-07-21T01:18:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1a7961c34298e83877508f6ffe8a6a3e1d0be6fe",
"body": "…e (#25312)\n\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Move quick start and predict example above the fold on the YOLO26 pag…",
"author_name": "Murat Raimbekov",
"author_login": "raimbekovm",
"committed_at": "2026-07-21T01:13:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b15bc501bddfc3cafc353aae0b1ad048a351cb6b",
"body": null,
"is_bot": false,
"headline": "Faster `ModelEMA` update with batched `_foreach_lerp_` (#25315)",
"author_name": "Murat Raimbekov",
"author_login": "raimbekovm",
"committed_at": "2026-07-21T01:07:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "462a2626471f1ddbb32dc92497bb0224dc0f2cc5",
"body": null,
"is_bot": false,
"headline": "Warn when RKNN export lowers a user-specified opset (#25303)",
"author_name": "Seokyong Shin",
"author_login": "synml",
"committed_at": "2026-07-21T01:02:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad75e70b11275503c46bb9a5498ee90163d0afbf",
"body": null,
"is_bot": false,
"headline": "Validate effective final training batch (#25322)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-21T00:57:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0a4f61fbc202b2b8509d64a320ed0e1ce25fbfad",
"body": "Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Follow HTTP 308 redirects in autocast_list URL sources (#25313)",
"author_name": "Murat Raimbekov",
"author_login": "raimbekovm",
"committed_at": "2026-07-21T00:57:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ec60774247153194b64be70e4b819ff8f7d1f77d",
"body": null,
"is_bot": false,
"headline": "Validate CoreML combinations before export (#25323)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-21T00:56:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e88cf69e1574f485eb76c1acb5b45eb90a28d26a",
"body": "…from the nav (#25307)",
"is_bot": false,
"headline": "Group guides index into categorized sections and split YOLOv5 legacy …",
"author_name": "Murat Raimbekov",
"author_login": "raimbekovm",
"committed_at": "2026-07-21T00:52:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8182b89b906141800e2c06ac24e4a8c0e97d658",
"body": null,
"is_bot": false,
"headline": "Repair broken forward links in the newcomer training path (#25253)",
"author_name": "Murat Raimbekov",
"author_login": "raimbekovm",
"committed_at": "2026-07-21T00:23:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3832fe4bad2699dd4cf1c4d8bf3a1703a90caa38",
"body": "Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>\nCo-authored-by: UltralyticsAssistant <web@ultralytics.com>",
"is_bot": false,
"headline": "Sample validation results across F1 ranks (#25300)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-21T00:22:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b14db4b8827cd7855e29e285d00a8bbd0741ab76",
"body": "Co-authored-by: UltralyticsAssistant <web@ultralytics.com>",
"is_bot": false,
"headline": "Remove redundant `opset` argument from Hailo export (#25305)",
"author_name": "Lakshantha Dissanayake",
"author_login": "lakshanthad",
"committed_at": "2026-07-21T00:19:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f3c0d18164f8c65e42bf1741ac0197c2d316fc8c",
"body": null,
"is_bot": false,
"headline": "Document Platform Slack alerts (#25301)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-20T21:08:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8241c08c587c1b25e3bd654fd54d126de7390ddd",
"body": null,
"is_bot": false,
"headline": "Honor validation confidence in confusion matrices (#25320)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-20T20:36:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "967609ba9b59011df59743821fb09d27dfaaf08b",
"body": null,
"is_bot": false,
"headline": "Bump actions/setup-python from v6 to v7 in /.github/workflows (#25311)",
"author_name": "Ultralytics Assistant",
"author_login": "UltralyticsAssistant",
"committed_at": "2026-07-20T16:56:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e24cfa86e70fd288f5800fec746b038679220c72",
"body": "Signed-off-by: Muhammad Rizwan Munawar <muhammadrizwanmunawar123@gmail.com>",
"is_bot": false,
"headline": "Update broken YouTube video links in docs (#25314)",
"author_name": "Muhammad Rizwan Munawar",
"author_login": "RizwanMunawar",
"committed_at": "2026-07-20T12:08:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "01951d86d6c7eb0b57f82b9ab5f8442d907fb5d2",
"body": null,
"is_bot": false,
"headline": "Align Platform API docs with API-key support (#25296)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-19T17:13:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6fa54719c3bb1f98365723a179fb5b6dcce69f08",
"body": null,
"is_bot": false,
"headline": "Modernize Platform links and Docker workflows (#25295)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-19T14:28:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1d814b7f6e47ad586365eaadbb6d572c44bb7308",
"body": null,
"is_bot": false,
"headline": "Fix fuzz subprocess source and signatures (#25294)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-19T12:57:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "015bc05d123df27767e5cac8e0041843f9e7ddfe",
"body": "Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "8x faster MuSGD optimizer step with batched Newton-Schulz (#25288)",
"author_name": "Mohammed Yasin",
"author_login": "Y-T-G",
"committed_at": "2026-07-19T12:39:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25ea794bd0dd0079b02d8ae5a2d7475336adb741",
"body": null,
"is_bot": false,
"headline": "Validate RT-DETR ONNX opset before export (#25291)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-19T12:09:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3b589d300143add1355ce1912f7eb0bfaeb8f44",
"body": null,
"is_bot": false,
"headline": "Relabel classification samples for single-class training (#25290)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-19T12:06:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ea4ae0dfef9a1bdc00b16e1326ecc6481360b42",
"body": null,
"is_bot": false,
"headline": "Validate classification calibration split (#25292)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-19T11:59:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3989de5ae620d0c63362c82a5e331f852fde865",
"body": null,
"is_bot": false,
"headline": "Fix RT-DETR augmented prediction fallback (#25289)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-19T11:54:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd47eb07a012c988afb93cc8fe6f8d3a16d2c7ef",
"body": "Co-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>\nCo-authored-by: UltralyticsAssistant <web@ultralytics.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Add Hailo semantic segmentation export and inference for YOLO26 (#25280)",
"author_name": "Jesús Royeth",
"author_login": "JESUSROYETH",
"committed_at": "2026-07-19T11:41:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d81634bac98a74c220165c43cfff64ad250c1cf4",
"body": "Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Raise clean error when mask_ratio exceeds imgsz (#25282)",
"author_name": "Darshil Thakkar",
"author_login": "darshil929",
"committed_at": "2026-07-19T11:21:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b764a75603b97dbb9956f6433c3e125a8d91e05b",
"body": "Co-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>",
"is_bot": false,
"headline": "Document Hailo per-task INT8 accuracy retention (#25283)",
"author_name": "Jesús Royeth",
"author_login": "JESUSROYETH",
"committed_at": "2026-07-19T10:50:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a6ad3a562873b6185e5a2efa478a1c38c6a190b2",
"body": null,
"is_bot": false,
"headline": "Fix GPU training failures from production logs (#25284)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-19T09:57:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "449e3d9a724b051b9c77f05fe8140c74d6645f97",
"body": null,
"is_bot": false,
"headline": "Document Save Dataset Version for cloud training (#25281)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-18T18:38:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "579b389c87c04b7f6a9a247730dac04922be8007",
"body": "…v8 and YOLO11 (#25276)\n\nCo-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Add Hailo pose, OBB, and classification export and inference for YOLO…",
"author_name": "Jesús Royeth",
"author_login": "JESUSROYETH",
"committed_at": "2026-07-18T16:47:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c34ec5831c3dcdef17dd22f0b944cd1a291cc5dc",
"body": "Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>\nCo-authored-by: UltralyticsAssistant <web@ultralytics.com>",
"is_bot": false,
"headline": "Fix concurrent NDJSON cache reuse (#25278)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-18T16:46:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cf56c6a468f2077884409263797d6c9df85d0883",
"body": null,
"is_bot": false,
"headline": "Capture best and worst validation images (#25279)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-18T16:27:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "66155e144cace7a0aaa69a8cc1bc4b3603f960a8",
"body": "Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>\nCo-authored-by: UltralyticsAssistant <web@ultralytics.com>",
"is_bot": false,
"headline": "Add Platform image validation metrics (#25265)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-18T15:43:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8956ac31d7c054f1fa47ffe6d7fe186d105956a0",
"body": null,
"is_bot": false,
"headline": "Fix training from signed NDJSON URLs (#25275)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-18T14:37:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "814e093c1a04e69f4217b0c53f02334165cb1ecb",
"body": null,
"is_bot": false,
"headline": "Document On Premise training data boundaries (#25274)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-18T13:30:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac02ce50d8ce1c1bb605f19c439125188ecd9002",
"body": null,
"is_bot": false,
"headline": "Fix MNIST creator link and CI table (#25273)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-18T13:02:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05651bf5a569cf6fdfdd3e76e6dac816067b92ff",
"body": "Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "docs: document classMapping parameter for dataset ingest (#25272)",
"author_name": "Aman Harsh",
"author_login": "amanharshx",
"committed_at": "2026-07-18T13:02:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cfdf44ccbf5a1174f959f21094aaa788aee5d46c",
"body": null,
"is_bot": false,
"headline": "Add https://youtu.be/rTblZN9IRDo to docs (#25268)",
"author_name": "Muhammad Rizwan Munawar",
"author_login": "RizwanMunawar",
"committed_at": "2026-07-18T12:55:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "579dee08aa28a29066e3e42fea893e689f33b729",
"body": "…5259)\n\nSigned-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>\nCo-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Add Hailo segmentation export and inference for YOLOv8 and YOLO11 (#2…",
"author_name": "Jesús Royeth",
"author_login": "JESUSROYETH",
"committed_at": "2026-07-18T02:34:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc060c72860e8e871535c463a5d006ad68afb11a",
"body": null,
"is_bot": false,
"headline": "Reuse Platform callbacks for managed workers (#25266)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-18T02:00:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ba0cce7b0ec748266a5170b233fd04a0af42ee16",
"body": "Co-authored-by: UltralyticsAssistant <web@ultralytics.com>",
"is_bot": false,
"headline": "Fix flaky Axelera export environment (#25267)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-18T01:13:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eadfff8703065bdf9011bc1dae3c56308cae1fb2",
"body": null,
"is_bot": false,
"headline": "Raise clean error for batch=1 training at minimum imgsz (#25264)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-17T21:43:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "937a3ebf9629e952a4296fbd5985a2b16c1a9c4d",
"body": null,
"is_bot": false,
"headline": "Expand fuzz exploration envelope (#25262)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-17T20:27:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb64a4165d0a316b57fb52cc3231a132d759d494",
"body": "… (#25263)\n\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Warn on TensorRT/CUDA version mismatch in Platform Models export docs…",
"author_name": "Lakshantha Dissanayake",
"author_login": "lakshanthad",
"committed_at": "2026-07-17T20:05:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "65056f2336d3c7cb81500c0033c7a71c528d000d",
"body": "…5260)\n\nCo-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>",
"is_bot": false,
"headline": "Document Hailo INT8 accuracy expectations and deployment guidance (#2…",
"author_name": "Jesús Royeth",
"author_login": "JESUSROYETH",
"committed_at": "2026-07-17T19:56:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6340089266bfcf94d7aad2ed689a6a3db0df8883",
"body": "Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>\nCo-authored-by: UltralyticsAssistant <web@ultralytics.com>\nCo-authored-by: Jesús Royeth <42451234+JESUSROYETH@users.noreply.github.com>\nCo-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>",
"is_bot": false,
"headline": "Add Hailo inference backend (#25247)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-17T17:48:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "173e8c8abc139219cdc68a2b2682a7456d4be476",
"body": null,
"is_bot": false,
"headline": "Fix Python 3.13 pathlib checkpoint loading (#25258)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-17T17:47:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c96c9a742d7b4df4986fb45beaf11d010dfdac8",
"body": "Co-authored-by: UltralyticsAssistant <web@ultralytics.com>",
"is_bot": false,
"headline": "Record successful Platform checkpoint uploads (#25255)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-17T17:37:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57a0b5249f99f37449eb9d8a4f1b674e91c1d445",
"body": null,
"is_bot": false,
"headline": "Use requests for redirecting downloads (#25257)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-17T17:29:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb2b86e1fe423f3c911c591c1a05320e3a5cbbd2",
"body": "…#25235)\n\nCo-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>",
"is_bot": false,
"headline": "Fix stale buffer lists in the `profile_ops` memory-envelope comment (…",
"author_name": "Jesús Royeth",
"author_login": "JESUSROYETH",
"committed_at": "2026-07-17T17:13:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fafbeb098702389dd84db41f0bd2ec43559ba866",
"body": null,
"is_bot": false,
"headline": "Revert HTTP 308 urllib backport (#25256)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-17T16:46:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "281ff02db16a63cf3a269a7a43c599cf0d757e05",
"body": "…252)\n\nCo-authored-by: UltralyticsAssistant <web@ultralytics.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Fix HTTP 308 redirect handling in safe_download on Python <=3.10 (#25…",
"author_name": "Murat Raimbekov",
"author_login": "raimbekovm",
"committed_at": "2026-07-17T16:35:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cdcdb153e90dc4691c09b4d31e001eb3d44ee3dc",
"body": "Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Reduce TaskAlignedAssigner peak memory on dense datasets (#25240)",
"author_name": "Mohammed Yasin",
"author_login": "Y-T-G",
"committed_at": "2026-07-17T11:23:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eaea0ca9081a43595b4372660f8e5ae434658b46",
"body": "…244)",
"is_bot": false,
"headline": "Reduce semantic segmentation target memory in v8SegmentationLoss (#25…",
"author_name": "Mohammed Yasin",
"author_login": "Y-T-G",
"committed_at": "2026-07-17T10:59:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "482331b67ced2b901e41f89171cc1c0af1e77896",
"body": null,
"is_bot": false,
"headline": "Use shared setup-uv action everywhere (#25251)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-17T10:45:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb920ec2026ec9c26e9899253bcbfb0635984e16",
"body": "Co-authored-by: UltralyticsAssistant <web@ultralytics.com>",
"is_bot": false,
"headline": "Fix misspelled LVIS class 666 to `manger/trough` (#25233)",
"author_name": "Mohammed Yasin",
"author_login": "Y-T-G",
"committed_at": "2026-07-17T10:42:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1a902e1d077a3220f6d0b8a999eb65154c312d08",
"body": "Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Deduplicate canonical dataset license URLs (#25249)",
"author_name": "Murat Raimbekov",
"author_login": "raimbekovm",
"committed_at": "2026-07-17T10:14:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fcaa020dcc12f68edead0f7b6ac0fd4e35b76e07",
"body": null,
"is_bot": false,
"headline": "Fix Hailo post-export guidance (#25245)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-17T09:22:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b2a993107584090b3e3c918bb1cefef53c8769d8",
"body": null,
"is_bot": false,
"headline": "Support legacy checkpoints in Hailo export (#25237)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-17T02:48:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2db09cb1bd1000896af7f46a4176923ac71438e0",
"body": "Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>\nCo-authored-by: UltralyticsAssistant <web@ultralytics.com>",
"is_bot": false,
"headline": "Add direct Hailo HEF export (#25231)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-17T01:16:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dc9983ebeb9279e3258b55037555a7b4c7d56858",
"body": "Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>\nCo-authored-by: UltralyticsAssistant <web@ultralytics.com>",
"is_bot": false,
"headline": "Extend ros-quickstart guide with ROS2 (rclpy) examples (#25169)",
"author_name": "Murat Raimbekov",
"author_login": "raimbekovm",
"committed_at": "2026-07-16T22:23:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "579f101a6ca439827a07f4e5889b68d8b97c9d6c",
"body": "Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Restore `max-autotune` option for `torch.compile()` (#25229)",
"author_name": "Mohammed Yasin",
"author_login": "Y-T-G",
"committed_at": "2026-07-16T22:16:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "700721c05f9daeb68f1c5582d40c2da66660426b",
"body": "Co-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>",
"is_bot": false,
"headline": "Avoid per-box and per-keypoint GPU syncs in `Results.plot()` (#25230)",
"author_name": "Jesús Royeth",
"author_login": "JESUSROYETH",
"committed_at": "2026-07-16T21:51:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2fb82ff834ab1cc385613e9040fb949ffbc77e20",
"body": "Co-authored-by: UltralyticsAssistant <web@ultralytics.com>",
"is_bot": false,
"headline": "Document Platform Jetson export targets (#25232)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-16T21:42:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "379c25e143df4bf7c7f3fe7384de4e0cc1b1f3b1",
"body": null,
"is_bot": false,
"headline": "Bold what/how emphasis in the docs organization bullets (#25226)",
"author_name": "Murat Raimbekov",
"author_login": "raimbekovm",
"committed_at": "2026-07-16T12:58:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dca7c5ba87e86b5254b0e17b4429741f79ba189d",
"body": null,
"is_bot": false,
"headline": "Stop reporting intentional fuzz rejections (#25224)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-16T12:40:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9fb014eb7431c9ddc165ce3f1dd3f124fe97da5b",
"body": null,
"is_bot": false,
"headline": "Validate INT8 calibration dataset split (#25223)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-16T12:40:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "722308a900d9b0e7e2146cd49fa318ccd6cd3388",
"body": "…25222)\n\nSigned-off-by: Onuralp SEZER <onuralp@ultralytics.com>",
"is_bot": false,
"headline": "Update C++ README files to specify Ultralytics in model references (#…",
"author_name": "Onuralp SEZER",
"author_login": "onuralpszr",
"committed_at": "2026-07-16T12:08:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16944fcb148006ec5a483b5bda74a68d653511e8",
"body": "…ning on `tal_topk2` (#25209)\n\nCo-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>",
"is_bot": false,
"headline": "Fix `TVPSegmentLoss` crashing end-to-end YOLOE-Seg visual-prompt trai…",
"author_name": "Jesús Royeth",
"author_login": "JESUSROYETH",
"committed_at": "2026-07-16T12:05:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd6e29950cb2f1399931b70d7e6f8ffcd2d51aa2",
"body": "Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Rebuild docs landing page as a goal-based router (#25217)",
"author_name": "Murat Raimbekov",
"author_login": "raimbekovm",
"committed_at": "2026-07-16T12:04:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "69e9d7a49fcfc7df97e32d53ea7c5e65ae38bf3b",
"body": "Signed-off-by: Onuralp SEZER <onuralp@ultralytics.com>",
"is_bot": false,
"headline": "fix formatting in C++ README for YOLO model references (#25221)",
"author_name": "Onuralp SEZER",
"author_login": "onuralpszr",
"committed_at": "2026-07-16T11:45:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "373829ae7eb66faedba475ad5356db4baecdf4f1",
"body": "Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Add verified dataset license metadata (#25214)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-16T10:21:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7cc28148fec2ea5c1edc784c0c765720556eda56",
"body": null,
"is_bot": false,
"headline": "Fix custom PyTorch module fusion (#25215)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-16T10:10:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05c23b61bd9318fcaf497f65e576aa4ce8725e05",
"body": null,
"is_bot": false,
"headline": "Update OpenVINO benchmarks version to `2026.2.1` (#25211)",
"author_name": "Lakshantha Dissanayake",
"author_login": "lakshanthad",
"committed_at": "2026-07-16T09:14:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "966afbd0d34fc2535ef3125c7ef4214eb01e1cce",
"body": "…kflows (#25210)\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump slackapi/slack-github-action from 3.0.5 to 4.0.0 in /.github/wor…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-16T07:19:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "17cc18b1dcc0cf30c510c472f3c7e54b3a78613d",
"body": "Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>\nCo-authored-by: UltralyticsAssistant <web@ultralytics.com>",
"is_bot": false,
"headline": "Fix metadata loss on CoreML export with NMS (#25199)",
"author_name": "Mohammed Yasin",
"author_login": "Y-T-G",
"committed_at": "2026-07-15T23:58:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae65e75f216696abf6883c2c8e9dd546baacce48",
"body": "Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Fix spatial Albumentations transforms ignoring `semantic_mask` (#25191)",
"author_name": "Ahmet Faruk GÜMÜŞTAŞ",
"author_login": "ahmet-f-gumustas",
"committed_at": "2026-07-15T23:37:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "01fd32979add3a87fca8fba59c0a0e57e3384b9f",
"body": "Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Avoid setting `compute_precision` for CoreML NMS export (#25200)",
"author_name": "Mohammed Yasin",
"author_login": "Y-T-G",
"committed_at": "2026-07-15T23:32:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "def8d6914959b4eef788f54cfdbf04d4b1a6cf6d",
"body": "… not box (#25197)\n\nCo-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Fix TVPDetectLoss misnamed box_loss — v8DetectionLoss index 1 is cls,…",
"author_name": "lambertprogramm",
"author_login": "Zenka737",
"committed_at": "2026-07-15T23:30:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "978718a7db279ac5ba95f219ce10bff0fc5c5edf",
"body": "Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Fix device mismatch for TorchScript segment inference on GPU (#25201)",
"author_name": "Mohammed Yasin",
"author_login": "Y-T-G",
"committed_at": "2026-07-15T23:30:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7f41746c01d80ca4bf6eafd01fe33631602acaab",
"body": "…xt`/`show` (#25204)\n\nCo-authored-by: Jesús Royeth <JESUSROYETH@users.noreply.github.com>\nCo-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>\nCo-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>",
"is_bot": false,
"headline": "Fix `save_crop=True` silently writing no crops without `save`/`save_t…",
"author_name": "Jesús Royeth",
"author_login": "JESUSROYETH",
"committed_at": "2026-07-15T23:29:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "66840f1c4d85ca303b8a2af7ef9082710a615894",
"body": "… (#25206)\n\nCo-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>",
"is_bot": false,
"headline": "Fix #25205: trust environment in aiohttp.ClientSession and allow it ……",
"author_name": "Andrei Muzhikov",
"author_login": "muzhikov",
"committed_at": "2026-07-15T23:29:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f918e3088308d2fc177858fc861a68c6b2997bbd",
"body": null,
"is_bot": false,
"headline": "Batch PR review findings before final gate (#25207)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-15T22:26:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "856c8817033ba6e2116abdfb59c423dff4c66ec6",
"body": "Co-authored-by: UltralyticsAssistant <web@ultralytics.com>",
"is_bot": false,
"headline": "Migrate remaining TFLite examples to LiteRT (#25208)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-15T22:25:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78f38f9a8171f9d297b783debae582593397f795",
"body": null,
"is_bot": false,
"headline": "Fix CoreML NMS for non-detect models (#25198)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-15T15:14:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3c3fe2b695a03e11c320b62a5261cbbfb3645cd3",
"body": null,
"is_bot": false,
"headline": "Revert #25188 and secure NDJSON paths without a prepass (#25196)",
"author_name": "Glenn Jocher",
"author_login": "glenn-jocher",
"committed_at": "2026-07-15T12:58:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "abb4dc18cdd53fdd6e171291bf9d079413db1eec",
"body": "… 0.0.29 (#25195)\n\nSigned-off-by: Onuralp SEZER <onuralp@ultralytics.com>",
"is_bot": false,
"headline": "Update rust docs for the jet and disparity depth defaults and version…",
"author_name": "Onuralp SEZER",
"author_login": "onuralpszr",
"committed_at": "2026-07-15T11:34:34Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 100,
"commits_last_year": 1653,
"latest_release_at": "2026-07-21T02:18:15Z",
"latest_release_tag": "v8.4.103",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 52,
"days_since_latest_release": 0,
"mean_days_between_releases": 0.8
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 87,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "ultralytics",
"exists": true,
"license": "AGPL-3.0",
"keywords": [
"machine-learning",
"deep-learning",
"computer-vision",
"ML",
"DL",
"AI",
"RT-DETR",
"SAM3",
"YOLO",
"YOLOv3",
"YOLOv5",
"YOLOv8",
"YOLO11",
"YOLO26",
"Platform",
"Ultralytics",
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Scientific/Engineering :: Image Recognition",
"Topic :: Software Development"
],
"ecosystem": "pypi",
"matches_repo": true,
"registry_url": "https://pypi.org/project/ultralytics/",
"is_deprecated": false,
"latest_version": "8.4.103",
"repository_url": "https://github.com/ultralytics/ultralytics",
"versions_count": 778,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": "2022-04-04T16:52:21.999474Z",
"latest_published_at": "2026-07-21T02:19:52.174963Z",
"latest_version_yanked": null,
"days_since_latest_publish": 0
}
]
},
"popularity": {
"forks": 11420,
"stars": 59704,
"watchers": 265,
"fork_history": {
"days": [
{
"date": "2026-03-30",
"count": 10
},
{
"date": "2026-03-31",
"count": 12
},
{
"date": "2026-04-01",
"count": 9
},
{
"date": "2026-04-02",
"count": 10
},
{
"date": "2026-04-03",
"count": 14
},
{
"date": "2026-04-04",
"count": 7
},
{
"date": "2026-04-05",
"count": 7
},
{
"date": "2026-04-06",
"count": 13
},
{
"date": "2026-04-07",
"count": 14
},
{
"date": "2026-04-08",
"count": 7
},
{
"date": "2026-04-09",
"count": 15
},
{
"date": "2026-04-10",
"count": 14
},
{
"date": "2026-04-11",
"count": 4
},
{
"date": "2026-04-12",
"count": 8
},
{
"date": "2026-04-13",
"count": 17
},
{
"date": "2026-04-14",
"count": 12
},
{
"date": "2026-04-15",
"count": 7
},
{
"date": "2026-04-16",
"count": 12
},
{
"date": "2026-04-17",
"count": 14
},
{
"date": "2026-04-18",
"count": 11
},
{
"date": "2026-04-19",
"count": 7
},
{
"date": "2026-04-20",
"count": 11
},
{
"date": "2026-04-21",
"count": 15
},
{
"date": "2026-04-22",
"count": 4
},
{
"date": "2026-04-23",
"count": 9
},
{
"date": "2026-04-24",
"count": 5
},
{
"date": "2026-04-25",
"count": 8
},
{
"date": "2026-04-26",
"count": 4
},
{
"date": "2026-04-27",
"count": 11
},
{
"date": "2026-04-28",
"count": 11
},
{
"date": "2026-04-29",
"count": 13
},
{
"date": "2026-04-30",
"count": 9
},
{
"date": "2026-05-01",
"count": 4
},
{
"date": "2026-05-02",
"count": 6
},
{
"date": "2026-05-03",
"count": 7
},
{
"date": "2026-05-04",
"count": 7
},
{
"date": "2026-05-05",
"count": 5
},
{
"date": "2026-05-06",
"count": 6
},
{
"date": "2026-05-07",
"count": 9
},
{
"date": "2026-05-08",
"count": 5
},
{
"date": "2026-05-09",
"count": 13
},
{
"date": "2026-05-10",
"count": 4
},
{
"date": "2026-05-11",
"count": 8
},
{
"date": "2026-05-12",
"count": 11
},
{
"date": "2026-05-13",
"count": 20
},
{
"date": "2026-05-14",
"count": 7
},
{
"date": "2026-05-15",
"count": 6
},
{
"date": "2026-05-16",
"count": 9
},
{
"date": "2026-05-17",
"count": 3
},
{
"date": "2026-05-18",
"count": 9
},
{
"date": "2026-05-19",
"count": 6
},
{
"date": "2026-05-20",
"count": 9
},
{
"date": "2026-05-21",
"count": 14
},
{
"date": "2026-05-22",
"count": 4
},
{
"date": "2026-05-23",
"count": 10
},
{
"date": "2026-05-24",
"count": 5
},
{
"date": "2026-05-25",
"count": 13
},
{
"date": "2026-05-26",
"count": 13
},
{
"date": "2026-05-27",
"count": 14
},
{
"date": "2026-05-28",
"count": 12
},
{
"date": "2026-05-29",
"count": 8
},
{
"date": "2026-05-30",
"count": 11
},
{
"date": "2026-05-31",
"count": 7
},
{
"date": "2026-06-01",
"count": 12
},
{
"date": "2026-06-02",
"count": 14
},
{
"date": "2026-06-03",
"count": 13
},
{
"date": "2026-06-04",
"count": 10
},
{
"date": "2026-06-05",
"count": 11
},
{
"date": "2026-06-06",
"count": 3
},
{
"date": "2026-06-07",
"count": 5
},
{
"date": "2026-06-08",
"count": 9
},
{
"date": "2026-06-09",
"count": 12
},
{
"date": "2026-06-10",
"count": 8
},
{
"date": "2026-06-11",
"count": 12
},
{
"date": "2026-06-12",
"count": 11
},
{
"date": "2026-06-13",
"count": 5
},
{
"date": "2026-06-14",
"count": 4
},
{
"date": "2026-06-15",
"count": 4
},
{
"date": "2026-06-16",
"count": 8
},
{
"date": "2026-06-17",
"count": 8
},
{
"date": "2026-06-18",
"count": 15
},
{
"date": "2026-06-19",
"count": 8
},
{
"date": "2026-06-20",
"count": 8
},
{
"date": "2026-06-21",
"count": 9
},
{
"date": "2026-06-22",
"count": 11
},
{
"date": "2026-06-23",
"count": 8
},
{
"date": "2026-06-24",
"count": 6
},
{
"date": "2026-06-25",
"count": 4
},
{
"date": "2026-06-26",
"count": 12
},
{
"date": "2026-06-27",
"count": 5
},
{
"date": "2026-06-28",
"count": 9
},
{
"date": "2026-06-29",
"count": 6
},
{
"date": "2026-06-30",
"count": 10
},
{
"date": "2026-07-01",
"count": 12
},
{
"date": "2026-07-02",
"count": 7
},
{
"date": "2026-07-03",
"count": 3
},
{
"date": "2026-07-04",
"count": 3
},
{
"date": "2026-07-05",
"count": 7
},
{
"date": "2026-07-06",
"count": 9
},
{
"date": "2026-07-07",
"count": 5
},
{
"date": "2026-07-08",
"count": 8
},
{
"date": "2026-07-09",
"count": 8
},
{
"date": "2026-07-10",
"count": 5
},
{
"date": "2026-07-11",
"count": 4
},
{
"date": "2026-07-12",
"count": 4
},
{
"date": "2026-07-13",
"count": 14
},
{
"date": "2026-07-14",
"count": 9
},
{
"date": "2026-07-15",
"count": 11
},
{
"date": "2026-07-16",
"count": 6
},
{
"date": "2026-07-17",
"count": 8
},
{
"date": "2026-07-18",
"count": 8
},
{
"date": "2026-07-19",
"count": 6
},
{
"date": "2026-07-20",
"count": 7
},
{
"date": "2026-07-21",
"count": 7
}
],
"complete": false,
"collected": 1000,
"total_forks": 11420
},
"star_history": {
"days": [
{
"date": "2026-06-25",
"count": 8
},
{
"date": "2026-06-26",
"count": 36
},
{
"date": "2026-06-27",
"count": 36
},
{
"date": "2026-06-28",
"count": 23
},
{
"date": "2026-06-29",
"count": 38
},
{
"date": "2026-06-30",
"count": 47
},
{
"date": "2026-07-01",
"count": 45
},
{
"date": "2026-07-02",
"count": 46
},
{
"date": "2026-07-03",
"count": 30
},
{
"date": "2026-07-04",
"count": 28
},
{
"date": "2026-07-05",
"count": 30
},
{
"date": "2026-07-06",
"count": 50
},
{
"date": "2026-07-07",
"count": 45
},
{
"date": "2026-07-08",
"count": 46
},
{
"date": "2026-07-09",
"count": 43
},
{
"date": "2026-07-10",
"count": 35
},
{
"date": "2026-07-11",
"count": 28
},
{
"date": "2026-07-12",
"count": 40
},
{
"date": "2026-07-13",
"count": 54
},
{
"date": "2026-07-14",
"count": 44
},
{
"date": "2026-07-15",
"count": 42
},
{
"date": "2026-07-16",
"count": 38
},
{
"date": "2026-07-17",
"count": 37
},
{
"date": "2026-07-18",
"count": 34
},
{
"date": "2026-07-19",
"count": 23
},
{
"date": "2026-07-20",
"count": 32
},
{
"date": "2026-07-21",
"count": 42
}
],
"complete": false,
"collected": 1000,
"total_stars": 59704
},
"open_issues_and_prs": 160
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples",
"notebooks"
],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"ultralytics/py.typed"
],
"toolchain_manifests": [
"examples/YOLO-Series-ONNXRuntime-Rust/Cargo.toml",
"examples/YOLOv8-ONNXRuntime-Rust/Cargo.toml"
],
"largest_source_bytes": 204699,
"source_files_sampled": 290,
"oversized_source_files": 12,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 8569
},
"dependencies": {
"manifests": [
"pyproject.toml"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [],
"collected": true,
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 17,
"assessed_package": null,
"unassessed_count": 55,
"direct_affected_count": 0
},
"ecosystems": [
"pypi"
],
"dependencies": [
{
"name": "filelock",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=3.16.1"
},
{
"name": "numpy",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.23.0"
},
{
"name": "matplotlib",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=3.3.0"
},
{
"name": "opencv-python",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=4.6.0,!=4.13.0.90"
},
{
"name": "pillow",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=7.1.2"
},
{
"name": "pyyaml",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=5.3.1"
},
{
"name": "requests",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.23.0"
},
{
"name": "torch",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.8.0"
},
{
"name": "torch",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.8.0,!=2.4.0"
},
{
"name": "torchvision",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.9.0"
},
{
"name": "psutil",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=5.8.0"
},
{
"name": "polars",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.20.0"
},
{
"name": "nvidia-ml-py",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=12.0.0"
},
{
"name": "ultralytics-thop",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.0.18"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "filelock",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "matplotlib",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "numpy",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "numpy",
"direct": true,
"version": "2.0.2",
"ecosystem": "pypi"
},
{
"name": "nvidia-ml-py",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "opencv-python",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "opencv-python",
"direct": true,
"version": "4.11.0.86",
"ecosystem": "pypi"
},
{
"name": "pillow",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "polars",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "psutil",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyyaml",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "requests",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "requests",
"direct": true,
"version": "2.33.0",
"ecosystem": "pypi"
},
{
"name": "torch",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "torchvision",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "ultralytics-thop",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "ab_glyph",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "anyhow",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "chrono",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "clap",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "dirs",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "half",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "image",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "imageproc",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "ndarray",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "ort",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "rand",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "regex",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "rusttype",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tracing",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tracing-subscriber",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "ureq",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "usls",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "ai-edge-litert",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "ai-edge-quantizer",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "albumentations",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "certifi",
"direct": false,
"version": "2025.4.26",
"ecosystem": "pypi"
},
{
"name": "charset-normalizer",
"direct": false,
"version": "3.4.2",
"ecosystem": "pypi"
},
{
"name": "coloredlogs",
"direct": false,
"version": "15.0.1",
"ecosystem": "pypi"
},
{
"name": "faster-coco-eval",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "flask",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "flatbuffers",
"direct": false,
"version": "25.2.10",
"ecosystem": "pypi"
},
{
"name": "h5py",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "humanfriendly",
"direct": false,
"version": "10.0",
"ecosystem": "pypi"
},
{
"name": "idna",
"direct": false,
"version": "3.15",
"ecosystem": "pypi"
},
{
"name": "lap",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "litert-torch",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "minijinja",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-ultralytics-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mpmath",
"direct": false,
"version": "1.3.0",
"ecosystem": "pypi"
},
{
"name": "nncf",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "onnx",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "onnx",
"direct": false,
"version": "1.22.0",
"ecosystem": "pypi"
},
{
"name": "onnxruntime",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "onnxruntime",
"direct": false,
"version": "1.19.2",
"ecosystem": "pypi"
},
{
"name": "onnxslim",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "openvino",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "packaging",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "packaging",
"direct": false,
"version": "25.0",
"ecosystem": "pypi"
},
{
"name": "protobuf",
"direct": false,
"version": "6.33.5",
"ecosystem": "pypi"
},
{
"name": "pytest-xdist",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "setuptools",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "shapely",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "streamlit",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "sympy",
"direct": false,
"version": "1.14.0",
"ecosystem": "pypi"
},
{
"name": "tensorflow",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "tensorstore",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "transformers",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "typing-extensions",
"direct": false,
"version": "4.14.0",
"ecosystem": "pypi"
},
{
"name": "ultralytics",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "urllib3",
"direct": false,
"version": "2.7.0",
"ecosystem": "pypi"
},
{
"name": "zensical",
"direct": false,
"version": null,
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 72,
"direct_count": 16,
"indirect_count": 56
}
},
"maintainership": {
"issues": {
"open_prs": 109,
"merged_prs": 5118,
"open_issues": 51,
"closed_ratio": 0.996,
"closed_issues": 12783,
"closed_unmerged_prs": 1568
},
"bus_factor": 2,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "glenn-jocher",
"commits": 1778,
"avatar_url": "https://avatars.githubusercontent.com/u/26833433?v=4"
},
{
"type": "User",
"login": "RizwanMunawar",
"commits": 432,
"avatar_url": "https://avatars.githubusercontent.com/u/62513924?v=4"
},
{
"type": "User",
"login": "Y-T-G",
"commits": 393,
"avatar_url": "https://avatars.githubusercontent.com/u/32206511?v=4"
},
{
"type": "User",
"login": "Laughing-q",
"commits": 379,
"avatar_url": "https://avatars.githubusercontent.com/u/61612323?v=4"
},
{
"type": "User",
"login": "raimbekovm",
"commits": 188,
"avatar_url": "https://avatars.githubusercontent.com/u/144048515?v=4"
},
{
"type": "User",
"login": "lakshanthad",
"commits": 179,
"avatar_url": "https://avatars.githubusercontent.com/u/20147381?v=4"
},
{
"type": "User",
"login": "onuralpszr",
"commits": 100,
"avatar_url": "https://avatars.githubusercontent.com/u/1688848?v=4"
},
{
"type": "User",
"login": "AyushExel",
"commits": 83,
"avatar_url": "https://avatars.githubusercontent.com/u/15766192?v=4"
},
{
"type": "User",
"login": "ambitious-octopus",
"commits": 62,
"avatar_url": "https://avatars.githubusercontent.com/u/3855193?v=4"
},
{
"type": "User",
"login": "Burhan-Q",
"commits": 52,
"avatar_url": "https://avatars.githubusercontent.com/u/62214284?v=4"
}
],
"contributors_sampled": 98,
"top_contributor_share": 0.428
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml",
"cla.yml",
"conda-check-prs.yml",
"docker.yml",
"docs.yml",
"format.yml",
"fuzz.yml",
"links.yml",
"merge-main-into-prs.yml",
"mirror.yml",
"publish.yml",
"stale.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 5,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "29 out of 29 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 9,
"reason": "Found 27/30 approved changesets -- score normalized to 9",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 12 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 29 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 7,
"reason": "SAST tool is not run on all commits -- score normalized to 7",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "74e6346c0ba2ebd577292ea80c66c51cda5bff2c",
"ran_at": "2026-07-21T16:03:19Z",
"aggregate_score": 6.8,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/ultralytics/ultralytics",
"host": "github.com",
"name": "ultralytics",
"owner": "ultralytics"
},
"metrics": {
"overall": {
"key": "overall",
"band": "excellent",
"name": "Overall health",
"note": null,
"notes": [],
"value": 86,
"inputs": {
"security": 74,
"vitality": 96,
"community": 95,
"governance": 81,
"engineering": 81
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 96,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"commits_last_year": 1653,
"human_commit_share": 0.99,
"days_since_last_push": 0,
"active_weeks_last_year": 52
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "52/52 weeks with commits",
"points": 36,
"status": "met",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 52
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "1653 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 1653
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 29 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 100,
"latest_release_tag": "v8.4.103",
"releases_from_tags": false,
"days_since_latest_release": 0,
"mean_days_between_releases": 0.8
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "100 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 100
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~0.8 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 0.8
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 0,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 0 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 0
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "excellent",
"name": "Community & Adoption",
"value": 95,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "excellent",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 98,
"inputs": {
"forks": 11420,
"stars": 59704,
"watchers": 265,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "window_too_short"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "59,704 stars",
"points": 60,
"status": "met",
"details": [
{
"code": "stars",
"params": {
"count": 59704
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "11,420 forks",
"points": 25,
"status": "met",
"details": [
{
"code": "forks",
"params": {
"count": 11420
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "265 watchers",
"points": 13.5,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 265
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (AGPL-3.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "AGPL-3.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 81,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 62,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 98,
"top_contributor_share": 0.428
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 43% of commits",
"points": 12.9,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 43
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "98 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 98
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 12 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 89,
"inputs": {
"merged_prs": 5118,
"open_issues": 51,
"closed_issues": 12783,
"issue_closed_ratio": 0.996,
"closed_unmerged_prs": 1568
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "100% of issues closed",
"points": 46.6,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 100
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "5118/6686 decided PRs merged",
"points": 29.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 5118,
"decided": 6686
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 27/30 approved changesets -- score normalized to 9",
"points": 13.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"followers": 11015,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "ultralytics",
"public_repos": 53,
"account_age_days": 3398
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "11,015 followers of ultralytics",
"points": 25,
"status": "met",
"details": [
{
"code": "owner_followers",
"params": {
"count": 11015,
"login": "ultralytics"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "53 public repos, account ~9 yr old",
"points": 24.6,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 53
}
},
{
"code": "account_age_years",
"params": {
"years": 9
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"ultralytics"
],
"ecosystems": "pypi",
"any_deprecated": false,
"min_days_since_publish": 0
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on pypi",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "pypi"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 0 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 0
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "778 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 778
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 81,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "12 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 12
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "29 out of 29 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"topics": [
"ultralytics",
"yolov8",
"yolo",
"deep-learning",
"image-classification",
"machine-learning",
"object-detection",
"pytorch",
"tracking",
"instance-segmentation",
"yolo-world",
"yolo11",
"computer-vision",
"python",
"pose-estimation",
"rotated-object-detection",
"segment-anything",
"yolo26",
"object-tracking",
"semantic-segmentation"
],
"has_wiki": true,
"homepage": "https://platform.ultralytics.com",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://platform.ultralytics.com",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "20 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 20
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "good",
"name": "Security",
"value": 74,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 18,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 0,
"scorecard_aggregate": 6.8
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection is not maximal on development and all release branches",
"points": 3.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "29 out of 29 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 27/30 approved changesets -- score normalized to 9",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 12 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 29 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 7",
"points": 3.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 17 resolved dependencies against OSV; 55 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 17
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 55
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 17,
"unassessed_packages": 55,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 17,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 17
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 69,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.929,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 8569
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md, CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md, CLAUDE.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "92 of 99 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 92,
"sampled": 99
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": true,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [
"ultralytics/py.typed"
],
"agent_commit_share": 0,
"toolchain_manifests": [
"examples/YOLO-Series-ONNXRuntime-Rust/Cargo.toml",
"examples/YOLOv8-ONNXRuntime-Rust/Cargo.toml"
],
"dependency_bot_commit_share": 0.01
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "examples/YOLO-Series-ONNXRuntime-Rust/Cargo.toml, examples/YOLOv8-ONNXRuntime-Rust/Cargo.toml (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "examples/YOLO-Series-ONNXRuntime-Rust/Cargo.toml, examples/YOLOv8-ONNXRuntime-Rust/Cargo.toml"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "ultralytics/py.typed",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "ultralytics/py.typed"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "1 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 1,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "good",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"primary_language": "Python",
"largest_source_bytes": 204699,
"source_files_sampled": 290,
"oversized_source_files": 12
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Python with type-check config (ultralytics/py.typed)",
"points": 27,
"status": "partial",
"details": [
{
"code": "typecheck_config_language",
"params": {
"files": "ultralytics/py.typed",
"language": "Python"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "12/290 source files over 60KB",
"points": 52.7,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 290,
"oversized": 12
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples",
"notebooks"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples, notebooks",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples, notebooks"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"deps.dev does not index pypi:ultralytics@8.4.103; advisories assessed against the repository dependency graph instead"
],
"report_type": "repository",
"generated_at": "2026-07-21T16:03:53.063455Z",
"schema_version": "0.23.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/u/ultralytics/ultralytics.svg",
"full_name": "ultralytics/ultralytics",
"license_state": "standard",
"license_spdx": "AGPL-3.0"
}