Skip to main content

Share application state across computers using Dropbox.

Project description

Overview

This program lets you synchronize application data using Dropbox.

It automatically starts and stops programs that would otherwise fight over data in a shared folder and ensures only one instance is running. Many applications work fine when their data is stored in Dropbox, but some programs overwrite databases:

  • iTunes
  • iPhoto
  • etc.

while others periodically write snapshot data:

  • Eclipse
  • Xcode
  • etc.

and some just don't make sense to keep running on all your computers:

  • Slack
  • HipChat
  • etc.

Build Status Coverage Status Scrutinizer Code Quality PyPI Version

Setup

Requirements

  • Python 3.7+

Installation

Install mine with pipx (or pip):

$ pipx install mine

or directly from the source code:

$ git clone https://github.com/jacebrowning/mine.git
$ cd mine
$ python setup.py install

Configuration

Create a mine.yml in your Dropbox:

config:
  computers:
    - name: My iMac
      hostname: My-iMac.local
      address: 00:11:22:33:44:55
    - name: My MacBook Air
      hostname: My-MacBook-Air.local
      address: AA:BB:CC:DD:EE:FF
  applications:
    - name: iTunes
      properties:
        auto_queue: false
        single_instance: true
      versions:
        mac: iTunes.app
        windows: iTunes.exe
        linux: null
    - name: Slack
      properties:
        auto_queue: true
        single_instance: false
      versions:
        mac: Slack.app
        windows: null
        linux: null

Include the applications you would like mine to manage. Computers are added automatically when mine is run.

The versions dictionary identifies the name of the executable on each platform. The properties.auto_queue setting indicates mine should attempt to launch the application automatically when switching computers. The properties.single_instance setting indicates the application must be closed on other computers before another instance can start.

Usage

To synchronize the current computer's state:

$ mine

To close applications on remote computers and start them locally:

$ mine switch

To close applications running locally:

$ mine close

To close applications locally and start them on another computer:

$ mine switch <name>

To delete conflicted files in your Dropbox:

$ mine clean

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

mine-2.0b1.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

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

mine-2.0b1-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

Details for the file mine-2.0b1.tar.gz.

File metadata

  • Download URL: mine-2.0b1.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.9.9 Darwin/20.6.0

File hashes

Hashes for mine-2.0b1.tar.gz
Algorithm Hash digest
SHA256 f5c5175f3b7a2383f17d73b4f33bdfb491c11b920521099a94bb4306b94c5a2e
MD5 fad245aef60f647bfd90928c54d3399f
BLAKE2b-256 f1164f79fc166319ad0b8402e24d7818faa60d0b4ed4e8bbd1358b86852c297a

See more details on using hashes here.

File details

Details for the file mine-2.0b1-py3-none-any.whl.

File metadata

  • Download URL: mine-2.0b1-py3-none-any.whl
  • Upload date:
  • Size: 26.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.9.9 Darwin/20.6.0

File hashes

Hashes for mine-2.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 30268b7756a836b95e27dc02bdfe6fe1fa9cbc05289afb280e0dcc5ce8f4b741
MD5 c2e4275c6dee22fd3525b51df216a7fa
BLAKE2b-256 f8448b752b001a230cfbeccdb59e33acfb9fff585290dc17b5ab48cdb1f1c7f6

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