Skip to main content

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, or skip).

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fusion_sync-0.4.0.tar.gz (33.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fusion_sync-0.4.0-py3-none-any.whl (39.2 kB view details)

Uploaded Python 3

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

Hashes for fusion_sync-0.4.0.tar.gz
Algorithm Hash digest
SHA256 9b14444dc6784c8af2c0d5473b78fbd2f3a2fad8e16c3d266858ed75b84ec796
MD5 e240470fd3a6064aae45c3fa34c17ceb
BLAKE2b-256 69bd40b261310cae130f8ca33f869de8848e2a970cb88e41108db2dca581de4e

See more details on using hashes here.

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

Hashes for fusion_sync-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d40c1a8fa4a69b9bb17237abeb8cb20377b7875247081ce08cf06feb23caa557
MD5 3f0da390fe5b95c7cdd9b6d20e35d22a
BLAKE2b-256 41bb3195227f5e56fa6c5bd915a5abd3b1eed86a5498e22d92c0d981a7733d93

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page