Skip to main content

Shares application state across computers using Dropbox.

Project description

mine

…for applications that haven’t learned to share.

Build Status
Coverage Status
Scrutinizer Code Quality
PyPI Version
PyPI Downloads

This is a program that 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.

Getting Started

Requirements

  • Python 3.3+

Installation

mine can be installed with pip:

$ pip3 install mine

or directly from the source code:

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

Setup

Create a mine.yml in your Dropbox:

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

Include the applications you would like mine to manage. The versions dictionary identifies the name of the executable on each platform. The queued setting indicates it must be closed before another instance can start. Computers are added automatically when mine is run.

For remote application management, mine needs to be started automatically on each of your computers. Cron is good for this:

  1. Find the full path to mine with $ which mine

  2. Add a crontab schedule with $ crontab -e: @reboot /path/to/mine --daemon

Basic Usage

To synchronize the current computer’s state:

$ mine

To close applications on remote computers and start them locally:

$ mine switch

To close applications locally an start them on another computer:

$ mine switch <name>

To delete conflicted files in your Dropbox:

$ mine clean

# Version History

## 0.2 (2015/08/27)

  • Added ‘–daemon’ option to run continuously.

  • Added ‘edit’ command to launch the settings file.

## 0.1.2 (2015/05/17)

  • Upgraded to YORM v0.4.

## 0.1.1 (2015/03/19)

  • Initial release.

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-0.2.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

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

mine-0.2-py3-none-any.whl (28.8 kB view details)

Uploaded Python 3

File details

Details for the file mine-0.2.tar.gz.

File metadata

  • Download URL: mine-0.2.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mine-0.2.tar.gz
Algorithm Hash digest
SHA256 af436f1fb9b0b568570278a9cdce2724cf4c404e1408589101a4e688aeb72519
MD5 91dcf6c471abfaf6dfc447bbd6428dd1
BLAKE2b-256 73abcc457b24468748292fb798b2da01fe2efcdb50d58335f99ccaf9b328885f

See more details on using hashes here.

File details

Details for the file mine-0.2-py3-none-any.whl.

File metadata

  • Download URL: mine-0.2-py3-none-any.whl
  • Upload date:
  • Size: 28.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mine-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 09fa34f1f2a6653f0da560c333d51ede65b397835de9d8d2ba05326bd1b5c611
MD5 2336ce7af90dee09a4d798b66dc6e0a9
BLAKE2b-256 c648144899ec72d070ba14e49c6b610938166b139a6b11db1696040c779eb45e

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