{"adoption": {"forks": 120, "observed_at": "2026-08-28T04:03:19.008087+00:00", "stars": 1035}, "canonical_url": "https://ross.abutalabs.com/products/composereorderable", "card": {"archived": false, "artifact_type": "library", "description": "Enables reordering by drag and drop in Jetpack Compose (Desktop) LazyList & LazyGrid.", "domain": ["mobile-development", "frontend", "cross-platform"], "enriched": true, "function": ["ui-components", "animation"], "health_score": 70, "homepage": null, "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["aclassen/ComposeReorderable"], "name": "aclassen/ComposeReorderable", "platform": ["jvm"], "pushed_at": "2026-05-19T23:05:16+00:00", "repo": "aclassen/ComposeReorderable", "stars": 1035, "tags": ["jetpack-compose", "drag-and-drop", "lazylist", "lazygrid", "compose-desktop", "reorderable-lists", "android", "desktop"], "topics": ["jetpack-compose", "android", "compose-desktop"], "urls": [], "use_cases": ["reorder items in a list by dragging", "drag and drop reordering in Jetpack Compose", "reorderable grid for Android app", "add drag handle to reorder list items", "reorder items with long press in Compose", "sortable lazy list in Kotlin Compose"], "what_it_is": "A Jetpack Compose library providing a modifier that enables drag-and-drop reordering of items in LazyList and LazyGrid on Android and Compose Desktop. It supports keyed and indexed lists, drag handles, long-press detection, and customizable drag animations.", "when_to_avoid": ["you use XML Views instead of Compose", "you need reordering in non-lazy layouts", "you need cross-platform drag-and-drop outside the Compose ecosystem"], "when_to_choose": ["you use Jetpack Compose and need drag-and-drop reordering in LazyColumn/LazyRow or LazyGrid", "you want both Android and Compose Desktop support", "you need customizable drag animations and drag handles"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/composereorderable", "repo": "aclassen/ComposeReorderable", "role": "main", "score": 60}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.008087+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:04:52.222435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35577aaa35de734af3242cb3a4d940914bc2de10172d036d55ae4cf04425d058", "fetched_at": "2026-08-28T04:03:19.008087+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aclassen/ComposeReorderable"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.008087+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:04:52.222435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35577aaa35de734af3242cb3a4d940914bc2de10172d036d55ae4cf04425d058", "fetched_at": "2026-08-28T04:03:19.008087+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aclassen/ComposeReorderable"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:04:52.222435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35577aaa35de734af3242cb3a4d940914bc2de10172d036d55ae4cf04425d058", "fetched_at": "2026-08-28T04:03:19.008087+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aclassen/ComposeReorderable"}], "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:19.008087+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.008087+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.008087+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:04:52.222435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35577aaa35de734af3242cb3a4d940914bc2de10172d036d55ae4cf04425d058", "fetched_at": "2026-08-28T04:03:19.008087+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aclassen/ComposeReorderable"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.008087+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.008087+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:04:52.222435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35577aaa35de734af3242cb3a4d940914bc2de10172d036d55ae4cf04425d058", "fetched_at": "2026-08-28T04:03:19.008087+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aclassen/ComposeReorderable"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.008087+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.008087+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.008087+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:04:52.222435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35577aaa35de734af3242cb3a4d940914bc2de10172d036d55ae4cf04425d058", "fetched_at": "2026-08-28T04:03:19.008087+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aclassen/ComposeReorderable"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.008087+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.008087+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:04:52.222435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35577aaa35de734af3242cb3a4d940914bc2de10172d036d55ae4cf04425d058", "fetched_at": "2026-08-28T04:03:19.008087+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aclassen/ComposeReorderable"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:04:52.222435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35577aaa35de734af3242cb3a4d940914bc2de10172d036d55ae4cf04425d058", "fetched_at": "2026-08-28T04:03:19.008087+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aclassen/ComposeReorderable"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:04:52.222435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35577aaa35de734af3242cb3a4d940914bc2de10172d036d55ae4cf04425d058", "fetched_at": "2026-08-28T04:03:19.008087+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aclassen/ComposeReorderable"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:04:52.222435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "35577aaa35de734af3242cb3a4d940914bc2de10172d036d55ae4cf04425d058", "fetched_at": "2026-08-28T04:03:19.008087+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aclassen/ComposeReorderable"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 83, "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": 1881, "days_push": 106, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 60, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}