{"adoption": {"forks": 188, "observed_at": "2026-08-28T04:05:51.242029+00:00", "stars": 1898}, "canonical_url": "https://ross.abutalabs.com/products/brightfutures", "card": {"archived": true, "artifact_type": "library", "description": "Write great asynchronous code in Swift using futures and promises", "domain": ["developer-tools", "mobile-development"], "enriched": true, "function": ["concurrency"], "health_score": 10, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["Thomvis/BrightFutures"], "name": "Thomvis/BrightFutures", "platform": [], "pushed_at": "2022-07-02T18:27:43+00:00", "repo": "Thomvis/BrightFutures", "stars": 1898, "tags": ["futures", "promises", "async", "swift", "end-of-life", "ios", "macos"], "topics": ["swift", "asynchronous-programming", "concurrency", "futures", "promises"], "urls": [], "use_cases": ["write asynchronous code in Swift with futures and promises", "replace completion blocks with composable async results", "handle errors typesafely in async Swift code", "chain asynchronous operations in iOS apps", "migrate legacy promise-based code to async/await"], "what_it_is": "BrightFutures is a Swift library implementing futures and promises for asynchronous programming, offering a functional alternative to completion blocks with typesafe error handling. It has reached end-of-life as Swift's built-in async/await makes it obsolete.", "when_to_avoid": ["starting a new Swift project - use built-in async/await instead", "you need an actively maintained dependency", "targeting modern Swift concurrency features"], "when_to_choose": ["maintaining an older Swift codebase already using BrightFutures", "working in a Swift version without async/await support", "you prefer functional futures/promises over completion handlers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/brightfutures", "repo": "Thomvis/BrightFutures", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.242029+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:12:12.428447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bf58cbad0d406d5ea41c34ed3edb961a45519cfb727d1b4351d84c37507349a9", "fetched_at": "2026-08-28T04:05:51.242029+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Thomvis/BrightFutures"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.242029+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:12:12.428447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bf58cbad0d406d5ea41c34ed3edb961a45519cfb727d1b4351d84c37507349a9", "fetched_at": "2026-08-28T04:05:51.242029+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Thomvis/BrightFutures"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:12:12.428447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bf58cbad0d406d5ea41c34ed3edb961a45519cfb727d1b4351d84c37507349a9", "fetched_at": "2026-08-28T04:05:51.242029+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Thomvis/BrightFutures"}], "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:51.242029+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.242029+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.242029+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:12:12.428447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bf58cbad0d406d5ea41c34ed3edb961a45519cfb727d1b4351d84c37507349a9", "fetched_at": "2026-08-28T04:05:51.242029+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Thomvis/BrightFutures"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.242029+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.242029+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:12:12.428447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bf58cbad0d406d5ea41c34ed3edb961a45519cfb727d1b4351d84c37507349a9", "fetched_at": "2026-08-28T04:05:51.242029+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Thomvis/BrightFutures"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.242029+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.242029+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.242029+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:12:12.428447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bf58cbad0d406d5ea41c34ed3edb961a45519cfb727d1b4351d84c37507349a9", "fetched_at": "2026-08-28T04:05:51.242029+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Thomvis/BrightFutures"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.242029+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.242029+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:12:12.428447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bf58cbad0d406d5ea41c34ed3edb961a45519cfb727d1b4351d84c37507349a9", "fetched_at": "2026-08-28T04:05:51.242029+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Thomvis/BrightFutures"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:12:12.428447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bf58cbad0d406d5ea41c34ed3edb961a45519cfb727d1b4351d84c37507349a9", "fetched_at": "2026-08-28T04:05:51.242029+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Thomvis/BrightFutures"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:12:12.428447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bf58cbad0d406d5ea41c34ed3edb961a45519cfb727d1b4351d84c37507349a9", "fetched_at": "2026-08-28T04:05:51.242029+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Thomvis/BrightFutures"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:12:12.428447+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bf58cbad0d406d5ea41c34ed3edb961a45519cfb727d1b4351d84c37507349a9", "fetched_at": "2026-08-28T04:05:51.242029+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Thomvis/BrightFutures"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4469, "days_push": 1523, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}