Metadata-Version: 2.4
Name: backupmaster
Version: 3.0.0
Summary: Backup import files across entire disk
Author-email: Quinten Roets <qdr2104@columbia.edu>
License-Expression: MIT
Project-URL: Source Code, https://github.com/quintenroets/backup
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: beautifulsoup4<5,>=4.12.2
Requires-Dist: lxml<7,>=4.9.3
Requires-Dist: package-utils[context]<1,>=0.8.3
Requires-Dist: powercli<1,>=0.4.0
Requires-Dist: PyYAML<7,>=6.0.1
Requires-Dist: xattr<2,>=0.10.1
Provides-Extra: dev
Requires-Dist: dirhash<1,>=0.2.1; extra == "dev"
Requires-Dist: package-dev-tools<1,>=0.8.1; extra == "dev"
Requires-Dist: package-dev-utils<1,>=0.1.6; extra == "dev"
Requires-Dist: types-beautifulsoup4<5,>=4.12.0.20240106; extra == "dev"
Dynamic: license-file

# Backup
[![PyPI version](https://badge.fury.io/py/backupmaster.svg)](https://badge.fury.io/py/backupmaster)
![PyPI downloads](https://img.shields.io/pypi/dm/backupmaster)
![Python version](https://img.shields.io/badge/python-3.10+-brightgreen)
![Operating system](https://img.shields.io/badge/os-linux-brightgreen)
![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen)

Generic engine to back up important files across an entire disk to an [rclone](https://rclone.org) remote with change detection.
- Scales to a huge number of files
- Detailed configuration to maximize performance
- Perfect for files that are too volatile for a VCS like Git and too important to lose

## Usage
```python
import backup

config = {
    "source": "/home/user",
    "dest": "remote:backup",  # any rclone destination; a local path also works
    "syncs": [
        {"includes": [".ssh", ".config/git"], "excludes": ["*.log"]},
    ],
}

backup.run(config)   # back up changed files under each include
```

## Installation
```shell
pip install backupmaster
```
