{"adoption": {"forks": 683, "observed_at": "2026-08-28T04:05:32.688169+00:00", "stars": 1761}, "canonical_url": "https://ross.abutalabs.com/products/android-viewflow", "card": {"archived": true, "artifact_type": "library", "description": "A horizontal view scroller library for Android", "domain": ["mobile-development", "android-tools", "frontend"], "enriched": true, "function": ["ui-components", "animation"], "health_score": 10, "homepage": null, "language": "Java", "license": null, "license_family": "other", "maturity": "abandoned", "member_repos": ["pakerfeldt/android-viewflow"], "name": "pakerfeldt/android-viewflow", "platform": ["jvm"], "pushed_at": "2013-09-10T07:13:11+00:00", "repo": "pakerfeldt/android-viewflow", "stars": 1761, "tags": ["android-ui", "horizontal-scrolling", "viewpager-alternative", "adapter-based", "legacy", "android"], "topics": [], "urls": [], "use_cases": ["horizontally scrollable view pager on android", "swipe through an indeterminate number of views", "android carousel with adapter-populated items", "lazy initialize views while swiping", "add page indicator dots to horizontal scroller"], "what_it_is": "ViewFlow is an Android UI widget library providing a horizontally scrollable ViewGroup populated from an Adapter, with support for flow indicators and lazy view initialization. It is designed for an indeterminate number of views, as an alternative to ViewPager for dynamic content.", "when_to_avoid": ["starting a new Android project - use ViewPager2 or RecyclerView with SnapHelper instead", "you have a small static number of views - use Fragments and ViewPager", "you need an actively maintained library with modern Android support"], "when_to_choose": ["maintaining a legacy Android app already using ViewFlow", "you need horizontal swiping with an unbounded adapter-backed view count on very old Android versions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/android-viewflow", "repo": "pakerfeldt/android-viewflow", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.688169+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:27:11.979862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac758d713835f498ad6ac1127c5c8ee361c8bae81f6ff7a0bfbe3f3966e446be", "fetched_at": "2026-08-28T04:05:32.688169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pakerfeldt/android-viewflow"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.688169+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:27:11.979862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac758d713835f498ad6ac1127c5c8ee361c8bae81f6ff7a0bfbe3f3966e446be", "fetched_at": "2026-08-28T04:05:32.688169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pakerfeldt/android-viewflow"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:27:11.979862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac758d713835f498ad6ac1127c5c8ee361c8bae81f6ff7a0bfbe3f3966e446be", "fetched_at": "2026-08-28T04:05:32.688169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pakerfeldt/android-viewflow"}], "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:32.688169+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.688169+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.688169+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:27:11.979862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac758d713835f498ad6ac1127c5c8ee361c8bae81f6ff7a0bfbe3f3966e446be", "fetched_at": "2026-08-28T04:05:32.688169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pakerfeldt/android-viewflow"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.688169+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.688169+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:27:11.979862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac758d713835f498ad6ac1127c5c8ee361c8bae81f6ff7a0bfbe3f3966e446be", "fetched_at": "2026-08-28T04:05:32.688169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pakerfeldt/android-viewflow"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.688169+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.688169+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.688169+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:27:11.979862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac758d713835f498ad6ac1127c5c8ee361c8bae81f6ff7a0bfbe3f3966e446be", "fetched_at": "2026-08-28T04:05:32.688169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pakerfeldt/android-viewflow"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.688169+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.688169+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:27:11.979862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac758d713835f498ad6ac1127c5c8ee361c8bae81f6ff7a0bfbe3f3966e446be", "fetched_at": "2026-08-28T04:05:32.688169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pakerfeldt/android-viewflow"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:27:11.979862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac758d713835f498ad6ac1127c5c8ee361c8bae81f6ff7a0bfbe3f3966e446be", "fetched_at": "2026-08-28T04:05:32.688169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pakerfeldt/android-viewflow"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:27:11.979862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac758d713835f498ad6ac1127c5c8ee361c8bae81f6ff7a0bfbe3f3966e446be", "fetched_at": "2026-08-28T04:05:32.688169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pakerfeldt/android-viewflow"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:27:11.979862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac758d713835f498ad6ac1127c5c8ee361c8bae81f6ff7a0bfbe3f3966e446be", "fetched_at": "2026-08-28T04:05:32.688169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pakerfeldt/android-viewflow"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+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": 5597, "days_push": 4740, "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}}