Skip to main content

unstrap

Your device data, set free. Install once (macOS, Linux):

curl -LsSf https://uvx.sh/unstrap/install.sh | sh

This installs uv if it isn't there yet, then the unstrap command (uv tool install unstrap@latest). Run the same line again to update; uv tool uninstall unstrap removes it. Already use uv? uvx unstrap works without installing.

Then plug in your Garmin device and run:

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

unstrap listen           # keep running; sync each Garmin device when you plug it in
unstrap autostart        # run `listen` in the background at login (macOS and Linux)
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). After updating, run unstrap autostart again to restart it with the new version. (Run from uvx, it is pinned to that version: use uvx unstrap@latest autostart.)

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.

Metadata

Release files for unstrap 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for unstrap 0.3.2
File Size Uploaded Provenance
unstrap-0.3.2.tar.gz 118.8 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for unstrap 0.3.2
File
unstrap-0.3.2-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
unstrap-0.3.2-py3-none-manylinux_2_34_x86_64.whl Python 3 none Linux glibc 2.34+ x86-64 Details
unstrap-0.3.2-py3-none-manylinux_2_34_aarch64.whl Python 3 none Linux glibc 2.34+ ARM64 Details
unstrap-0.3.2-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
unstrap-0.3.2-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details
unstrap-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 8.0 MB

Release files / unstrap-0.3.2.tar.gz

Download URL unstrap-0.3.2.tar.gz
Size 118.8 kB
Tags Source
SHA-256 checksum
How to use checksums
867bf6d43b0faed22ae4b7b7d0f647d4234c10468dbde3601315d4969a0dc4a8
BLAKE2b-256 checksum
How to use checksums
d52de787663eeef7a07b9f7c4668eaa745c4cae9b7f39795213ff1ccc91426aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / unstrap-0.3.2-py3-none-win_amd64.whl

Download URL unstrap-0.3.2-py3-none-win_amd64.whl
Size 1.6 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
a78328d5c7f849715fac691c6c5dcc92a5c69af1c75c5d5d7db75a58c20ef78f
BLAKE2b-256 checksum
How to use checksums
b1eb20f80bdd62653885dfa43f25744dd171e6f718013b02fb4d7ad1858f0b87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / unstrap-0.3.2-py3-none-manylinux_2_34_x86_64.whl

Download URL unstrap-0.3.2-py3-none-manylinux_2_34_x86_64.whl
Size 1.6 MB
Tags Linux glibc 2.34+ x86-64 Python 3
SHA-256 checksum
How to use checksums
238ba7ea4ca41901a9881d6f211d0a386d24a02665a96e62fdf303731bccf2f0
BLAKE2b-256 checksum
How to use checksums
bd6dc20bb813822483a6f6bfe5016a7de95a97e4072d13c4d7d092ff6f0f2a89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / unstrap-0.3.2-py3-none-manylinux_2_34_aarch64.whl

Download URL unstrap-0.3.2-py3-none-manylinux_2_34_aarch64.whl
Size 1.6 MB
Tags Linux glibc 2.34+ ARM64 Python 3
SHA-256 checksum
How to use checksums
3e16231a51c785b4056ca9db9a0e65542618102266e0d595fb0079605a6c4d07
BLAKE2b-256 checksum
How to use checksums
acc79ebf403e4f44bb0aec33cbabc68f05c58b07d5bcea4155dd3da04f0acceb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / unstrap-0.3.2-py3-none-macosx_11_0_arm64.whl

Download URL unstrap-0.3.2-py3-none-macosx_11_0_arm64.whl
Size 1.5 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6b45a4b01a17c6c635d4300cb425b76b657b4480027793e5bbedb59aefd0744e
BLAKE2b-256 checksum
How to use checksums
df3368f0fe904bb4008b795410ca9e7e2c70981231434130916fcd535e992150
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / unstrap-0.3.2-py3-none-macosx_10_12_x86_64.whl

Download URL unstrap-0.3.2-py3-none-macosx_10_12_x86_64.whl
Size 1.5 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
564f78d9e333218831b17b6067b992ac20a9e2fc2f514e31d2afd87b52be75e9
BLAKE2b-256 checksum
How to use checksums
a83e9db7090e5b9c4afaf6db9861aad20c1a09e9a9101ce4dd2bac9181f3778b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / unstrap-0.3.2-py3-none-any.whl

Download URL unstrap-0.3.2-py3-none-any.whl
Size 39.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2f90680422b85c5122f8f59730f9a0d3022ad23821be70f2c6f50bf834a416a8
BLAKE2b-256 checksum
How to use checksums
136e0424990d59fd4cf740fd9a7c5f1b351bd290474fa0d140340c744b850ef8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Security for unstrap 0.3.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 7 files in this release have been uploaded with provenance metadata.

Select from 7 files

Attestation for unstrap-0.3.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page