{"adoption": {"forks": 207, "observed_at": "2026-08-28T04:06:32.833055+00:00", "stars": 2267}, "canonical_url": "https://ross.abutalabs.com/products/dsu-sideloader", "card": {"archived": false, "artifact_type": "application", "description": "A simple app made to help users easily install GSIs via DSU's Android feature.", "domain": ["android-tools", "developer-tools", "operating-systems"], "enriched": true, "function": ["developer-tools", "deployment"], "health_score": 20, "homepage": null, "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["VegaBobo/DSU-Sideloader"], "name": "VegaBobo/DSU-Sideloader", "platform": [], "pushed_at": "2024-03-13T18:18:38+00:00", "repo": "VegaBobo/DSU-Sideloader", "stars": 2267, "tags": ["gsi", "dsu", "sideloading", "kotlin", "android", "system-image", "bootloader-unlock", "mobile"], "topics": [], "urls": [], "use_cases": ["install a GSI on my Android phone without fastboot", "try a different Android ROM temporarily without flashing", "boot a Generic System Image via DSU", "sideload a system image from img, zip, gz, or xz files", "test Android GSIs on a device with unlocked bootloader", "run a custom Android build without wiping my data"], "what_it_is": "An Android app that simplifies installing Generic System Images (GSIs) using Android's Dynamic System Updates (DSU) feature. It handles extracting, preparing, and sideloading GSI images without requiring manual ADB commands in most cases.", "when_to_avoid": ["your device has a locked bootloader or lacks dynamic partitions", "you need to permanently flash a ROM rather than boot one dynamically", "you are on Android 9 or lower"], "when_to_choose": ["you want to test GSIs on Android 10+ with an unlocked bootloader and dynamic partitions", "you prefer a GUI over manual ADB/shell commands for DSU installation", "you want to try a GSI temporarily without permanently flashing partitions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dsu-sideloader", "repo": "VegaBobo/DSU-Sideloader", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:32.833055+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:42:06.452135+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "25f94cd14bb111ec0f6152fb49f63b38562b125579399dc809ace3a1b6d2614a", "fetched_at": "2026-08-28T04:06:32.833055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/VegaBobo/DSU-Sideloader"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:32.833055+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:42:06.452135+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "25f94cd14bb111ec0f6152fb49f63b38562b125579399dc809ace3a1b6d2614a", "fetched_at": "2026-08-28T04:06:32.833055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/VegaBobo/DSU-Sideloader"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:42:06.452135+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "25f94cd14bb111ec0f6152fb49f63b38562b125579399dc809ace3a1b6d2614a", "fetched_at": "2026-08-28T04:06:32.833055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/VegaBobo/DSU-Sideloader"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:32.833055+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:32.833055+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:32.833055+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:42:06.452135+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "25f94cd14bb111ec0f6152fb49f63b38562b125579399dc809ace3a1b6d2614a", "fetched_at": "2026-08-28T04:06:32.833055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/VegaBobo/DSU-Sideloader"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:32.833055+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:32.833055+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:42:06.452135+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "25f94cd14bb111ec0f6152fb49f63b38562b125579399dc809ace3a1b6d2614a", "fetched_at": "2026-08-28T04:06:32.833055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/VegaBobo/DSU-Sideloader"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:32.833055+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:32.833055+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:32.833055+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:42:06.452135+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "25f94cd14bb111ec0f6152fb49f63b38562b125579399dc809ace3a1b6d2614a", "fetched_at": "2026-08-28T04:06:32.833055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/VegaBobo/DSU-Sideloader"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:32.833055+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:32.833055+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:42:06.452135+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "25f94cd14bb111ec0f6152fb49f63b38562b125579399dc809ace3a1b6d2614a", "fetched_at": "2026-08-28T04:06:32.833055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/VegaBobo/DSU-Sideloader"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:42:06.452135+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "25f94cd14bb111ec0f6152fb49f63b38562b125579399dc809ace3a1b6d2614a", "fetched_at": "2026-08-28T04:06:32.833055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/VegaBobo/DSU-Sideloader"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:42:06.452135+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "25f94cd14bb111ec0f6152fb49f63b38562b125579399dc809ace3a1b6d2614a", "fetched_at": "2026-08-28T04:06:32.833055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/VegaBobo/DSU-Sideloader"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:42:06.452135+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "25f94cd14bb111ec0f6152fb49f63b38562b125579399dc809ace3a1b6d2614a", "fetched_at": "2026-08-28T04:06:32.833055+00:00", "kind": "readme", "missing": false, "url": "https://github.com/VegaBobo/DSU-Sideloader"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1675, "days_push": 903, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}