{"adoption": {"forks": 180, "observed_at": "2026-08-28T04:04:33.916197+00:00", "stars": 1381}, "canonical_url": "https://ross.abutalabs.com/products/rxgesture", "card": {"archived": false, "artifact_type": "library", "description": "RxSwift reactive wrapper for view gestures", "domain": ["mobile-development", "frontend"], "enriched": true, "function": ["ui-components", "state-management"], "health_score": 66, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["RxSwiftCommunity/RxGesture"], "name": "RxSwiftCommunity/RxGesture", "platform": [], "pushed_at": "2026-04-08T08:08:50+00:00", "repo": "RxSwiftCommunity/RxGesture", "stars": 1381, "tags": ["rxswift", "gestures", "reactive", "uikit", "appkit", "ios", "macos", "swift"], "topics": ["rxswift", "recognizers", "gesture", "pan", "swipe", "click"], "urls": [], "use_cases": ["make any view tappable with reactive tap handling", "respond to swipe gestures on views in RxSwift apps", "combine multiple gestures like tap or swipe into one observable", "get pan gesture translation and location reactively", "handle long press and pinch gestures reactively", "dismiss a photo preview on tap or swipe"], "what_it_is": "RxGesture is a Swift library providing reactive wrappers for iOS and macOS gesture recognizers on top of RxSwift. It lets developers observe taps, swipes, pans, pinches, and other gestures as observables on any view.", "when_to_avoid": ["your project does not use RxSwift or reactive programming", "you use SwiftUI where native gesture modifiers suffice", "you want a minimal dependency-free UIKit setup"], "when_to_choose": ["you already use RxSwift and want declarative gesture handling", "you need to observe multiple gesture types on the same view", "you want gesture events as observables instead of target-action delegates"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rxgesture", "repo": "RxSwiftCommunity/RxGesture", "role": "main", "score": 57}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.916197+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:40:09.711807+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21e94a24a9751215c76be4056584579430486d8fa826f20375c35f51732b94d7", "fetched_at": "2026-08-28T04:04:33.916197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RxSwiftCommunity/RxGesture"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.916197+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:40:09.711807+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21e94a24a9751215c76be4056584579430486d8fa826f20375c35f51732b94d7", "fetched_at": "2026-08-28T04:04:33.916197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RxSwiftCommunity/RxGesture"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:40:09.711807+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21e94a24a9751215c76be4056584579430486d8fa826f20375c35f51732b94d7", "fetched_at": "2026-08-28T04:04:33.916197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RxSwiftCommunity/RxGesture"}], "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:04:33.916197+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.916197+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.916197+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:40:09.711807+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21e94a24a9751215c76be4056584579430486d8fa826f20375c35f51732b94d7", "fetched_at": "2026-08-28T04:04:33.916197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RxSwiftCommunity/RxGesture"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.916197+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.916197+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:40:09.711807+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21e94a24a9751215c76be4056584579430486d8fa826f20375c35f51732b94d7", "fetched_at": "2026-08-28T04:04:33.916197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RxSwiftCommunity/RxGesture"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.916197+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.916197+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.916197+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:40:09.711807+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21e94a24a9751215c76be4056584579430486d8fa826f20375c35f51732b94d7", "fetched_at": "2026-08-28T04:04:33.916197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RxSwiftCommunity/RxGesture"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.916197+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.916197+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:40:09.711807+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21e94a24a9751215c76be4056584579430486d8fa826f20375c35f51732b94d7", "fetched_at": "2026-08-28T04:04:33.916197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RxSwiftCommunity/RxGesture"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:40:09.711807+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21e94a24a9751215c76be4056584579430486d8fa826f20375c35f51732b94d7", "fetched_at": "2026-08-28T04:04:33.916197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RxSwiftCommunity/RxGesture"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:40:09.711807+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21e94a24a9751215c76be4056584579430486d8fa826f20375c35f51732b94d7", "fetched_at": "2026-08-28T04:04:33.916197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RxSwiftCommunity/RxGesture"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:40:09.711807+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21e94a24a9751215c76be4056584579430486d8fa826f20375c35f51732b94d7", "fetched_at": "2026-08-28T04:04:33.916197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RxSwiftCommunity/RxGesture"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 76, "longevity": 100, "rhythm": 8}, "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": 3816, "days_push": 147, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 57, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}