{"adoption": {"forks": 326, "observed_at": "2026-08-28T04:05:35.304794+00:00", "stars": 1779}, "canonical_url": "https://ross.abutalabs.com/products/payload_dumper", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Android OTA payload dumper", "domain": ["android-tools", "developer-tools", "files"], "enriched": true, "function": ["cli", "parser", "file-system", "compression"], "health_score": 30, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["vm03/payload_dumper"], "name": "vm03/payload_dumper", "platform": ["windows", "python", "cli", "cross-platform"], "pushed_at": "2025-04-18T14:21:13+00:00", "repo": "vm03/payload_dumper", "stars": 1779, "tags": ["android-ota", "payload-extraction", "firmware", "system-images", "protobuf", "command-line", "linux", "macos", "docker"], "topics": [], "urls": [], "use_cases": ["extract system images from android ota payload.bin", "dump boot.img from a full ota zip", "apply incremental ota diff to existing images", "extract firmware images for flashing a custom rom", "unpack android update payload without a device"], "what_it_is": "A Python CLI script that extracts system partition images (boot.img, system.img, etc.) from Android OTA update payload.bin files, supporting both full and incremental (diff) OTA payloads. It can also be run via Docker.", "when_to_avoid": ["you need to extract images directly from a device without an OTA file", "you need a GUI or one-click ROM extraction workflow", "you work with OTA formats other than Android's payload.bin"], "when_to_choose": ["you have an Android OTA zip and need the raw partition images inside payload.bin", "you want to reconstruct new images from an incremental OTA using original images", "you prefer a lightweight Python script or Docker container over full ROM extraction tools"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/payload_dumper", "repo": "vm03/payload_dumper", "role": "main", "score": 40}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:35.304794+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:25:08.332922+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c3fced84b0240d602a37422a508f2d969e4b17b462e5624aa7435951f35673d", "fetched_at": "2026-08-28T04:05:35.304794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vm03/payload_dumper"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:35.304794+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:25:08.332922+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c3fced84b0240d602a37422a508f2d969e4b17b462e5624aa7435951f35673d", "fetched_at": "2026-08-28T04:05:35.304794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vm03/payload_dumper"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:25:08.332922+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c3fced84b0240d602a37422a508f2d969e4b17b462e5624aa7435951f35673d", "fetched_at": "2026-08-28T04:05:35.304794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vm03/payload_dumper"}], "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:05:35.304794+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:35.304794+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:35.304794+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:25:08.332922+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c3fced84b0240d602a37422a508f2d969e4b17b462e5624aa7435951f35673d", "fetched_at": "2026-08-28T04:05:35.304794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vm03/payload_dumper"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:35.304794+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:35.304794+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:25:08.332922+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c3fced84b0240d602a37422a508f2d969e4b17b462e5624aa7435951f35673d", "fetched_at": "2026-08-28T04:05:35.304794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vm03/payload_dumper"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:35.304794+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:35.304794+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:35.304794+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:25:08.332922+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c3fced84b0240d602a37422a508f2d969e4b17b462e5624aa7435951f35673d", "fetched_at": "2026-08-28T04:05:35.304794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vm03/payload_dumper"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:35.304794+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:35.304794+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:25:08.332922+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c3fced84b0240d602a37422a508f2d969e4b17b462e5624aa7435951f35673d", "fetched_at": "2026-08-28T04:05:35.304794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vm03/payload_dumper"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:25:08.332922+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c3fced84b0240d602a37422a508f2d969e4b17b462e5624aa7435951f35673d", "fetched_at": "2026-08-28T04:05:35.304794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vm03/payload_dumper"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:25:08.332922+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c3fced84b0240d602a37422a508f2d969e4b17b462e5624aa7435951f35673d", "fetched_at": "2026-08-28T04:05:35.304794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vm03/payload_dumper"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:25:08.332922+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c3fced84b0240d602a37422a508f2d969e4b17b462e5624aa7435951f35673d", "fetched_at": "2026-08-28T04:05:35.304794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vm03/payload_dumper"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 17, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2570, "days_push": 502, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 40, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}