Metadata-Version: 2.4
Name: unstrap
Version: 0.2.0
Summary: Your device data, set free. Copies everything your Garmin device records, straight off the device over USB.
Author: SweatStack
License-Expression: MIT
License-File: LICENSE
Classifier: Environment :: Console
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Requires-Dist: httpx<1,>=0.28
Description-Content-Type: text/markdown

# unstrap

Your device data, set free. Plug in your Garmin device and run:

```sh
uvx unstrap
```

It copies everything new off the device over USB, uploads it, and tells you when you can unplug.

## Sync whenever a device is connected

```sh
uvx unstrap listen       # keep running; sync each Garmin device when you plug it in
uvx unstrap autostart    # run `listen` in the background at login (macOS and Linux)
uvx unstrap autostart --off
```

`autostart` registers a LaunchAgent on macOS (logs in `~/Library/Logs/unstrap.log`) or a systemd
user service on Linux (logs: `journalctl --user -u unstrap`). Run from uvx, it is pinned to that
version: after upgrading, run `uvx unstrap@latest autostart` again.

## Notifications

Unstrap shows a desktop notification when a sync finishes or fails (macOS, and Linux with
`notify-send`). Turn them off with `--no-notify` or `UNSTRAP_NOTIFY=0`.

See the project README for how it works.
