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