Keep your files in sync
Project description
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.
Project details
Release history Release notifications | RSS feed
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 fusion_sync-0.4.0.tar.gz.
File metadata
- Download URL: fusion_sync-0.4.0.tar.gz
- Upload date:
- Size: 33.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b14444dc6784c8af2c0d5473b78fbd2f3a2fad8e16c3d266858ed75b84ec796
|
|
| MD5 |
e240470fd3a6064aae45c3fa34c17ceb
|
|
| BLAKE2b-256 |
69bd40b261310cae130f8ca33f869de8848e2a970cb88e41108db2dca581de4e
|
File details
Details for the file fusion_sync-0.4.0-py3-none-any.whl.
File metadata
- Download URL: fusion_sync-0.4.0-py3-none-any.whl
- Upload date:
- Size: 39.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d40c1a8fa4a69b9bb17237abeb8cb20377b7875247081ce08cf06feb23caa557
|
|
| MD5 |
3f0da390fe5b95c7cdd9b6d20e35d22a
|
|
| BLAKE2b-256 |
41bb3195227f5e56fa6c5bd915a5abd3b1eed86a5498e22d92c0d981a7733d93
|