Explore projects
Pythonintermediatecli
File Sync CLI (rsync-lite)
CLI tool that synchronizes a local directory with a remote SSH server, with hash-based change detection and incremental transfer.
5 steps
Project steps
- 01
Local Inventory
Builds a {path: sha256} dictionary for files in the source directory.
- 02
Remote Inventory via SSH
Runs a Python script on the remote via paramiko/exec_command to generate the same inventory.
- 03
Diff & Plan
Compares inventories: files_to_upload, files_to_delete, unchanged.
- 04
SFTP Transfer
Incrementally transfers modified files with a Rich progress bar.
- 05
Dry-run Mode
Flag --dry-run: displays the plan without executing.
Recommended resources
Ready to build this?
Fork the repo on GitHub and start building. A mentor will review your code when you open a PR.
5 steps
Tech stack
Pythonparamikoclickrichhashlib