{"adoption": {"forks": 221, "observed_at": "2026-08-28T04:04:32.379845+00:00", "stars": 1372}, "canonical_url": "https://ross.abutalabs.com/products/qbpopupmenu", "card": {"archived": true, "artifact_type": "library", "description": "Customizable popup menu for iOS.", "domain": ["mobile-development", "frontend"], "enriched": true, "function": ["ui-components", "gui"], "health_score": 10, "homepage": null, "language": "Objective-C", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["nek023/QBPopupMenu"], "name": "nek023/QBPopupMenu", "platform": [], "pushed_at": "2016-02-07T01:29:35+00:00", "repo": "nek023/QBPopupMenu", "stars": 1372, "tags": ["popup-menu", "objective-c", "uimenucontroller", "cocoapods", "ios", "mobile"], "topics": [], "urls": [], "use_cases": ["show a custom context menu on long-press in an iOS app", "replace UIMenuController with a stylable popup menu", "display popup menu items with titles or images", "create a themed popup menu by subclassing and overriding drawing methods", "show many menu items with automatic pagination"], "what_it_is": "QBPopupMenu is a customizable popup menu library for iOS, styled similarly to UIMenuController in iOS 7. It supports custom appearance via subclassing, automatic pagination of many items, and automatic frame adjustment to stay within the target view.", "when_to_avoid": ["building for Android or non-Apple platforms", "you need a modern, actively maintained SwiftUI-first menu solution", "your project targets only recent iOS APIs and you prefer system-provided UIMenu/UIContextMenu"], "when_to_choose": ["building an Objective-C or Swift iOS app that needs a customizable text-selection or context popup menu", "you want UIMenuController-like behavior with custom colors and drawing", "you need automatic pagination and positioning of menu items"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/qbpopupmenu", "repo": "nek023/QBPopupMenu", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.379845+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:40:46.969590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c89f5ba3483337a755d9a951abb202565a08353e40eaeb1b62a26fdbbcc96bda", "fetched_at": "2026-08-28T04:04:32.379845+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nek023/QBPopupMenu"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.379845+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:40:46.969590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c89f5ba3483337a755d9a951abb202565a08353e40eaeb1b62a26fdbbcc96bda", "fetched_at": "2026-08-28T04:04:32.379845+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nek023/QBPopupMenu"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:40:46.969590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c89f5ba3483337a755d9a951abb202565a08353e40eaeb1b62a26fdbbcc96bda", "fetched_at": "2026-08-28T04:04:32.379845+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nek023/QBPopupMenu"}], "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:32.379845+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.379845+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.379845+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:40:46.969590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c89f5ba3483337a755d9a951abb202565a08353e40eaeb1b62a26fdbbcc96bda", "fetched_at": "2026-08-28T04:04:32.379845+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nek023/QBPopupMenu"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.379845+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.379845+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:40:46.969590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c89f5ba3483337a755d9a951abb202565a08353e40eaeb1b62a26fdbbcc96bda", "fetched_at": "2026-08-28T04:04:32.379845+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nek023/QBPopupMenu"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.379845+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.379845+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.379845+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:40:46.969590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c89f5ba3483337a755d9a951abb202565a08353e40eaeb1b62a26fdbbcc96bda", "fetched_at": "2026-08-28T04:04:32.379845+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nek023/QBPopupMenu"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.379845+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.379845+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:40:46.969590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c89f5ba3483337a755d9a951abb202565a08353e40eaeb1b62a26fdbbcc96bda", "fetched_at": "2026-08-28T04:04:32.379845+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nek023/QBPopupMenu"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:40:46.969590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c89f5ba3483337a755d9a951abb202565a08353e40eaeb1b62a26fdbbcc96bda", "fetched_at": "2026-08-28T04:04:32.379845+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nek023/QBPopupMenu"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:40:46.969590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c89f5ba3483337a755d9a951abb202565a08353e40eaeb1b62a26fdbbcc96bda", "fetched_at": "2026-08-28T04:04:32.379845+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nek023/QBPopupMenu"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:40:46.969590+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c89f5ba3483337a755d9a951abb202565a08353e40eaeb1b62a26fdbbcc96bda", "fetched_at": "2026-08-28T04:04:32.379845+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nek023/QBPopupMenu"}], "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"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4961, "days_push": 3861, "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}}