{"adoption": {"forks": 150, "observed_at": "2026-08-28T04:08:03.905895+00:00", "stars": 3425}, "canonical_url": "https://ross.abutalabs.com/products/crunch", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Insane(ly slow but wicked good) PNG image optimization", "domain": ["image-processing", "files", "developer-tools"], "enriched": true, "function": ["image-processing", "compression"], "health_score": 20, "homepage": null, "language": "Python", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["chrissimpkins/Crunch"], "name": "chrissimpkins/Crunch", "platform": ["windows", "cli", "python"], "pushed_at": "2022-06-18T12:20:17+00:00", "repo": "chrissimpkins/Crunch", "stars": 3425, "tags": ["png-optimization", "lossy-compression", "pngquant", "zopflipng", "zopfli", "gui", "macos-service", "macos", "linux"], "topics": ["png", "png-compression", "compression", "image-quality", "image-processing", "images", "image", "image-compression", "pngquant", "zopflipng", "macos", "lossy", "lossy-compression"], "urls": [], "use_cases": ["compress png images to smaller file sizes", "optimize pngs for web performance", "batch shrink png files from the command line", "reduce png size with minimal quality loss", "drag and drop png compression on mac", "optimize images before deploying a website"], "what_it_is": "Crunch is a lossy PNG image optimization tool that combines bit depth, color type, and palette reduction with zopfli DEFLATE compression via pngquant and zopflipng. It ships as a command line executable, a native macOS drag-and-drop GUI app, and a macOS Finder right-click service.", "when_to_avoid": ["you require strictly lossless PNG compression", "you need fast batch processing - the zopfli-based approach is intentionally slow", "you need optimization of formats other than PNG"], "when_to_choose": ["you need maximum PNG size reduction and can tolerate slight lossy quality reduction", "you want a simple CLI or macOS GUI for PNG optimization", "lossless optimizers like optipng are not shrinking your PNGs enough"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/crunch", "repo": "chrissimpkins/Crunch", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.905895+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:38:04.165023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64bc6b6dee5a53fecea102945430d68a1aceef7652f52382831061c1b86b8aff", "fetched_at": "2026-08-28T04:08:03.905895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrissimpkins/Crunch"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.905895+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:38:04.165023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64bc6b6dee5a53fecea102945430d68a1aceef7652f52382831061c1b86b8aff", "fetched_at": "2026-08-28T04:08:03.905895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrissimpkins/Crunch"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:38:04.165023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64bc6b6dee5a53fecea102945430d68a1aceef7652f52382831061c1b86b8aff", "fetched_at": "2026-08-28T04:08:03.905895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrissimpkins/Crunch"}], "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:08:03.905895+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.905895+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.905895+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:38:04.165023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64bc6b6dee5a53fecea102945430d68a1aceef7652f52382831061c1b86b8aff", "fetched_at": "2026-08-28T04:08:03.905895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrissimpkins/Crunch"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.905895+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.905895+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:38:04.165023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64bc6b6dee5a53fecea102945430d68a1aceef7652f52382831061c1b86b8aff", "fetched_at": "2026-08-28T04:08:03.905895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrissimpkins/Crunch"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.905895+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.905895+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.905895+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:38:04.165023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64bc6b6dee5a53fecea102945430d68a1aceef7652f52382831061c1b86b8aff", "fetched_at": "2026-08-28T04:08:03.905895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrissimpkins/Crunch"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.905895+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:03.905895+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:38:04.165023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64bc6b6dee5a53fecea102945430d68a1aceef7652f52382831061c1b86b8aff", "fetched_at": "2026-08-28T04:08:03.905895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrissimpkins/Crunch"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:38:04.165023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64bc6b6dee5a53fecea102945430d68a1aceef7652f52382831061c1b86b8aff", "fetched_at": "2026-08-28T04:08:03.905895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrissimpkins/Crunch"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:38:04.165023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64bc6b6dee5a53fecea102945430d68a1aceef7652f52382831061c1b86b8aff", "fetched_at": "2026-08-28T04:08:03.905895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrissimpkins/Crunch"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:38:04.165023+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64bc6b6dee5a53fecea102945430d68a1aceef7652f52382831061c1b86b8aff", "fetched_at": "2026-08-28T04:08:03.905895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrissimpkins/Crunch"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3797, "days_push": 1537, "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}}