{"adoption": {"forks": 1002, "observed_at": "2026-08-28T04:09:12.115596+00:00", "stars": 5201}, "canonical_url": "https://ross.abutalabs.com/products/twoway-view", "card": {"archived": true, "artifact_type": "library", "description": "[DEPRECATED] RecyclerView made simple", "domain": ["mobile-development", "android-tools", "frontend"], "enriched": true, "function": ["ui-components", "state-management"], "health_score": 10, "homepage": null, "language": "Java", "license": null, "license_family": "other", "maturity": "abandoned", "member_repos": ["lucasr/twoway-view"], "name": "lucasr/twoway-view", "platform": ["jvm"], "pushed_at": "2017-03-20T14:42:55+00:00", "repo": "lucasr/twoway-view", "stars": 5201, "tags": ["recyclerview", "layoutmanager", "android-ui", "deprecated", "listview", "grid-layout", "android", "mobile"], "topics": [], "urls": [], "use_cases": ["build custom RecyclerView layouts in Android", "add item click listeners to RecyclerView like ListView", "implement staggered grid layouts in Android apps", "add single or multiple item selection to RecyclerView", "add item spacing and dividers to RecyclerView lists"], "what_it_is": "TwoWayView is a deprecated Android library that simplifies RecyclerView usage by providing a LayoutManager base class and stock layouts like list, grid, and staggered grid. It also adds ListView-style APIs for item clicks and selection modes.", "when_to_avoid": ["starting a new Android project - the library is deprecated and unmaintained", "you need modern RecyclerView features or ongoing support", "you want a library with an explicit license file"], "when_to_choose": ["maintaining a legacy Android app that already depends on TwoWayView", "you need ListView-style click and selection APIs on RecyclerView in an old codebase"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/twoway-view", "repo": "lucasr/twoway-view", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.115596+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.366770+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4875e17aaaacc6ccd005e01a4f02a77a4a03682c9ddad51528e79a3a10e7caa3", "fetched_at": "2026-08-28T04:09:12.115596+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lucasr/twoway-view"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.115596+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.366770+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4875e17aaaacc6ccd005e01a4f02a77a4a03682c9ddad51528e79a3a10e7caa3", "fetched_at": "2026-08-28T04:09:12.115596+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lucasr/twoway-view"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.366770+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4875e17aaaacc6ccd005e01a4f02a77a4a03682c9ddad51528e79a3a10e7caa3", "fetched_at": "2026-08-28T04:09:12.115596+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lucasr/twoway-view"}], "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:09:12.115596+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.115596+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.115596+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.366770+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4875e17aaaacc6ccd005e01a4f02a77a4a03682c9ddad51528e79a3a10e7caa3", "fetched_at": "2026-08-28T04:09:12.115596+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lucasr/twoway-view"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.115596+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.115596+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.366770+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4875e17aaaacc6ccd005e01a4f02a77a4a03682c9ddad51528e79a3a10e7caa3", "fetched_at": "2026-08-28T04:09:12.115596+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lucasr/twoway-view"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.115596+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.115596+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.115596+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.366770+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4875e17aaaacc6ccd005e01a4f02a77a4a03682c9ddad51528e79a3a10e7caa3", "fetched_at": "2026-08-28T04:09:12.115596+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lucasr/twoway-view"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.115596+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:12.115596+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.366770+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4875e17aaaacc6ccd005e01a4f02a77a4a03682c9ddad51528e79a3a10e7caa3", "fetched_at": "2026-08-28T04:09:12.115596+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lucasr/twoway-view"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.366770+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4875e17aaaacc6ccd005e01a4f02a77a4a03682c9ddad51528e79a3a10e7caa3", "fetched_at": "2026-08-28T04:09:12.115596+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lucasr/twoway-view"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.366770+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4875e17aaaacc6ccd005e01a4f02a77a4a03682c9ddad51528e79a3a10e7caa3", "fetched_at": "2026-08-28T04:09:12.115596+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lucasr/twoway-view"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:00:15.366770+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4875e17aaaacc6ccd005e01a4f02a77a4a03682c9ddad51528e79a3a10e7caa3", "fetched_at": "2026-08-28T04:09:12.115596+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lucasr/twoway-view"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4975, "days_push": 3453, "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}}