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.4
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.4.tar.gz | 62.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| her_sync-0.5.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 133.7 kB
Release files / her_sync-0.5.4.tar.gz
| Download URL | her_sync-0.5.4.tar.gz |
|---|---|
| Size | 62.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
757e81f7833e9a317b5eb42f201116510f176831cf985c06d6e4cbd70b288bc1
|
|
BLAKE2b-256 checksum How to use checksums |
534699237d43c40ab949013c58cc3f6ecee0f0247b7e722f4d886b99c4196ac2
|
| 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.4-py3-none-any.whl
| Download URL | her_sync-0.5.4-py3-none-any.whl |
|---|---|
| Size | 71.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba1cb8acfbaf465efc2420171b98272046e258c42b22d13feb1f7889fbbe5c67
|
|
BLAKE2b-256 checksum How to use checksums |
d08c7477dcb129f5b54a7f7c345b84a7864b208131dd91de1b75f85f6ae73c7a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|