{"adoption": {"forks": 156, "observed_at": "2026-08-28T04:05:07.271625+00:00", "stars": 1583}, "canonical_url": "https://ross.abutalabs.com/products/expecta", "card": {"archived": false, "artifact_type": "library", "description": "A Matcher Framework for Objective-C/Cocoa", "domain": ["testing", "developer-tools"], "enriched": true, "function": ["testing", "e2e-testing"], "health_score": 20, "homepage": null, "language": "Objective-C", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["specta/expecta"], "name": "specta/expecta", "platform": ["cross-platform"], "pushed_at": "2024-04-17T17:30:35+00:00", "repo": "specta/expecta", "stars": 1583, "tags": ["objective-c", "cocoa", "matcher-framework", "assertions", "xctest", "unit-testing", "macos", "ios"], "topics": [], "urls": [], "use_cases": ["write readable assertions in Objective-C unit tests", "assert equality without specifying data types", "test whether code blocks raise exceptions", "check collection contents, counts, and emptiness in tests", "compare numbers with range and closeness matchers", "use expressive matchers alongside XCTest or Specta"], "what_it_is": "Expecta is a matcher (assertion) framework for Objective-C and Cocoa that provides a readable, type-agnostic expect() syntax for test assertions. It is framework-agnostic and works with XCTest and compatible test frameworks such as Specta and Kiwi.", "when_to_avoid": ["you are writing tests in Swift with native XCTest expectations", "your project targets only modern Swift-first testing workflows", "you need a matcher framework with active ongoing development"], "when_to_choose": ["you are writing Objective-C/Cocoa tests and want readable, type-agnostic assertions", "you use Specta, Kiwi, or XCTest and want a richer matcher syntax", "you prefer expect(x).to.equal(y) style over verbose XCTest assertions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/expecta", "repo": "specta/expecta", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.271625+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:56:07.128460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b13c0ee6b2cf8adca2ef81f5f52a25bf112663b6f0e631660315b58021435111", "fetched_at": "2026-08-28T04:05:07.271625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/specta/expecta"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.271625+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:56:07.128460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b13c0ee6b2cf8adca2ef81f5f52a25bf112663b6f0e631660315b58021435111", "fetched_at": "2026-08-28T04:05:07.271625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/specta/expecta"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:56:07.128460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b13c0ee6b2cf8adca2ef81f5f52a25bf112663b6f0e631660315b58021435111", "fetched_at": "2026-08-28T04:05:07.271625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/specta/expecta"}], "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:07.271625+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.271625+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.271625+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:56:07.128460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b13c0ee6b2cf8adca2ef81f5f52a25bf112663b6f0e631660315b58021435111", "fetched_at": "2026-08-28T04:05:07.271625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/specta/expecta"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.271625+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.271625+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:56:07.128460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b13c0ee6b2cf8adca2ef81f5f52a25bf112663b6f0e631660315b58021435111", "fetched_at": "2026-08-28T04:05:07.271625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/specta/expecta"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.271625+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.271625+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.271625+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:56:07.128460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b13c0ee6b2cf8adca2ef81f5f52a25bf112663b6f0e631660315b58021435111", "fetched_at": "2026-08-28T04:05:07.271625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/specta/expecta"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.271625+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:07.271625+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:56:07.128460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b13c0ee6b2cf8adca2ef81f5f52a25bf112663b6f0e631660315b58021435111", "fetched_at": "2026-08-28T04:05:07.271625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/specta/expecta"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:56:07.128460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b13c0ee6b2cf8adca2ef81f5f52a25bf112663b6f0e631660315b58021435111", "fetched_at": "2026-08-28T04:05:07.271625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/specta/expecta"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:56:07.128460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b13c0ee6b2cf8adca2ef81f5f52a25bf112663b6f0e631660315b58021435111", "fetched_at": "2026-08-28T04:05:07.271625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/specta/expecta"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:56:07.128460+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b13c0ee6b2cf8adca2ef81f5f52a25bf112663b6f0e631660315b58021435111", "fetched_at": "2026-08-28T04:05:07.271625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/specta/expecta"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 5597, "days_push": 868, "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}}