{"adoption": {"forks": 348, "observed_at": "2026-08-28T04:07:21.192404+00:00", "stars": 2775}, "canonical_url": "https://ross.abutalabs.com/products/skytube", "card": {"archived": false, "artifact_type": "application", "description": "Copylefted libre / open source YouTube player for Android", "domain": ["media", "android-tools", "privacy", "entertainment"], "enriched": true, "function": ["video-processing", "gui"], "health_score": 97, "homepage": null, "language": "Java", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["SkyTubeTeam/SkyTube"], "name": "SkyTubeTeam/SkyTube", "platform": [], "pushed_at": "2026-08-12T05:52:08+00:00", "repo": "SkyTubeTeam/SkyTube", "stars": 2775, "tags": ["youtube-client", "ad-free", "sponsorblock", "video-downloader", "free-software", "media-player", "android", "mobile"], "topics": ["youtube", "android", "app", "youtube-player", "download-videos", "copyleft", "youtube-dl", "hacktoberfest"], "urls": [], "use_cases": ["watch youtube videos without ads on android", "download youtube videos to my phone", "import my youtube subscriptions into an open source app", "block low-quality or unwanted youtube channels", "skip sponsored segments in youtube videos", "play youtube videos in background at different speeds", "back up my youtube bookmarks and subscriptions locally"], "what_it_is": "SkyTube is a copylefted (GPLv3) open-source YouTube player app for Android that lets users browse, search, and watch YouTube videos without ads. It includes features like channel blacklisting, video downloads, SponsorBlock integration, subscription import, and local bookmark backups.", "when_to_avoid": ["you need YouTube account features like commenting or uploading", "you want Chromecast support in a fully open-source build (only the Extra variant with non-OSS libraries supports it)", "you run Android older than 4.4 (use SkyTube Legacy instead)"], "when_to_choose": ["you want a fully open-source, ad-free YouTube client on Android", "you need video downloading and SponsorBlock support", "you want fine-grained filtering of channels and videos", "you prefer libre software with local data storage"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/skytube", "repo": "SkyTubeTeam/SkyTube", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.192404+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:16:33.431539+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5762a989bc4e7f701eaaa11fbe08589091edfa3499a736fad225cdcb6feec90", "fetched_at": "2026-08-28T04:07:21.192404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SkyTubeTeam/SkyTube"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.192404+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:16:33.431539+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5762a989bc4e7f701eaaa11fbe08589091edfa3499a736fad225cdcb6feec90", "fetched_at": "2026-08-28T04:07:21.192404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SkyTubeTeam/SkyTube"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:16:33.431539+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5762a989bc4e7f701eaaa11fbe08589091edfa3499a736fad225cdcb6feec90", "fetched_at": "2026-08-28T04:07:21.192404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SkyTubeTeam/SkyTube"}], "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:07:21.192404+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.192404+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.192404+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:16:33.431539+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5762a989bc4e7f701eaaa11fbe08589091edfa3499a736fad225cdcb6feec90", "fetched_at": "2026-08-28T04:07:21.192404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SkyTubeTeam/SkyTube"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.192404+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.192404+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:16:33.431539+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5762a989bc4e7f701eaaa11fbe08589091edfa3499a736fad225cdcb6feec90", "fetched_at": "2026-08-28T04:07:21.192404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SkyTubeTeam/SkyTube"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.192404+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.192404+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.192404+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:16:33.431539+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5762a989bc4e7f701eaaa11fbe08589091edfa3499a736fad225cdcb6feec90", "fetched_at": "2026-08-28T04:07:21.192404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SkyTubeTeam/SkyTube"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.192404+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.192404+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:16:33.431539+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5762a989bc4e7f701eaaa11fbe08589091edfa3499a736fad225cdcb6feec90", "fetched_at": "2026-08-28T04:07:21.192404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SkyTubeTeam/SkyTube"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:16:33.431539+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5762a989bc4e7f701eaaa11fbe08589091edfa3499a736fad225cdcb6feec90", "fetched_at": "2026-08-28T04:07:21.192404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SkyTubeTeam/SkyTube"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:16:33.431539+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5762a989bc4e7f701eaaa11fbe08589091edfa3499a736fad225cdcb6feec90", "fetched_at": "2026-08-28T04:07:21.192404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SkyTubeTeam/SkyTube"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:16:33.431539+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b5762a989bc4e7f701eaaa11fbe08589091edfa3499a736fad225cdcb6feec90", "fetched_at": "2026-08-28T04:07:21.192404+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SkyTubeTeam/SkyTube"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 85}, "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": 3939, "days_push": 21, "days_rel": 101, "gap_med": 21, "n_releases_24m": 8}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}