Metadata-Version: 2.4
Name: reel-sync
Version: 3.0.0
Summary: Plug in any USB drive, SD card or voice recorder — it's copied to your PC. Fully local, always on.
Author: Nicolas
License-Expression: MIT
Project-URL: Homepage, https://pypi.org/project/reel-sync/
Keywords: usb,backup,copy,sd-card,voice-recorder,icd-ux570,sync
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: rich>=13.0
Requires-Dist: mutagen>=1.47
Requires-Dist: tomli>=2.0; python_version < "3.11"

# 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.
- **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 window pops up and shows the copy with live progress bars. **Done →** a toast slides in (*"Reel — synced 12 files from KINGSTON"*) and the window tucks itself to the taskbar. **Unplug →** the window vanishes. The watcher keeps waiting for the next drive.

That's the entire workflow. The other two 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 transfer` never overwrites anything already on the stick, and pauses the watcher by itself while it writes. (Copied more than one drive? It picks by the stick's label, or tell it: `reel transfer "IC RECORDER"`.)

## Config (optional)

Reel works with no config at all — copies land in `Documents/Reel`. To change anything, drop a `config.toml` next to the package, in the folder you run from, or at `~/.reel/config.toml`:

```toml
[library]
sync_root = "D:/MyBackups/Reel"    # where copies land

[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.0.0 — plug it in, copied.*
