her-sync
Linux-native Sync-Tool für Agent-Share-Filesysteme (BDE, Email, CalDAV).
CLI-Befehl: her
Installation
pipx install "her-sync[watch]"
Aus Git:
pipx install --force "git+https://gitea.example.com/you/her-sync@main#egg=her-sync[watch]"
Entwicklung: pip install -e ".[watch,dev]"
Konfiguration
~/.her/
~/.her/
├── config.yml
├── profiles/bde-work/
│ ├── profile.yml # share, event_handlers
│ ├── crm.yml # bde: { ... }
│ ├── mail.yml # email: { ... }
│ ├── calendar.yml # caldav: { ... }
│ └── local.yml # optional: Overrides (alphabetisch später = gewinnt)
├── state/bde-work/
└── share-bde/ # optional — Share kann auch woanders liegen
Alle .yml-Dateien im Profilordner werden alphabetisch geladen und deep-gemergt.
Welches Plugin aktiv ist, ergibt sich nur aus dem YAML-Key (bde:, email:, caldav:) —
der Dateiname spielt keine Rolle. Fehlender Key = Plugin deaktiviert.
# profile.yml — Querverdrahtung zwischen Plugins
event_handlers:
email:
changed:
debounce_seconds: 10
handlers:
- email: { command: sync }
- caldav: { command: sync }
# local.yml — optional, überschreibt Teile aus calendar.yml o.ä.
caldav:
months_past: 6
her profile init bde-work
her profile migrate-env --env-file .env --name bde-work
her secrets set bde-work/bde-password
her --profile bde-work status
CLI
her profile list|show|init|migrate-env|validate
her secrets set|delete|test
her daemon run|start|stop|status
her status
her bde collect cashflows
her bde collect cashflow-history --force
her bde apply cost-centers --dry-run
her email sync
her caldav ls
her caldav sync
Daemon
Start/Stop/Autostart laufen über systemd user — die Unit wird beim ersten
her daemon start automatisch installiert (kein separates Install-Skript nötig).
her daemon start --profile bde-work # starten
her daemon start --profile bde-work --autostart # + Autostart beim Login
her daemon stop --profile bde-work
her daemon enable --profile bde-work # nur Autostart an
her daemon disable --profile bde-work # nur Autostart aus
her daemon status --profile bde-work # Status + Log-Befehle
# Debug im Vordergrund (ohne systemd):
her daemon run --profile bde-work
Logs (Ausgabe auch bei daemon start / daemon status):
journalctl --user -u her@bde-work.service -f
Release (Repo-Checkout)
her secrets set release/her-pypi-token # einmalig lokal
./scripts/her-release release --bump patch --pypi
pipx upgrade "her-sync[watch]"
# Falls Version nicht gefunden: python3 -m pip cache purge
# pipx install --force --pip-args='--no-cache-dir' "her-sync[watch]"
Details: deploy/DISTRIBUTION.md
Metadata
Release files for her-sync 0.5.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| her_sync-0.5.7.tar.gz | 63.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| her_sync-0.5.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 134.3 kB
Release files / her_sync-0.5.7.tar.gz
| Download URL | her_sync-0.5.7.tar.gz |
|---|---|
| Size | 63.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3328f92a17df1a01e8ea3d4ce76128ab78f3f3f73f06f78a94ff5a45d69aad1c
|
|
BLAKE2b-256 checksum How to use checksums |
6a839e8df8b0ae36e5e9af4e4f2b8a013c17a886efe91229bf6774bffb41af5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / her_sync-0.5.7-py3-none-any.whl
| Download URL | her_sync-0.5.7-py3-none-any.whl |
|---|---|
| Size | 71.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dd3d6637d1e65c3462f86054da31a3ac103790a37d15876d32b2d9e4519215e5
|
|
BLAKE2b-256 checksum How to use checksums |
bbcdc97635625868d0a00a7ab04e8e6370070c01770a7483e450582b220f48d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|