{"adoption": {"forks": 425, "observed_at": "2026-08-28T04:09:58.343393+00:00", "stars": 7341}, "canonical_url": "https://ross.abutalabs.com/products/bup", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Very efficient backup system based on the git packfile format, providing fast incremental saves and global deduplication (among and within files, including virtual machine images). Please post problems or patches to the mailing list for discussion (see the end of the README below).", "domain": ["files", "developer-tools", "self-hosted"], "enriched": true, "function": ["backup", "compression", "file-system", "cli"], "health_score": 79, "homepage": "https://bup.github.io/", "language": "Python", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["bup/bup"], "name": "bup/bup", "platform": ["python", "cli"], "pushed_at": "2026-08-22T20:11:42+00:00", "repo": "bup/bup", "stars": 7341, "tags": ["deduplication", "incremental-backup", "git-packfile", "fuse", "rsync-rolling-checksum", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["back up large virtual machine disk images incrementally", "deduplicate backup data across machines and backup sets", "restore any incremental backup as if it were a full backup", "mount a backup repository as a FUSE filesystem", "back up directly to a remote server over ssh", "recover corrupted backups with par2 redundancy"], "what_it_is": "bup is a highly efficient open-source backup system built on the git packfile format. It provides fast incremental saves with global deduplication across and within files, making it well suited for backing up huge files like VM disk images.", "when_to_avoid": ["you need a polished, widely tested tool with a mature GUI", "you want simple archive-style backups like tar", "you need built-in encryption of backup data", "you require official Windows support or a turnkey backup solution"], "when_to_choose": ["you need space-efficient incremental backups of huge files like VM images or databases", "you want global deduplication without managing full/incremental chains", "you prefer storing data in an accessible format like git packfiles", "you want to back up to a remote server over ssh with minimal temp space"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/bup", "repo": "bup/bup", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.343393+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:38:27.761101+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71a980aac6da35e4ee21b859a589c99b0f8d5dda3f95ca13c358c943878397c8", "fetched_at": "2026-08-28T04:09:58.343393+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bup/bup"}, {"content_hash": "ec5f86226d2855de208ae3955ba40026d4910f5f1cd77175b56df423929f841c", "fetched_at": "2026-08-29T08:33:55.854028+00:00", "kind": "homepage", "missing": false, "url": "https://bup.github.io/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.343393+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:38:27.761101+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71a980aac6da35e4ee21b859a589c99b0f8d5dda3f95ca13c358c943878397c8", "fetched_at": "2026-08-28T04:09:58.343393+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bup/bup"}, {"content_hash": "ec5f86226d2855de208ae3955ba40026d4910f5f1cd77175b56df423929f841c", "fetched_at": "2026-08-29T08:33:55.854028+00:00", "kind": "homepage", "missing": false, "url": "https://bup.github.io/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:38:27.761101+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71a980aac6da35e4ee21b859a589c99b0f8d5dda3f95ca13c358c943878397c8", "fetched_at": "2026-08-28T04:09:58.343393+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bup/bup"}, {"content_hash": "ec5f86226d2855de208ae3955ba40026d4910f5f1cd77175b56df423929f841c", "fetched_at": "2026-08-29T08:33:55.854028+00:00", "kind": "homepage", "missing": false, "url": "https://bup.github.io/"}], "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:09:58.343393+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.343393+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.343393+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:38:27.761101+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71a980aac6da35e4ee21b859a589c99b0f8d5dda3f95ca13c358c943878397c8", "fetched_at": "2026-08-28T04:09:58.343393+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bup/bup"}, {"content_hash": "ec5f86226d2855de208ae3955ba40026d4910f5f1cd77175b56df423929f841c", "fetched_at": "2026-08-29T08:33:55.854028+00:00", "kind": "homepage", "missing": false, "url": "https://bup.github.io/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.343393+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.343393+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:38:27.761101+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71a980aac6da35e4ee21b859a589c99b0f8d5dda3f95ca13c358c943878397c8", "fetched_at": "2026-08-28T04:09:58.343393+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bup/bup"}, {"content_hash": "ec5f86226d2855de208ae3955ba40026d4910f5f1cd77175b56df423929f841c", "fetched_at": "2026-08-29T08:33:55.854028+00:00", "kind": "homepage", "missing": false, "url": "https://bup.github.io/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.343393+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.343393+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.343393+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:38:27.761101+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71a980aac6da35e4ee21b859a589c99b0f8d5dda3f95ca13c358c943878397c8", "fetched_at": "2026-08-28T04:09:58.343393+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bup/bup"}, {"content_hash": "ec5f86226d2855de208ae3955ba40026d4910f5f1cd77175b56df423929f841c", "fetched_at": "2026-08-29T08:33:55.854028+00:00", "kind": "homepage", "missing": false, "url": "https://bup.github.io/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.343393+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:58.343393+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:38:27.761101+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71a980aac6da35e4ee21b859a589c99b0f8d5dda3f95ca13c358c943878397c8", "fetched_at": "2026-08-28T04:09:58.343393+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bup/bup"}, {"content_hash": "ec5f86226d2855de208ae3955ba40026d4910f5f1cd77175b56df423929f841c", "fetched_at": "2026-08-29T08:33:55.854028+00:00", "kind": "homepage", "missing": false, "url": "https://bup.github.io/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:38:27.761101+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71a980aac6da35e4ee21b859a589c99b0f8d5dda3f95ca13c358c943878397c8", "fetched_at": "2026-08-28T04:09:58.343393+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bup/bup"}, {"content_hash": "ec5f86226d2855de208ae3955ba40026d4910f5f1cd77175b56df423929f841c", "fetched_at": "2026-08-29T08:33:55.854028+00:00", "kind": "homepage", "missing": false, "url": "https://bup.github.io/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:38:27.761101+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71a980aac6da35e4ee21b859a589c99b0f8d5dda3f95ca13c358c943878397c8", "fetched_at": "2026-08-28T04:09:58.343393+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bup/bup"}, {"content_hash": "ec5f86226d2855de208ae3955ba40026d4910f5f1cd77175b56df423929f841c", "fetched_at": "2026-08-29T08:33:55.854028+00:00", "kind": "homepage", "missing": false, "url": "https://bup.github.io/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:38:27.761101+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "71a980aac6da35e4ee21b859a589c99b0f8d5dda3f95ca13c358c943878397c8", "fetched_at": "2026-08-28T04:09:58.343393+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bup/bup"}, {"content_hash": "ec5f86226d2855de208ae3955ba40026d4910f5f1cd77175b56df423929f841c", "fetched_at": "2026-08-29T08:33:55.854028+00:00", "kind": "homepage", "missing": false, "url": "https://bup.github.io/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5112, "days_push": 11, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}