{"adoption": {"forks": 123, "observed_at": "2026-08-28T04:04:16.887232+00:00", "stars": 1296}, "canonical_url": "https://ross.abutalabs.com/products/efremidze-cluster", "card": {"archived": false, "artifact_type": "library", "description": "Easy Map Annotation Clustering 📍", "domain": ["mobile-development"], "enriched": true, "function": ["ui-components", "geospatial", "data-visualization"], "health_score": 51, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["efremidze/Cluster"], "name": "efremidze/Cluster", "platform": [], "pushed_at": "2025-07-08T21:26:16+00:00", "repo": "efremidze/Cluster", "stars": 1296, "tags": ["mapkit", "annotation-clustering", "quadtree", "cocoapods", "carthage", "swift-package-manager", "maps", "ios", "swift", "mobile"], "topics": ["map", "cluster", "clustering", "mapkit", "ios", "swift", "annotations", "apple", "cocoapods", "carthage"], "urls": [], "use_cases": ["cluster map pins in an iOS app", "display thousands of MKAnnotations without performance issues", "group nearby map annotations into a single cluster view", "customize the appearance of clustered annotation views", "animate cluster expansion and collapse on a map", "manage multiple clustering configurations on one map"], "what_it_is": "Cluster is a Swift library for iOS that aggregates MapKit map annotations into clusters using an efficient QuadTree algorithm. It supports adding and removing annotations, custom annotation views, animations, and multiple cluster managers.", "when_to_avoid": ["you are building for Android or cross-platform frameworks", "you use Google Maps or Mapbox instead of Apple MapKit", "you only have a handful of annotations and don't need clustering"], "when_to_choose": ["you use MapKit on iOS and need performant annotation clustering", "you want a lightweight Swift library with CocoaPods, Carthage, and SPM support", "you need custom cluster annotation views and animation support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/efremidze-cluster", "repo": "efremidze/Cluster", "role": "main", "score": 36}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.887232+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:53:57.099100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab9ae97b0db0d3b80006711d348745baaeb2982f7b39277ef15a9f33abc1076a", "fetched_at": "2026-08-28T04:04:16.887232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/efremidze/Cluster"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.887232+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:53:57.099100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab9ae97b0db0d3b80006711d348745baaeb2982f7b39277ef15a9f33abc1076a", "fetched_at": "2026-08-28T04:04:16.887232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/efremidze/Cluster"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:53:57.099100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab9ae97b0db0d3b80006711d348745baaeb2982f7b39277ef15a9f33abc1076a", "fetched_at": "2026-08-28T04:04:16.887232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/efremidze/Cluster"}], "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:16.887232+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.887232+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.887232+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:53:57.099100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab9ae97b0db0d3b80006711d348745baaeb2982f7b39277ef15a9f33abc1076a", "fetched_at": "2026-08-28T04:04:16.887232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/efremidze/Cluster"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.887232+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.887232+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:53:57.099100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab9ae97b0db0d3b80006711d348745baaeb2982f7b39277ef15a9f33abc1076a", "fetched_at": "2026-08-28T04:04:16.887232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/efremidze/Cluster"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.887232+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.887232+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.887232+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:53:57.099100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab9ae97b0db0d3b80006711d348745baaeb2982f7b39277ef15a9f33abc1076a", "fetched_at": "2026-08-28T04:04:16.887232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/efremidze/Cluster"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.887232+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.887232+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:53:57.099100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab9ae97b0db0d3b80006711d348745baaeb2982f7b39277ef15a9f33abc1076a", "fetched_at": "2026-08-28T04:04:16.887232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/efremidze/Cluster"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:53:57.099100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab9ae97b0db0d3b80006711d348745baaeb2982f7b39277ef15a9f33abc1076a", "fetched_at": "2026-08-28T04:04:16.887232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/efremidze/Cluster"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:53:57.099100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab9ae97b0db0d3b80006711d348745baaeb2982f7b39277ef15a9f33abc1076a", "fetched_at": "2026-08-28T04:04:16.887232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/efremidze/Cluster"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:53:57.099100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ab9ae97b0db0d3b80006711d348745baaeb2982f7b39277ef15a9f33abc1076a", "fetched_at": "2026-08-28T04:04:16.887232+00:00", "kind": "readme", "missing": false, "url": "https://github.com/efremidze/Cluster"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 30, "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": 3429, "days_push": 421, "days_rel": 421, "gap_med": null, "n_releases_24m": 1}, "score": 36, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}