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 machineREMOTE_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.
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)
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
pyqsync-0.0.6-py3-none-any.whl
(17.9 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ffa699202c03b96186e37f04aff9cb92c0ca107a3d31f250c49266c48d94394
|
|
| MD5 |
516d6b986c62526e6656472c52eca156
|
|
| BLAKE2b-256 |
422c63545d17b408e6d788667bba8dfd478ee67722d29ef81e15dd360e5a11cb
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6847fb5baa54c7fc81831cbbc4214deb018c4439df5a1a2f61ef5eb6b761fc11
|
|
| MD5 |
3c046395877152ca6e6b5546a583b417
|
|
| BLAKE2b-256 |
905adc44317cc4281a87efad2914ab0c6ed4d7de2605cb65a1bd72bde2c1f16f
|