{"adoption": {"forks": 335, "observed_at": "2026-08-28T04:08:20.196302+00:00", "stars": 3802}, "canonical_url": "https://ross.abutalabs.com/products/sai", "card": {"archived": false, "artifact_type": "application", "description": "Android split APKs installer", "domain": ["android-tools", "developer-tools", "files"], "enriched": true, "function": ["cli", "file-system"], "health_score": 20, "homepage": null, "language": "Java", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["Aefyr/SAI"], "name": "Aefyr/SAI", "platform": [], "pushed_at": "2024-06-03T21:59:10+00:00", "repo": "Aefyr/SAI", "stars": 3802, "tags": ["apk-installer", "split-apks", "android-app-bundle", "rooted-device", "rootless", "package-management", "android"], "topics": [], "urls": [], "use_cases": ["install split apks on android", "install android app bundle apks without root", "install xapk or apks files on phone", "export apks bundle with metadata", "install split apk rootless"], "what_it_is": "SAI (Split APKs Installer) is an Android application for installing split APKs, such as those distributed as Android App Bundles. It supports both rooted and rootless installation methods and can export .apks files with custom metadata.", "when_to_avoid": ["you need a full app backup solution - the author recommends OAndBackupX or Swift Backup instead", "you need actively developed software - the maintainer states development is mostly dead", "you need an iOS or desktop APK installer"], "when_to_choose": ["you need to install split APKs or .apks bundles on an Android device", "you want both rooted and rootless installation options", "you need to export .apks files with embedded metadata"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sai", "repo": "Aefyr/SAI", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.196302+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:26:48.093339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8bc7f1dba77d577bab49d2ec233bc569441d3ee3fff16885c450cd841421432", "fetched_at": "2026-08-28T04:08:20.196302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Aefyr/SAI"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.196302+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:26:48.093339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8bc7f1dba77d577bab49d2ec233bc569441d3ee3fff16885c450cd841421432", "fetched_at": "2026-08-28T04:08:20.196302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Aefyr/SAI"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:26:48.093339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8bc7f1dba77d577bab49d2ec233bc569441d3ee3fff16885c450cd841421432", "fetched_at": "2026-08-28T04:08:20.196302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Aefyr/SAI"}], "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:08:20.196302+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.196302+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.196302+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:26:48.093339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8bc7f1dba77d577bab49d2ec233bc569441d3ee3fff16885c450cd841421432", "fetched_at": "2026-08-28T04:08:20.196302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Aefyr/SAI"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.196302+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.196302+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:26:48.093339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8bc7f1dba77d577bab49d2ec233bc569441d3ee3fff16885c450cd841421432", "fetched_at": "2026-08-28T04:08:20.196302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Aefyr/SAI"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.196302+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.196302+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.196302+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:26:48.093339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8bc7f1dba77d577bab49d2ec233bc569441d3ee3fff16885c450cd841421432", "fetched_at": "2026-08-28T04:08:20.196302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Aefyr/SAI"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.196302+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.196302+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:26:48.093339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8bc7f1dba77d577bab49d2ec233bc569441d3ee3fff16885c450cd841421432", "fetched_at": "2026-08-28T04:08:20.196302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Aefyr/SAI"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:26:48.093339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8bc7f1dba77d577bab49d2ec233bc569441d3ee3fff16885c450cd841421432", "fetched_at": "2026-08-28T04:08:20.196302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Aefyr/SAI"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:26:48.093339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8bc7f1dba77d577bab49d2ec233bc569441d3ee3fff16885c450cd841421432", "fetched_at": "2026-08-28T04:08:20.196302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Aefyr/SAI"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:26:48.093339+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8bc7f1dba77d577bab49d2ec233bc569441d3ee3fff16885c450cd841421432", "fetched_at": "2026-08-28T04:08:20.196302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Aefyr/SAI"}], "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": 2819, "days_push": 821, "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}}