What is Fusion ?
Fusion is a command-line tool designed to streamline the process of keeping your computer and Android device in sync. It offers a user-friendly interface and efficient functionality to make file transfers and synchronization a breeze.
Requirements
- Python: Ensure you have the latest Python installed on your system, you can download it from python.org .
- Android Debug Bridge (ADB): fusion uses ADB under the hood to communicate with your device. You can find the latest ADB releases and download instructions on the Google Developer website .
Connecting your device
You have various options to connect your device and all of them are written on the Google Developer website :
- USB: Connect your device to your computer using a USB cable after enabling USB debugging on your device.
- WiFi: Connect your device to your computer using the same WiFi network.
- Hotspot: the wifi connection is not supported on Android 10 and lower or with a hotspot connection so you have to use a USB connection at first then use the app. Read along the Google Developer website for more information.
Installation
Use pip (Python Package Index) to install fusion:
pip install fusion-sync
The reason that the package is named fusion-sync is because fusion was unavailable so, nothing to worry.
Usage
Pull files from your device to your computer :
fusion pull <source> <destination>
Push files from your computer to your device :
fusion push <source> <destination>
Synchronize files between your computer and device :
fusion sync <source> <destination>
Flags
--dryrun,--dry: Perform a dry run without actually transferring files.--content,-c: Transfer content of the directory without the directory itself.--skip,-p: Skip files that exist on both sides.--sync,-s: Synchronize files, overwriting existing ones.--force,-f: Force transfer, ignoring conflicts.--reverse,-r: Reverse the direction of the synchronization.--delete,-d: Delete files that don't exist on the other side.
P.S: You can only use one of sync, force or skip flags at a time as they are mutually exclusive.
P.S 2: reverse and delete flags are only for sync command.
Examples
To pull all documents from your device to a folder named "Documents" on your computer :
fusion pull /sdcard/Documents ./Docuemnts
Sync two directories and delete files that don't exist on your phone anymore :
fusion sync --delete /sdcard/Documents ./Documents
To push all documents from your computer to your device and change its name to MyDocs :
fusion push --content ./Documents /sdcard/MyDocs
Path Completion
Fusion uses argcomplete to provide path completion when pressing <Tab>. According to argcomplete documentation you need to register the Fusion executable binary to enable this feature. To do so, add the following line to your shell startup file:
eval "$(register-python-argcomplete fusion)"
Configuration
Fusion allows you to customize its behavior through a configuration file. You can manage your configuration using the following commands:
-
View or Edit current configuration:
fusion config <show|edit>
edit will open the configuration file in the default editor
-
Set, Add or Remove a configuration value:
fusion config <set|add|remove> <key> <value>
-
Reset configuration to default:
fusion config reset
Common configuration keys:
excluded_paths: List of paths to exclude from sync/transfer.hidden_files: A switch to skip hidden files (files that start with ".")editor: Editor used for editing configuration and logs (e.g.,vi,notepad).conflict_resolution: How to handle file conflicts (sync,force, orskip).
The configuration file is stored in Fusion’s config directory. You can also edit it directly if needed.
Logs
Fusion keeps a log of its operations for troubleshooting and auditing purposes. You can manage logs with the following commands:
-
Open the log file in your configured editor:
fusion log open
-
Copy the log file to a specific directory:
fusion log copy <destination_path>
The log file (fusion.log) contains detailed information about transfers, errors, and other events. This can be helpful for debugging or support.
Metadata
Release files for fusion-sync 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fusion_sync-0.4.0.tar.gz | 33.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fusion_sync-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 72.5 kB
Release files / fusion_sync-0.4.0.tar.gz
| Download URL | fusion_sync-0.4.0.tar.gz |
|---|---|
| Size | 33.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9b14444dc6784c8af2c0d5473b78fbd2f3a2fad8e16c3d266858ed75b84ec796
|
|
BLAKE2b-256 checksum How to use checksums |
69bd40b261310cae130f8ca33f869de8848e2a970cb88e41108db2dca581de4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.11
|
Release files / fusion_sync-0.4.0-py3-none-any.whl
| Download URL | fusion_sync-0.4.0-py3-none-any.whl |
|---|---|
| Size | 39.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d40c1a8fa4a69b9bb17237abeb8cb20377b7875247081ce08cf06feb23caa557
|
|
BLAKE2b-256 checksum How to use checksums |
41bb3195227f5e56fa6c5bd915a5abd3b1eed86a5498e22d92c0d981a7733d93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.11
|