# 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 one of backup backends. [Restic](https://github.com/restic/restic) and [Rustic](https://github.com/rustic-rs/rustic) are supported. ```bash apt update && apt install -y restic # or download rustic binary from https://github.com/rustic-rs/rustic/releases/tag/v0.11.3 # get using uv uv tool install git+https://github.com/kam1sh/lohup # or by pip pip install ``` ## 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 * Restic/Rustic as a backup driver * Backup hooks, such as create/remove btrfs filesystem snapshot * 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` ## 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 my native language loh (лох) means "dummy" or "loser". So, yeah, backups are for losers.