CODESEEDSign in
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

  1. 01

    Local Inventory

    Builds a {path: sha256} dictionary for files in the source directory.

  2. 02

    Remote Inventory via SSH

    Runs a Python script on the remote via paramiko/exec_command to generate the same inventory.

  3. 03

    Diff & Plan

    Compares inventories: files_to_upload, files_to_delete, unchanged.

  4. 04

    SFTP Transfer

    Incrementally transfers modified files with a Rich progress bar.

  5. 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