Non-Redundant Media File Copy Tool: resumable, auditable, cross-platform, CLI-based.
Project description
🚀 dedup-file-tools: The Ultimate Toolkit for Safe, Fast, and Auditable File Management
Two powerful CLI tools, one mission: never lose a file, never copy a duplicate, and always know what happened.
What Does Each Tool Do?
-
dedup-file-copy-fs: Effortlessly copy files from one place to another—guaranteeing that only a single, non-duplicate copy of each file ever lands in your destination. No more wasted space or accidental double copies!
-
dedup-file-move-dupes: Hunts down duplicate files in any folder or storage pool and safely moves all detected duplicates to a special
.dupesdirectory. It’s the easiest way to clean up your drives and reclaim space—exciting, right?
Both tools are designed for safety, auditability, and total peace of mind!
Why dedup-file-tools?
- No more accidental duplicates: Move or copy files between drives, folders, or backup pools with confidence—deduplication is automatic.
- Resumable & robust: Interrupt a job? No problem. All state is tracked in a job database. Resume anytime, anywhere.
- Audit everything: Every action, every file, every error—fully logged and queryable.
- Cross-platform: Works on Windows, Linux, and with both fixed and removable drives.
- Portable & future-proof: Thanks to UidPath, your job and checksum cache remain valid even if drive letters or mount points change.
- Agent/AI ready: YAML config, one-shot workflows, and full audit trails make it perfect for automation and integration.
Two Tools, Two Workflows — Pick Your Power!
🚦 dedup-file-copy-fs: The "Copy Without Duplicates" Workflow
Want to copy your files from one drive or folder to another, but never want to see a duplicate again? This is your magic wand!
Step-by-Step Tutorial
- Initialize your copy job:
dedup-file-copy-fs init --job-dir ./copyjob --job-name copyjob - Add your source(s):
dedup-file-copy-fs add-source --job-dir ./copyjob --job-name copyjob --src ./source - Analyze and checksum:
dedup-file-copy-fs analyze --job-dir ./copyjob --job-name copyjob --src ./source --dst ./dest dedup-file-copy-fs checksum --job-dir ./copyjob --job-name copyjob --table source_files dedup-file-copy-fs checksum --job-dir ./copyjob --job-name copyjob --table destination_files - Copy, with deduplication magic:
Voila! Only unique files are copied. No duplicates, ever.dedup-file-copy-fs copy --job-dir ./copyjob --job-name copyjob --src ./source --dst ./dest - Verify and audit:
dedup-file-copy-fs verify --job-dir ./copyjob --job-name copyjob --stage deep dedup-file-copy-fs log --job-dir ./copyjob
Want it all in one go? Just run:
dedup-file-copy-fs one-shot --job-dir ./copyjob --job-name copyjob --src ./source --dst ./dest
And... Voila! Your files are safely, uniquely copied.
See the User Guide for advanced tricks and YAML config magic.
🧹 dedup-file-move-dupes: The "Find & Sweep Duplicates" Workflow
Ready to reclaim space and banish duplicate files from your drives? This tool is your digital broom!
Step-by-Step Tutorial
- Initialize your dedupe job:
dedup-file-move-dupes init --job-dir ./myjob --job-name myjob - Scan your pool for duplicates:
dedup-file-move-dupes analyze --job-dir ./myjob --job-name myjob --lookup-pool ./data dedup-file-move-dupes checksum --job-dir ./myjob --job-name myjob --table lookup_files - Move all detected duplicates to .dupes:
Voila! All your duplicate files are safely moved todedup-file-move-dupes move-dupes --job-dir ./myjob --job-name myjob --dupes-folder ./dupes.dupesfor review or deletion. - Summarize and audit:
dedup-file-move-dupes summary --job-dir ./myjob --job-name myjob dedup-file-move-dupes log --job-dir ./myjob
Want it all in one go? Just run:
dedup-file-move-dupes one-shot --job-dir ./myjob --job-name myjob --lookup-pool ./data --dupes-folder ./dupes
And... Voila! Your drives are clean and duplicate-free.
See the User Guide for advanced workflows and YAML config power.
Quick Start (Unified)
- Install:
pip install . # or for isolated CLI usage: pipx install . - Generate a config file (recommended):
dedup-file-copy-fs generate-config # or dedup-file-move-dupes --config config.yaml - Run a one-shot workflow:
dedup-file-move-dupes one-shot --job-dir ./myjob --job-name myjob --lookup-pool ./data --dupes-folder ./dupes dedup-file-copy-fs one-shot --job-dir ./copyjob --job-name copyjob --src ./source --dst ./dest - Check logs, verify, and audit:
dedup-file-move-dupes summary --job-dir ./myjob --job-name myjob dedup-file-copy-fs verify --job-dir ./copyjob --job-name copyjob --stage deep
The Magic of UidPath
Both tools use a unique, system-independent path abstraction called UidPath. This means:
- Your job and checksum cache remain valid even if drive letters or mount points change.
- You can move drives between systems, plug into different USB ports, and never lose track of your files.
- Deduplication and verification are robust and portable. See UidPath documentation for details.
Want More?
- Full CLI docs:
- User guides & tutorials:
- Agent/AI integration:
- Requirements & design:
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dedup_file_tools-0.1.0.tar.gz.
File metadata
- Download URL: dedup_file_tools-0.1.0.tar.gz
- Upload date:
- Size: 48.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b2791cd9826cfbd9b3866eefd24568f461cf2f86dfd4e1fbdce5482f4924702
|
|
| MD5 |
2bb13f7618da49c3ffcf5d85a7eefe73
|
|
| BLAKE2b-256 |
3dc7cd82cf0dd114465a230918d67f0cbe934ab1a5a4ba3a62c7b51803ca5897
|
File details
Details for the file dedup_file_tools-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dedup_file_tools-0.1.0-py3-none-any.whl
- Upload date:
- Size: 75.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f87b3b5107eee1fc3c5c6f778f422d5f0cd6bbc88cdcb900c4d79e677e65419
|
|
| MD5 |
8e48eab3e6fd4f1b4893cb34062e61a7
|
|
| BLAKE2b-256 |
d62c457531ea317403ae2f0e87c03cafab368f8ea4aec2c35738f5cd43fc6b26
|