# Lohup (_loh-up - backup for lohs[1]_) Lohup - backups done silly. ## Development status Early alpha. Works on my machines. ## Installation Python 3.14 is required. You can get it using [uv](https://github.com/astral-sh/uv). Also you will need [Rustic](https://github.com/rustic-rs/rustic) as a backup backend. v0.11.4 is fully compatible. ```bash pacman -S rustic # or get the binary binary from https://github.com/rustic-rs/rustic/releases/tag/v0.11.4 # and install lohup using uv uv tool install git+https://github.com/kam1sh/lohup ``` ## Usage Example configuration see in [corresponding directory](examples/complete.toml) CLI examples: ```bash lohup --config config.toml restic --repo cloud -- init # if config=lohup.toml then option can be omitted lohup backup-all lohup snapshots --repo cloud ``` ## Core features * Configuration in TOML * Local database for snapshot information * Backup hooks, such as create/remove btrfs snapshot before backup * Environment variables ### Features in TODO * LVM hooks * Better error handling and printing * Verbose/debug messages * Metrics and OpenTelemetry support * Binary releases, win+linux amd64 along with Python wheel * Include files in profiles with `paths-from` * Pluggable engines ## Development ```bash git clone git@github.com:kam1sh/lohup lohup-dev && cd lohup-dev # install dependencies uv sync --group dev # run tests uv run pytest --tb=short # building binaries to dist directory uv run pyinstaller -F lohup-cli.spec ``` [1] in Russian language loh (лох) means "dummy" or "loser". So, yeah, backups are for losers.