feat: improve readme, prepare to publish repo

This commit is contained in:
Igor Ovsyannikov
2025-09-09 00:03:27 +03:00
parent 031195999a
commit 89af7d1758
4 changed files with 80 additions and 5 deletions
+61
View File
@@ -0,0 +1,61 @@
# Lohup
(_loh-up - backup for lohs[1]_)
Lohup - backups done dummy.
## Development status
Early alpha. Works on my machines.
## Installation
[Restic](https://restic.net) and [uv](https://docs.astral.sh/uv/) for Python required. Or just Python 3.13 and restic.
```bash
apt update && apt install -y restic
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
* Restic 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 "looser"
-2
View File
@@ -2,5 +2,3 @@
from lohup.cli import cli
cli()
+2 -2
View File
@@ -2,7 +2,7 @@
a = Analysis(
['main.py'],
['lohup-cli.py'],
pathex=[],
binaries=[],
datas=[],
@@ -22,7 +22,7 @@ exe = EXE(
a.binaries,
a.datas,
[],
name='main',
name='lohup',
debug=False,
bootloader_ignore_signals=False,
strip=False,
+17 -1
View File
@@ -1,14 +1,30 @@
[project]
name = "lohup"
version = "0.1.0"
description = "Add your description here"
description = "Backups done dummy"
readme = "README.md"
maintainers = [
{name = "Igor Ovsyannikov"}
]
license = "MIT"
keywords = ["restic", "backups"]
classifiers = [
"Development Status :: 3 - Alpha",
"Environment :: Console",
"Operating System :: POSIX :: Linux",
"Intended Audience :: System Administrators",
"Topic :: System :: Archiving :: Backup",
"Topic :: Utilities",
]
requires-python = ">=3.13"
dependencies = [
"click>=8.2.1",
"humanize>=4.13.0",
]
[project.urls]
Repository = "https://github.com/kam1sh/lohup"
[dependency-groups]
dev = [
"pyinstaller>=6.15.0",