Skip to main content

reel

plug it in, copied. reel is a fully-local tool that copies every USB drive, SD card or voice recorder you plug in — the whole thing, every folder, every file, exactly as it is — into a reel folder in your Documents. Then it tidies the file names. Automatically, every time, without you touching anything.

Everything stays on your machine. Your devices are never wiped. The library is just folders — open it in Explorer any time.


why this exists

Anyone can drag files off a USB stick in Explorer. Almost nobody actually does it — every time, completely, without duplicates. That's the problem reel solves:

  • It happens without you. reel runs from login. Plug a drive in and it's copied — even when you're in a hurry, even when you forget. A backup habit you install once instead of remember forever.
  • Nothing copies twice. Re-plug the same stick and only what's new comes over. If a file was renamed or moved on the device (recorders renumber files all the time), reel recognises it by its actual content — a full byte-for-byte hash, never a guess — and just moves its existing copy into place instead of copying it again.
  • Nothing gets forgotten. Every folder (empty ones too), every file, hidden files included. The only things skipped are unreadable OS system folders (recycle bins, System Volume Information) — and those are reported on screen, never silently dropped. If you delete a file from your library, reel notices and copies it fresh next plug-in.
  • It follows its folder. Move the reel folder anywhere — another folder, another drive — and reel finds it again and keeps going. The library's location is the most important thing reel owns, so it never loses track of it.
  • Names get tidied — structure never moves. A recorder's cryptic 250608_1432.mp3 becomes 2025-06-08_1432_reel-7F3A.mp3, photos get a sortable date prefix, documents keep their names — all inside their original folders. Don't want it? reel rename off gives you pure 1:1 copies.
  • It works both ways. Lose the SD card? reel transfer writes the copy back onto a blank stick — original folders, original filenames, exactly as the drive was.

Explorer is a tool you have to operate. reel is a habit you install.

what your library looks like

Documents/reel/
├── IC RECORDER/                  ← one folder per drive, copied verbatim
│   ├── REC_FILE/FOLDER01/2026-06-08_1432_reel-7F3A.mp3
│   └── MUSIC/…
├── KINGSTON/
│   ├── DCIM/2026-05-14_0941_IMG_0421.jpg
│   ├── Holiday/Tax Return 2025.pdf      ← documents keep their exact name
│   └── Empty Folder/                    ← even empty folders are kept
└── .reel/                               ← reel's memory (what's already copied)

install

pip install reel-sync

(The package is reel-sync; the command is just reel.) Needs Python 3.11+.

from this folder (development)

pip install -e .

use it

One command, once:

reel setup

Name your reel, and it installs itself: it starts with Windows and watches quietly in the background, forever. From then on —

Plug a drive in → a small window pops up and shows the copy with live progress bars. Done → it shows "all copied — safe to unplug", waits a moment, then tucks itself to the taskbar; a toast slides in ("reel — copied 12 files from KINGSTON"). Unplug → the window closes. The watcher keeps waiting for the next drive.

Don't unplug while it's still copying — wait for "all copied" first. That's the only rule.

The other commands, for when you want them:

reel transfer          # put a copied drive back onto a blank stick,
                       # original folders & original names (plug the stick in first)
reel rename off        # pure 1:1 copies from now on — names untouched
reel rename on         # tidy, sortable names (the default)
reel upgrade           # update reel to the latest version (also: reel --upgrade)
reel --version         # print the installed version

reel upgrade checks PyPI and updates only if there's something newer — safe to run any time. On Windows it does the install in a fresh window and restarts the background watcher on the new version automatically.

config (optional)

reel works with no config at all — copies land in Documents/reel, and reel follows that folder if you move it. To pin a fixed location instead, drop a config.toml next to the package, in the folder you run from, or at ~/.reel/config.toml:

[library]
sync_root = "D:/MyBackups/reel"    # pin a fixed path (turns off auto-follow)

[watch]
interval_sec = 4                   # how often it looks for a drive
close_on_unplug = true             # close the pop-up when you unplug

[ui]
theme = "dark"                     # colours for a dark terminal

notes

  • Privacy: nothing ever leaves your machine.
  • Safety: reel only ever reads your devices — it never writes to or deletes from them (the one exception is reel transfer, which writes exactly what you asked onto the stick you plugged in, and never overwrites).
  • Honesty: anything reel can't read, it tells you about on screen. No silent skips, ever.

reel v3.2.0 — plug it in, copied.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reel_sync-3.7.1.tar.gz (60.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reel_sync-3.7.1-py3-none-any.whl (67.9 kB view details)

Uploaded Python 3

File details

Details for the file reel_sync-3.7.1.tar.gz.

File metadata

  • Download URL: reel_sync-3.7.1.tar.gz
  • Upload date:
  • Size: 60.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for reel_sync-3.7.1.tar.gz
Algorithm Hash digest
SHA256 5cba5fe42ab682df467bdedebf7d99dba2e1aac665f861c5ad045b26ccead445
MD5 fd687f7d74374c23f2b92c79f7aa628b
BLAKE2b-256 4769a21842aa6e20b6e908bc70deda8ffa54abfcb263c872621e89e0ae01e03a

See more details on using hashes here.

File details

Details for the file reel_sync-3.7.1-py3-none-any.whl.

File metadata

  • Download URL: reel_sync-3.7.1-py3-none-any.whl
  • Upload date:
  • Size: 67.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for reel_sync-3.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6f7c008b04b8cec86d2f65fb4046937f67c3787197f1a53b8e98a6f2cfd67401
MD5 d1bbc0ad298482aaefae67e50afe1c93
BLAKE2b-256 f3d50230027b47250efe88c65129fde71efd31e30241156cea8ea610298e1bc1

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

3.7.1 This release

2 files

3.7.0

2 files

3.6.1

2 files

3.6.0

2 files

3.5.3

2 files

3.5.2

2 files

3.5.1

2 files

3.5.0

2 files

3.4.0

2 files

3.3.2

2 files

3.3.1

2 files

3.3.0

2 files

3.2.0

2 files

3.0.0

2 files

2.7.0

2 files

2.6.0

2 files

2.4.0

2 files

2.3.0

2 files

2.2.0

2 files

1.0.1

2 files

1.0.0

2 files

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