Metadata-Version: 2.0
Name: mine
Version: 0.6
Summary: Share application state across computers using Dropbox.
Home-page: https://github.com/jacebrowning/mine
Author: Jace Browning
Author-email: jacebrowning@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: System
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: Utilities
Requires-Dist: YORM (~=1.0)
Requires-Dist: psutil (~=2.1)

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.python.org/pypi/mine
.. |PyPI Downloads| image:: http://img.shields.io/pypi/dm/mine.svg
   :target: https://pypi.python.org/pypi/mine

Version History
===============

0.6 (2016/07/02)
================

-  Added a ``close`` command to close all locally running applications.

0.5 (2016/05/16)
================

-  Added periodic checking to the daemon (regardless of file changes).

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.


