Skip to main content

mine ==== ...for applications that haven't learned to share. | |Build Status| | |Coverage Status| | |Scrutinizer Code Quality| | |PyPI Version| | |PyPI Downloads| 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. Getting Started =============== Requirements ------------ - Python 3.3+ Installation ------------ ``mine`` can be installed with pip: :: $ pip install mine or directly from the source code: :: $ git clone https://github.com/jacebrowning/mine.git $ cd mine $ python setup.py install Setup ----- 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. 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 .. |Build Status| image:: http://img.shields.io/travis/jacebrowning/mine/master.svg :target: https://travis-ci.org/jacebrowning/mine .. |Coverage Status| image:: http://img.shields.io/coveralls/jacebrowning/mine/master.svg :target: https://coveralls.io/r/jacebrowning/mine .. |Scrutinizer Code Quality| image:: http://img.shields.io/scrutinizer/g/jacebrowning/mine.svg :target: https://scrutinizer-ci.com/g/jacebrowning/mine/?branch=master .. |PyPI Version| image:: http://img.shields.io/pypi/v/mine.svg :target: https://pypi-hypernode.com/pypi/mine .. |PyPI Downloads| image:: http://img.shields.io/pypi/dm/mine.svg :target: https://pypi-hypernode.com/pypi/mine Version History =============== 0.5 (unreleased) ================ - TBD 0.4.3 (2016/05/11) ------------------ - Fixed ``__init__`` warnings with YORM v0.8.1. 0.4.2 (2016/03/30) ------------------ - Updated to YORM v0.7.2. 0.4.1 (2016/02/23) ------------------ - Updated to YORM v0.6. 0.4 (2015/12/30) ---------------- - Added file watching to update program state faster. 0.3 (2015/11/14) ---------------- - Added automatic daemon restart using ``nohup``. - Moved ``queued`` to setting ``properties.single_instance``. - Added ``properties.auto_queue`` to filter active applications. 0.2.1 (2015/09/05) ------------------ - Fixed daemon warning to run using ``nohup`` 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) ------------------ - Updated to YORM v0.4. 0.1.1 (2015/03/19) ------------------ - Initial release.

Project description

mine

…for applications that haven’t learned to share.

Build Status
Coverage Status
Scrutinizer Code Quality
PyPI Version
PyPI Downloads

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.

Getting Started

Requirements

  • Python 3.3+

Installation

mine can be installed with pip:

$ pip install mine

or directly from the source code:

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

Setup

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.

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.5 (unreleased)

  • TBD

0.4.3 (2016/05/11)

  • Fixed __init__ warnings with YORM v0.8.1.

0.4.2 (2016/03/30)

  • Updated to YORM v0.7.2.

0.4.1 (2016/02/23)

  • Updated to YORM v0.6.

0.4 (2015/12/30)

  • Added file watching to update program state faster.

0.3 (2015/11/14)

  • Added automatic daemon restart using nohup.

  • Moved queued to setting properties.single_instance.

  • Added properties.auto_queue to filter active applications.

0.2.1 (2015/09/05)

  • Fixed daemon warning to run using nohup

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)

  • Updated 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.4.3.tar.gz (23.3 kB view hashes)

Uploaded Source

Built Distribution

mine-0.4.3-py3-none-any.whl (30.5 kB view hashes)

Uploaded Python 3

Supported by

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