{"adoption": {"forks": 222, "observed_at": "2026-08-28T04:04:27.557721+00:00", "stars": 1347}, "canonical_url": "https://ross.abutalabs.com/products/recyclertablayout", "card": {"archived": false, "artifact_type": "library", "description": "An efficient TabLayout library implemented with RecyclerView.", "domain": ["mobile-development", "android-tools", "frontend"], "enriched": true, "function": ["ui-components", "mobile-framework"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["nshmura/RecyclerTabLayout"], "name": "nshmura/RecyclerTabLayout", "platform": ["jvm"], "pushed_at": "2019-08-29T15:28:38+00:00", "repo": "nshmura/RecyclerTabLayout", "stars": 1347, "tags": ["tab-layout", "recyclerview", "viewpager", "android-ui", "rtl-support", "android", "mobile"], "topics": [], "urls": [], "use_cases": ["display many tabs efficiently in an android app", "implement infinite loop scrolling tab bar", "replace TabLayout with a RecyclerView-based version", "sync tab indicator with ViewPager", "support RTL layouts for tabs", "create custom tab adapters with RecyclerView"], "what_it_is": "An Android library providing an efficient TabLayout implemented with RecyclerView, designed to handle many tabs and infinite loop scrolling. It integrates easily with ViewPager similarly to the Android Design Support Library's TabLayout.", "when_to_avoid": ["you need a maintained library - last release was 2019", "your project uses ViewPager2 instead of ViewPager", "you only need a few simple tabs (use standard TabLayout)", "you use Kotlin-first or Jetpack Compose UI"], "when_to_choose": ["your app needs a tab bar with a large number of tabs", "you want infinite/looping tab scrolling", "you need RTL layout support in tabs", "you want easy ViewPager integration like TabLayout"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/recyclertablayout", "repo": "nshmura/RecyclerTabLayout", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.557721+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:42:37.875617+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9d74fb1c3803769d69de7a706c42e5cbb6f52375cf61b568e31be5bb6f32f66", "fetched_at": "2026-08-28T04:04:27.557721+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nshmura/RecyclerTabLayout"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.557721+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:42:37.875617+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9d74fb1c3803769d69de7a706c42e5cbb6f52375cf61b568e31be5bb6f32f66", "fetched_at": "2026-08-28T04:04:27.557721+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nshmura/RecyclerTabLayout"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:42:37.875617+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9d74fb1c3803769d69de7a706c42e5cbb6f52375cf61b568e31be5bb6f32f66", "fetched_at": "2026-08-28T04:04:27.557721+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nshmura/RecyclerTabLayout"}], "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:27.557721+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.557721+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.557721+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:42:37.875617+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9d74fb1c3803769d69de7a706c42e5cbb6f52375cf61b568e31be5bb6f32f66", "fetched_at": "2026-08-28T04:04:27.557721+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nshmura/RecyclerTabLayout"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.557721+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.557721+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:42:37.875617+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9d74fb1c3803769d69de7a706c42e5cbb6f52375cf61b568e31be5bb6f32f66", "fetched_at": "2026-08-28T04:04:27.557721+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nshmura/RecyclerTabLayout"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.557721+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.557721+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.557721+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:42:37.875617+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9d74fb1c3803769d69de7a706c42e5cbb6f52375cf61b568e31be5bb6f32f66", "fetched_at": "2026-08-28T04:04:27.557721+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nshmura/RecyclerTabLayout"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.557721+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.557721+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:42:37.875617+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9d74fb1c3803769d69de7a706c42e5cbb6f52375cf61b568e31be5bb6f32f66", "fetched_at": "2026-08-28T04:04:27.557721+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nshmura/RecyclerTabLayout"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:42:37.875617+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9d74fb1c3803769d69de7a706c42e5cbb6f52375cf61b568e31be5bb6f32f66", "fetched_at": "2026-08-28T04:04:27.557721+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nshmura/RecyclerTabLayout"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:42:37.875617+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9d74fb1c3803769d69de7a706c42e5cbb6f52375cf61b568e31be5bb6f32f66", "fetched_at": "2026-08-28T04:04:27.557721+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nshmura/RecyclerTabLayout"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:42:37.875617+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9d74fb1c3803769d69de7a706c42e5cbb6f52375cf61b568e31be5bb6f32f66", "fetched_at": "2026-08-28T04:04:27.557721+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nshmura/RecyclerTabLayout"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4055, "days_push": 2561, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}