{"adoption": {"forks": 98, "observed_at": "2026-08-28T04:05:59.338422+00:00", "stars": 1960}, "canonical_url": "https://ross.abutalabs.com/products/angellive", "card": {"archived": false, "artifact_type": "application", "description": null, "domain": ["media", "entertainment", "cross-platform"], "enriched": true, "function": ["gui", "video-processing", "websocket"], "health_score": 100, "homepage": null, "language": "Swift", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["pcccccc/AngelLive"], "name": "pcccccc/AngelLive", "platform": [], "pushed_at": "2026-08-26T09:47:35+00:00", "repo": "pcccccc/AngelLive", "stars": 1960, "tags": ["live-streaming", "danmaku", "tvos", "swiftui", "bilibili", "douyin", "huya", "streaming-player", "media-aggregator", "ios", "macos", "swift", "mobile", "desktop"], "topics": [], "urls": [], "use_cases": ["watch bilibili live streams on apple tv", "aggregate multiple live streaming platforms in one ios app", "watch live streams with danmaku bullet comments on mac", "play flv live sources on tvos", "follow streamers from douyin huya and bilibili in one app", "native apple silicon live streaming client"], "what_it_is": "AngelLive is a native Swift/SwiftUI live-streaming viewer app for Apple platforms (iOS 17+, macOS 15+, tvOS 17+), adapted from the dart_simple_live project. It aggregates multiple Chinese live-streaming platforms with danmaku (bullet comments) support and a choice of KSPlayer (LGPL FFmpeg branch) or VLCKit playback cores.", "when_to_avoid": ["you need live streaming on Android, Windows, or Linux", "you only want a lightweight library to embed playback rather than a full app", "you require GPL-free licensing since the project is GPL-3.0"], "when_to_choose": ["you want a native SwiftUI live-streaming app across iPhone, iPad, Mac, and Apple TV", "you need danmaku support and multi-platform live aggregation on Apple devices", "you want to build on or fork a Swift live-streaming client with pluggable player cores"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/angellive", "repo": "pcccccc/AngelLive", "role": "main", "score": 84}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.338422+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:05:49.417949+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6617e913ce0bbe77938654bf64c7ab513e5b5884ec447d76e4fc84466cf47b81", "fetched_at": "2026-08-28T04:05:59.338422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pcccccc/AngelLive"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.338422+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:05:49.417949+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6617e913ce0bbe77938654bf64c7ab513e5b5884ec447d76e4fc84466cf47b81", "fetched_at": "2026-08-28T04:05:59.338422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pcccccc/AngelLive"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:05:49.417949+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6617e913ce0bbe77938654bf64c7ab513e5b5884ec447d76e4fc84466cf47b81", "fetched_at": "2026-08-28T04:05:59.338422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pcccccc/AngelLive"}], "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:59.338422+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.338422+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.338422+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:05:49.417949+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6617e913ce0bbe77938654bf64c7ab513e5b5884ec447d76e4fc84466cf47b81", "fetched_at": "2026-08-28T04:05:59.338422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pcccccc/AngelLive"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.338422+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.338422+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:05:49.417949+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6617e913ce0bbe77938654bf64c7ab513e5b5884ec447d76e4fc84466cf47b81", "fetched_at": "2026-08-28T04:05:59.338422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pcccccc/AngelLive"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.338422+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.338422+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.338422+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:05:49.417949+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6617e913ce0bbe77938654bf64c7ab513e5b5884ec447d76e4fc84466cf47b81", "fetched_at": "2026-08-28T04:05:59.338422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pcccccc/AngelLive"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.338422+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.338422+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:05:49.417949+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6617e913ce0bbe77938654bf64c7ab513e5b5884ec447d76e4fc84466cf47b81", "fetched_at": "2026-08-28T04:05:59.338422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pcccccc/AngelLive"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:05:49.417949+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6617e913ce0bbe77938654bf64c7ab513e5b5884ec447d76e4fc84466cf47b81", "fetched_at": "2026-08-28T04:05:59.338422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pcccccc/AngelLive"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:05:49.417949+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6617e913ce0bbe77938654bf64c7ab513e5b5884ec447d76e4fc84466cf47b81", "fetched_at": "2026-08-28T04:05:59.338422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pcccccc/AngelLive"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:05:49.417949+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6617e913ce0bbe77938654bf64c7ab513e5b5884ec447d76e4fc84466cf47b81", "fetched_at": "2026-08-28T04:05:59.338422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pcccccc/AngelLive"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 82, "rhythm": 65}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1157, "days_push": 7, "days_rel": 22, "gap_med": 186, "n_releases_24m": 2}, "score": 84, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}