{"adoption": {"forks": 232, "observed_at": "2026-08-28T04:08:20.112389+00:00", "stars": 3800}, "canonical_url": "https://ross.abutalabs.com/products/container-diff", "card": {"archived": true, "artifact_type": "cli-tool", "description": "container-diff: Diff your Docker containers", "domain": ["developer-tools"], "enriched": true, "function": ["developer-tools", "cli"], "health_score": 10, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["GoogleContainerTools/container-diff"], "name": "GoogleContainerTools/container-diff", "platform": ["windows", "cli"], "pushed_at": "2024-03-27T18:02:22+00:00", "repo": "GoogleContainerTools/container-diff", "stars": 3800, "tags": ["container-images", "image-diff", "docker", "archived", "image-analysis", "containers", "devops", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["diff two docker container images", "analyze what packages are inside a container image", "compare image sizes between two builds", "see what changed in an image file system after a rebuild", "inspect apt, pip, or npm package differences between images", "understand docker image history changes"], "what_it_is": "container-diff is a Google CLI tool for analyzing and comparing container images across criteria like file system, size, history, and package lists (apt, rpm, pip, npm). The project is now archived and in maintenance mode, with diffoci suggested as an alternative.", "when_to_avoid": ["starting a new project - the repo is archived and unmaintained", "you need ongoing support or new features - use diffoci instead", "you need OCI image index or advanced format support"], "when_to_choose": ["you need a quick one-off comparison of two container images and don't mind an unmaintained tool", "you want package-level (apt/rpm/pip/npm) diffs of images", "you're on a legacy setup already using it"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/container-diff", "repo": "GoogleContainerTools/container-diff", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.112389+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:26:52.998153+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d44857a315df7e64a823a43031d6fa5d400b5e0a45ef6ed67e0b9e9c9f4f03a", "fetched_at": "2026-08-28T04:08:20.112389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GoogleContainerTools/container-diff"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.112389+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:26:52.998153+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d44857a315df7e64a823a43031d6fa5d400b5e0a45ef6ed67e0b9e9c9f4f03a", "fetched_at": "2026-08-28T04:08:20.112389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GoogleContainerTools/container-diff"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:26:52.998153+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d44857a315df7e64a823a43031d6fa5d400b5e0a45ef6ed67e0b9e9c9f4f03a", "fetched_at": "2026-08-28T04:08:20.112389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GoogleContainerTools/container-diff"}], "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:20.112389+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.112389+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.112389+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:26:52.998153+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d44857a315df7e64a823a43031d6fa5d400b5e0a45ef6ed67e0b9e9c9f4f03a", "fetched_at": "2026-08-28T04:08:20.112389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GoogleContainerTools/container-diff"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.112389+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.112389+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:26:52.998153+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d44857a315df7e64a823a43031d6fa5d400b5e0a45ef6ed67e0b9e9c9f4f03a", "fetched_at": "2026-08-28T04:08:20.112389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GoogleContainerTools/container-diff"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.112389+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.112389+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.112389+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:26:52.998153+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d44857a315df7e64a823a43031d6fa5d400b5e0a45ef6ed67e0b9e9c9f4f03a", "fetched_at": "2026-08-28T04:08:20.112389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GoogleContainerTools/container-diff"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.112389+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:20.112389+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:26:52.998153+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d44857a315df7e64a823a43031d6fa5d400b5e0a45ef6ed67e0b9e9c9f4f03a", "fetched_at": "2026-08-28T04:08:20.112389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GoogleContainerTools/container-diff"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:26:52.998153+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d44857a315df7e64a823a43031d6fa5d400b5e0a45ef6ed67e0b9e9c9f4f03a", "fetched_at": "2026-08-28T04:08:20.112389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GoogleContainerTools/container-diff"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:26:52.998153+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d44857a315df7e64a823a43031d6fa5d400b5e0a45ef6ed67e0b9e9c9f4f03a", "fetched_at": "2026-08-28T04:08:20.112389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GoogleContainerTools/container-diff"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:26:52.998153+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6d44857a315df7e64a823a43031d6fa5d400b5e0a45ef6ed67e0b9e9c9f4f03a", "fetched_at": "2026-08-28T04:08:20.112389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GoogleContainerTools/container-diff"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3313, "days_push": 889, "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}}