borgbackup
Deduplicated, encrypted, authenticated and compressed backups
What it is and what it does
BorgBackup is a deduplicating backup program designed for efficient, secure storage of data. It splits files into variable-length chunks and stores only new chunks, making it suitable for frequent incremental backups even when files change partially. All data can be encrypted client-side with AES-256 and authenticated with HMAC-SHA256; deduplication works across machines, time, and file locations, so moving or modifying files does not break backup efficiency.
The tool is implemented with performance-critical operations in C/Cython and supports multiple compression algorithms (lz4, zstd, zlib, lzma). It can store backups locally or remotely over SSH, and archives can be mounted as user-space file systems for interactive recovery. The project is actively maintained, supports modern Python versions (3.10–3.14), and is licensed under BSD-3-Clause.
Use it for:
- Daily incremental backups of workstations or servers where only changed blocks are stored, reducing storage and bandwidth.
- Secure off-site backups to untrusted remote hosts using SSH with client-side encryption and authentication.
- Backup of virtual machines or raw disks where partial file changes are common and deduplication across versions saves space.
- Interactive backup recovery by mounting archives as file systems to browse and restore specific files without full extraction.
- Multi-machine backup consolidation to a shared repository where deduplication works across different hosts and backup runs.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
BorgBackup is a command-line deduplicating backup tool that stores only changed data using content-defined chunking, with optional compression and AES-256 encryption for secure, space-efficient backups.
Yes, with conditions. BorgBackup is worth installing if you need space-efficient, encrypted backups and can tolerate high install friction (compilation required). The active maintenance, strong security model (client-side encryption, HMAC authentication), and lack of known vulnerabilities make it reliable. However, expect compatibility breaks between major releases; review the changelog before upgrading and test recovery procedures in advance.
Install
borgbackup on PyPI
pip
pip install borgbackupuv
uv add borgbackuppoetry
poetry add borgbackupInstalling borgbackup
Before you install
High install friction: the package requires compilation (C/Cython components). Maintenance is active with recent releases (27 days since last), strong community engagement (13607 GitHub stars), and support for current Python versions (3.10–3.14).
License in practice
Licensed under BSD-3-Clause (permissive), allowing commercial and private use with minimal restrictions; source code can be audited independently for security.
Quickstart
pip install borgbackup
borg init -e repokey /path/to/repo
borg create /path/to/repo::backup-name ~/Documents
Requires C compiler and development headers for compilation during installation; Python >=3.10 required.
Verify before relying
- Whether pre-built binaries are available for your platform to avoid compilation.
- Performance characteristics and resource usage for large-scale backup scenarios.
- Compatibility and migration path between major version releases (1.x to 2.x).
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | high — source build required |
| Runtime dependencies | 2 — msgpack, packaging |
| Maintenance | actively maintained — 27 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 76,514/month — #14,619 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: borgbackup-1.4.5.tar.gz
Keywords: backup, borgbackup
Tags
More Cryptography packages
Certifi provides Mozilla's curated collection…
copyleft · top 100 on PyPI
cryptographycryptography provides cryptographic recipes and…
permissive · top 100 on PyPI
rsaPure-Python RSA encryption, decryption,…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
azure-identityProvides Microsoft Entra ID token-based…
unclear · top 1,000 on PyPI
PyNaClPyNaCl provides Python bindings to libsodium…
permissive · top 1,000 on PyPI
android_backupUnpacks and repacks Android backup files (.ab…
permissive · top 15,000 on PyPI
django-dbbackupProvides Django management commands to backup…
permissive · top 15,000 on PyPI
pyiosbackupParses and decrypts iOS device backups,…
copyleft · top 15,000 on PyPI
s3cmds3cmd is a command-line tool for uploading,…
copyleft · top 5,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
keyrings.cryptfileA keyring backend that stores passwords in an…
permissive · top 15,000 on PyPI
rensaRensa computes MinHash signatures for fast…
permissive · top 15,000 on PyPI
simhashComputes Simhash fingerprints for text and…
permissive · top 15,000 on PyPI
securetarSecure Tar wraps Python's tarfile module to add…
permissive · top 15,000 on PyPI