{"adoption": {"forks": 90, "observed_at": "2026-08-28T04:03:21.869198+00:00", "stars": 1047}, "canonical_url": "https://ross.abutalabs.com/products/rxcombine", "card": {"archived": false, "artifact_type": "library", "description": "Bi-directional type bridging between RxSwift and Apple's Combine framework", "domain": ["developer-tools", "mobile-development", "cross-platform"], "enriched": true, "function": ["middleware"], "health_score": 20, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "experimental", "member_repos": ["CombineCommunity/RxCombine"], "name": "CombineCommunity/RxCombine", "platform": [], "pushed_at": "2024-04-21T15:21:37+00:00", "repo": "CombineCommunity/RxCombine", "stars": 1047, "tags": ["rxswift", "combine", "reactive-programming", "frp", "type-bridging", "watchos", "ios", "macos", "linux", "swift"], "topics": ["rxswift", "applecombine", "combine", "swift", "ios", "macos", "linux", "watchos", "reactive", "frp", "reactive-programming", "reactive-streams"], "urls": [], "use_cases": ["bridge rxswift observables to combine publishers", "use combine in existing rxswift codebase", "migrate an ios app from rxswift to combine gradually", "convert combine publishers back to rxswift observables", "mix reactive frameworks in a swift project"], "what_it_is": "RxCombine is a Swift library providing bi-directional type bridging between RxSwift and Apple's Combine framework. It lets developers convert reactive streams between the two ecosystems with helper conversions.", "when_to_avoid": ["you are starting a new project and can pick a single reactive framework", "you need a production-hardened, stable library - it is described as an experimental PoC", "you don't use either RxSwift or Combine"], "when_to_choose": ["you maintain a large RxSwift codebase and want to adopt Combine incrementally", "you need interop between libraries built on RxSwift and Combine", "you want a lightweight bridging layer rather than a full reactive rewrite"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rxcombine", "repo": "CombineCommunity/RxCombine", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.869198+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:01:03.669749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ba78f8336c69bf8ebb10ed87ea529beca2d4153a58b6d406fbff0469ccf04cfb", "fetched_at": "2026-08-28T04:03:21.869198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CombineCommunity/RxCombine"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.869198+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:01:03.669749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ba78f8336c69bf8ebb10ed87ea529beca2d4153a58b6d406fbff0469ccf04cfb", "fetched_at": "2026-08-28T04:03:21.869198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CombineCommunity/RxCombine"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:01:03.669749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ba78f8336c69bf8ebb10ed87ea529beca2d4153a58b6d406fbff0469ccf04cfb", "fetched_at": "2026-08-28T04:03:21.869198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CombineCommunity/RxCombine"}], "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:03:21.869198+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.869198+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.869198+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:01:03.669749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ba78f8336c69bf8ebb10ed87ea529beca2d4153a58b6d406fbff0469ccf04cfb", "fetched_at": "2026-08-28T04:03:21.869198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CombineCommunity/RxCombine"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.869198+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.869198+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:01:03.669749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ba78f8336c69bf8ebb10ed87ea529beca2d4153a58b6d406fbff0469ccf04cfb", "fetched_at": "2026-08-28T04:03:21.869198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CombineCommunity/RxCombine"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.869198+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.869198+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.869198+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:01:03.669749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ba78f8336c69bf8ebb10ed87ea529beca2d4153a58b6d406fbff0469ccf04cfb", "fetched_at": "2026-08-28T04:03:21.869198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CombineCommunity/RxCombine"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.869198+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.869198+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:01:03.669749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ba78f8336c69bf8ebb10ed87ea529beca2d4153a58b6d406fbff0469ccf04cfb", "fetched_at": "2026-08-28T04:03:21.869198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CombineCommunity/RxCombine"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:01:03.669749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ba78f8336c69bf8ebb10ed87ea529beca2d4153a58b6d406fbff0469ccf04cfb", "fetched_at": "2026-08-28T04:03:21.869198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CombineCommunity/RxCombine"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:01:03.669749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ba78f8336c69bf8ebb10ed87ea529beca2d4153a58b6d406fbff0469ccf04cfb", "fetched_at": "2026-08-28T04:03:21.869198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CombineCommunity/RxCombine"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:01:03.669749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ba78f8336c69bf8ebb10ed87ea529beca2d4153a58b6d406fbff0469ccf04cfb", "fetched_at": "2026-08-28T04:03:21.869198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CombineCommunity/RxCombine"}], "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": 2640, "days_push": 864, "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}}