Skip to main content

Python module to sync files across different systems(local, sftp, adb)

Project description

pyqsync

pyqsync is a command-line tool for synchronizing files between local and remote systems. It supports local-to-local, ADB-connected Android devices, and SFTP targets.

Features

  • Two-way file synchronization
  • Support for moved, updated, and deleted file detection
  • Conflict resolution options
  • Dry-run mode
  • Optional MD5 checksum comparison
  • CSV diff reporting
  • Caching for faster comparisons
  • Support for ADB and SFTP (with SSH key/password)

Installation

pip install pyqsync

Usage

pyqsync [OPTIONS] LOCAL_PATH REMOTE_PATH

Positional Arguments

  • LOCAL_PATH: Path on the local machine
  • REMOTE_PATH: Path on the remote or target system

Sync Options

Option Description
-u, --update How to handle updated files: ask, local, remote, skip, auto
-m, --move How to handle moved files: ask, local, remote, skip
-D, --delete How to handle deleted files: ask, local, remote, skip, sync
--suppress-conflicts Suppress prompt on size conflicts during update

Technical Options

Option Description
-c, --checksum Use MD5 checksums for file comparison
--dry-run Show what actions would be taken without executing them
--cache Use cached file lists if available
--csv FILE Write CSV diff report to FILE
--progress Show MD5 computation progress on remote

Remote Target Options

Option Description
--adb Use Android device via ADB as remote target
--sftp USER@HOST Use SFTP connection to specified user and host
--port PORT SSH port (default: 22)
--key PATH Path to SSH private key
--password STRING SSH password

Example

pyqsync ./local_dir /sdcard/remote_dir --adb -u remote -m remote -D sync -c --dry-run

This will simulate syncing a local directory with an Android device over ADB using MD5 checksums.


CSV Report Example

pyqsync ./src_dir ./dst_dir --csv diff.csv

Generates a diff report between src_dir and dst_dir without syncing.

Project details


Download files

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

Source Distribution

pyqsync-0.0.6.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

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

pyqsync-0.0.6-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file pyqsync-0.0.6.tar.gz.

File metadata

  • Download URL: pyqsync-0.0.6.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for pyqsync-0.0.6.tar.gz
Algorithm Hash digest
SHA256 0ffa699202c03b96186e37f04aff9cb92c0ca107a3d31f250c49266c48d94394
MD5 516d6b986c62526e6656472c52eca156
BLAKE2b-256 422c63545d17b408e6d788667bba8dfd478ee67722d29ef81e15dd360e5a11cb

See more details on using hashes here.

File details

Details for the file pyqsync-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: pyqsync-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for pyqsync-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6847fb5baa54c7fc81831cbbc4214deb018c4439df5a1a2f61ef5eb6b761fc11
MD5 3c046395877152ca6e6b5546a583b417
BLAKE2b-256 905adc44317cc4281a87efad2914ab0c6ed4d7de2605cb65a1bd72bde2c1f16f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page