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.
Metadata
Release files for pyqsync 0.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pyqsync-0.0.6.tar.gz | 15.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyqsync-0.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.7 kB
Release files / pyqsync-0.0.6.tar.gz
| Download URL | pyqsync-0.0.6.tar.gz |
|---|---|
| Size | 15.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0ffa699202c03b96186e37f04aff9cb92c0ca107a3d31f250c49266c48d94394
|
|
BLAKE2b-256 checksum How to use checksums |
422c63545d17b408e6d788667bba8dfd478ee67722d29ef81e15dd360e5a11cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.4
|
Release files / pyqsync-0.0.6-py3-none-any.whl
| Download URL | pyqsync-0.0.6-py3-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6847fb5baa54c7fc81831cbbc4214deb018c4439df5a1a2f61ef5eb6b761fc11
|
|
BLAKE2b-256 checksum How to use checksums |
905adc44317cc4281a87efad2914ab0c6ed4d7de2605cb65a1bd72bde2c1f16f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.4
|
Security for pyqsync 0.0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.