{"adoption": {"forks": 111, "observed_at": "2026-08-28T04:03:59.415037+00:00", "stars": 1206}, "canonical_url": "https://ross.abutalabs.com/products/shot", "card": {"archived": false, "artifact_type": "library", "description": "Screenshot testing library for Android", "domain": ["testing", "mobile-development", "android-tools"], "enriched": true, "function": ["testing", "e2e-testing"], "health_score": 63, "homepage": null, "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["pedrovgs/Shot"], "name": "pedrovgs/Shot", "platform": ["jvm"], "pushed_at": "2026-01-16T10:46:26+00:00", "repo": "pedrovgs/Shot", "stars": 1206, "tags": ["screenshot-testing", "gradle-plugin", "jetpack-compose", "visual-regression", "android-instrumentation-tests", "android", "gradle"], "topics": ["android", "gradle-plugin", "screenshot-tests", "java", "testing", "testing-tools", "jetpack-compose"], "urls": [], "use_cases": ["run screenshot tests for android apps", "visual regression testing for jetpack compose ui", "compare activity screenshots in instrumentation tests", "record and verify ui snapshots on ci", "detect unintended ui rendering changes in android"], "what_it_is": "Shot is a Gradle plugin and Android library for writing and running screenshot tests on Android apps, supporting both regular views and Jetpack Compose. It provides a ScreenshotTest interface, a custom test runner, and Gradle tasks to record and verify screenshots with visual reports.", "when_to_avoid": ["you need screenshot testing on iOS or non-Android platforms", "you only need unit tests without UI snapshot comparison", "your project doesn't use Gradle or Android instrumentation tests"], "when_to_choose": ["you need screenshot/visual regression testing for Android views or Compose", "you want simple Gradle-integrated record/verify workflow with HTML reports", "you run UI tests on emulators or CI and need rendering-diff detection"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/shot", "repo": "pedrovgs/Shot", "role": "main", "score": 51}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.415037+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:19:18.936274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29ebfa00316872eafc82980f78a976990f3145c02271aea186a0bf32797466a3", "fetched_at": "2026-08-28T04:03:59.415037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pedrovgs/Shot"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.415037+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:19:18.936274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29ebfa00316872eafc82980f78a976990f3145c02271aea186a0bf32797466a3", "fetched_at": "2026-08-28T04:03:59.415037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pedrovgs/Shot"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:19:18.936274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29ebfa00316872eafc82980f78a976990f3145c02271aea186a0bf32797466a3", "fetched_at": "2026-08-28T04:03:59.415037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pedrovgs/Shot"}], "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:59.415037+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.415037+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.415037+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:19:18.936274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29ebfa00316872eafc82980f78a976990f3145c02271aea186a0bf32797466a3", "fetched_at": "2026-08-28T04:03:59.415037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pedrovgs/Shot"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.415037+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.415037+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:19:18.936274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29ebfa00316872eafc82980f78a976990f3145c02271aea186a0bf32797466a3", "fetched_at": "2026-08-28T04:03:59.415037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pedrovgs/Shot"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.415037+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.415037+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.415037+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:19:18.936274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29ebfa00316872eafc82980f78a976990f3145c02271aea186a0bf32797466a3", "fetched_at": "2026-08-28T04:03:59.415037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pedrovgs/Shot"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.415037+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.415037+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:19:18.936274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29ebfa00316872eafc82980f78a976990f3145c02271aea186a0bf32797466a3", "fetched_at": "2026-08-28T04:03:59.415037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pedrovgs/Shot"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:19:18.936274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29ebfa00316872eafc82980f78a976990f3145c02271aea186a0bf32797466a3", "fetched_at": "2026-08-28T04:03:59.415037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pedrovgs/Shot"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:19:18.936274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29ebfa00316872eafc82980f78a976990f3145c02271aea186a0bf32797466a3", "fetched_at": "2026-08-28T04:03:59.415037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pedrovgs/Shot"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:19:18.936274+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "29ebfa00316872eafc82980f78a976990f3145c02271aea186a0bf32797466a3", "fetched_at": "2026-08-28T04:03:59.415037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pedrovgs/Shot"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 62, "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": 3400, "days_push": 229, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 51, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}