{"adoption": {"forks": 658, "observed_at": "2026-08-28T04:05:20.274403+00:00", "stars": 1673}, "canonical_url": "https://ross.abutalabs.com/products/libsuperuser", "card": {"archived": false, "artifact_type": "library", "description": "Example code for \"How-To SU\"", "domain": ["android-tools", "developer-tools", "security"], "enriched": true, "function": ["developer-tools", "cli", "security"], "health_score": 20, "homepage": "su.chainfire.eu", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["Chainfire/libsuperuser"], "name": "Chainfire/libsuperuser", "platform": ["jvm"], "pushed_at": "2024-06-03T15:25:22+00:00", "repo": "Chainfire/libsuperuser", "stars": 1673, "tags": ["android", "root", "superuser", "shell", "su"], "topics": [], "urls": [], "use_cases": ["run root commands from an android app", "execute shell commands with superuser privileges", "manage interactive root shell sessions in java", "pool and reuse root shell instances", "read stdout and stderr from su commands"], "what_it_is": "A Java library for Android that simplifies executing shell commands and root (su) operations from apps, with interactive shells, threading support, and shell pooling. It is the reference implementation behind the 'How-To SU' guide.", "when_to_avoid": ["you are starting a new Android app needing root access - prefer topjohnwu's libsu", "you need a library actively updated for the latest Android and root solution changes", "you only need non-root shell execution with modern APIs"], "when_to_choose": ["you need battle-tested root shell handling on older Android versions", "you rely on edge-case behaviors the author personally uses", "you are maintaining an existing app already built on libsuperuser"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/libsuperuser", "repo": "Chainfire/libsuperuser", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.274403+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:42:34.174644+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "958a108f33e23e3c6ea94946bd5a1939ae07455e6f42d64a742a24c0669c25c5", "fetched_at": "2026-08-28T04:05:20.274403+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Chainfire/libsuperuser"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.274403+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:42:34.174644+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "958a108f33e23e3c6ea94946bd5a1939ae07455e6f42d64a742a24c0669c25c5", "fetched_at": "2026-08-28T04:05:20.274403+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Chainfire/libsuperuser"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:42:34.174644+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "958a108f33e23e3c6ea94946bd5a1939ae07455e6f42d64a742a24c0669c25c5", "fetched_at": "2026-08-28T04:05:20.274403+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Chainfire/libsuperuser"}], "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:20.274403+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.274403+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.274403+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:42:34.174644+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "958a108f33e23e3c6ea94946bd5a1939ae07455e6f42d64a742a24c0669c25c5", "fetched_at": "2026-08-28T04:05:20.274403+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Chainfire/libsuperuser"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.274403+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.274403+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:42:34.174644+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "958a108f33e23e3c6ea94946bd5a1939ae07455e6f42d64a742a24c0669c25c5", "fetched_at": "2026-08-28T04:05:20.274403+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Chainfire/libsuperuser"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.274403+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.274403+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.274403+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:42:34.174644+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "958a108f33e23e3c6ea94946bd5a1939ae07455e6f42d64a742a24c0669c25c5", "fetched_at": "2026-08-28T04:05:20.274403+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Chainfire/libsuperuser"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.274403+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.274403+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:42:34.174644+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "958a108f33e23e3c6ea94946bd5a1939ae07455e6f42d64a742a24c0669c25c5", "fetched_at": "2026-08-28T04:05:20.274403+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Chainfire/libsuperuser"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:42:34.174644+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "958a108f33e23e3c6ea94946bd5a1939ae07455e6f42d64a742a24c0669c25c5", "fetched_at": "2026-08-28T04:05:20.274403+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Chainfire/libsuperuser"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:42:34.174644+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "958a108f33e23e3c6ea94946bd5a1939ae07455e6f42d64a742a24c0669c25c5", "fetched_at": "2026-08-28T04:05:20.274403+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Chainfire/libsuperuser"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:42:34.174644+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "958a108f33e23e3c6ea94946bd5a1939ae07455e6f42d64a742a24c0669c25c5", "fetched_at": "2026-08-28T04:05:20.274403+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Chainfire/libsuperuser"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5056, "days_push": 821, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}