{"adoption": {"forks": 1841, "observed_at": "2026-08-28T04:10:26.091050+00:00", "stars": 8870}, "canonical_url": "https://ross.abutalabs.com/products/yytext", "card": {"archived": false, "artifact_type": "library", "description": "Powerful text framework for iOS to display and edit rich text.", "domain": ["mobile-development", "frontend", "text-editors"], "enriched": true, "function": ["ui-components", "parser", "internationalization"], "health_score": 20, "homepage": null, "language": "Objective-C", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["ibireme/YYText"], "name": "ibireme/YYText", "platform": ["cpp"], "pushed_at": "2024-07-16T06:32:03+00:00", "repo": "ibireme/YYText", "stars": 8870, "tags": ["rich-text", "coretext", "textkit", "objective-c", "attributed-string", "uikit", "ios", "mobile", "swift"], "topics": [], "urls": [], "use_cases": ["render rich text with images and views inline in iOS", "build a high-performance chat or feed text view", "parse markdown and emoticons into attributed strings", "add tappable highlight ranges to text", "support vertical CJK text layout", "create an editable text view with custom keyboard and undo/redo"], "what_it_is": "YYText is a powerful iOS text framework for displaying and editing rich text, offering UILabel/UITextView-compatible APIs with high-performance asynchronous layout and rendering. It extends CoreText with attachments, highlights, markdown/emoticon parsing, exclusion paths, and vertical CJK layout.", "when_to_avoid": ["you are building for Android, web, or cross-platform targets", "you only need simple text display that UILabel already handles", "you want a framework with frequent updates and modern Swift APIs", "you are starting a new SwiftUI-first project"], "when_to_choose": ["you need text rendering performance beyond TextKit on iOS", "you need text attachments with UIView/CALayer or custom highlight interactions", "you need vertical form layout or exclusion paths", "you want UILabel/UITextView API compatibility with richer features"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/yytext", "repo": "ibireme/YYText", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.091050+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:24:45.714933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2f0031aeacf08d45a20cab45a72e0c2a76ca91d23493e0f849aa2969e7c8b80", "fetched_at": "2026-08-28T04:10:26.091050+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ibireme/YYText"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.091050+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:24:45.714933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2f0031aeacf08d45a20cab45a72e0c2a76ca91d23493e0f849aa2969e7c8b80", "fetched_at": "2026-08-28T04:10:26.091050+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ibireme/YYText"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:24:45.714933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2f0031aeacf08d45a20cab45a72e0c2a76ca91d23493e0f849aa2969e7c8b80", "fetched_at": "2026-08-28T04:10:26.091050+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ibireme/YYText"}], "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:10:26.091050+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.091050+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.091050+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:24:45.714933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2f0031aeacf08d45a20cab45a72e0c2a76ca91d23493e0f849aa2969e7c8b80", "fetched_at": "2026-08-28T04:10:26.091050+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ibireme/YYText"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.091050+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.091050+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:24:45.714933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2f0031aeacf08d45a20cab45a72e0c2a76ca91d23493e0f849aa2969e7c8b80", "fetched_at": "2026-08-28T04:10:26.091050+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ibireme/YYText"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.091050+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.091050+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.091050+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:24:45.714933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2f0031aeacf08d45a20cab45a72e0c2a76ca91d23493e0f849aa2969e7c8b80", "fetched_at": "2026-08-28T04:10:26.091050+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ibireme/YYText"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.091050+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:26.091050+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:24:45.714933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2f0031aeacf08d45a20cab45a72e0c2a76ca91d23493e0f849aa2969e7c8b80", "fetched_at": "2026-08-28T04:10:26.091050+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ibireme/YYText"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:24:45.714933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2f0031aeacf08d45a20cab45a72e0c2a76ca91d23493e0f849aa2969e7c8b80", "fetched_at": "2026-08-28T04:10:26.091050+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ibireme/YYText"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:24:45.714933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2f0031aeacf08d45a20cab45a72e0c2a76ca91d23493e0f849aa2969e7c8b80", "fetched_at": "2026-08-28T04:10:26.091050+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ibireme/YYText"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:24:45.714933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2f0031aeacf08d45a20cab45a72e0c2a76ca91d23493e0f849aa2969e7c8b80", "fetched_at": "2026-08-28T04:10:26.091050+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ibireme/YYText"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3954, "days_push": 778, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}