Metadata-Version: 1.1
Name: backuppy
Version: 0.2.0
Summary: Backuppy backs up and restores your data using rsync.
Home-page: https://github.com/bartfeenstra/backuppy
Author: Bart Feenstra
Author-email: UNKNOWN
License: MIT
Description-Content-Type: UNKNOWN
Description: 
        Backuppy
        ========
        
        
        .. image:: https://travis-ci.org/bartfeenstra/backuppy.svg?branch=master
           :target: https://travis-ci.org/bartfeenstra/backuppy
           :alt: Build Status
         
        .. image:: https://coveralls.io/repos/github/bartfeenstra/backuppy/badge.svg?branch=master
           :target: https://coveralls.io/github/bartfeenstra/backuppy?branch=master
           :alt: Coverage Status
         
        .. image:: https://img.shields.io/badge/Python-2.7%2C%203.5%2C%203.6-blue.svg
           :target: https://img.shields.io/badge/Python-2.7%2C%203.5%2C%203.6-blue.svg
           :alt: Backuppy runs on Python 2.7, 3.5, and 3.6
         
        .. image:: https://img.shields.io/pypi/v/backuppy.svg
           :target: https://pypi.python.org/pypi/backuppy
           :alt: Latest release
         
        .. image:: https://img.shields.io/github/license/bartfeenstra/backuppy.svg
           :target: https://img.shields.io/github/license/bartfeenstra/backuppy.svg
           :alt: Backuppy is released under the MIT license
        
        
        About
        -----
        
        Backuppy backs up and restores your data using rsync, allowing different routes to the same, or different destinations.
        
        The following instructions can be executed in any system Python environment, but you may want to use a
        `virtual environment <https://docs.python.org/3/library/venv.html>`_. Alternatively, some actions can be performed using
        `tox <https://tox.readthedocs.io/>`_ as well, which produces its own virtual environments in ``.tox/py**``.
        
        License
        -------
        
        Backuppy is released under the `MIT <./LICENSE>`_ license.
        
        Usage
        -----
        
        Requirements
        ^^^^^^^^^^^^
        
        
        * Python 2.7+
        
        Installation
        ^^^^^^^^^^^^
        
        In any Python environment, run ``pip install backuppy``.
        
        Command line
        ^^^^^^^^^^^^
        
        .. code-block:: bash
        
           $ backuppy --help
           usage: backuppy [-h] {backup} ...
        
           Backuppy backs up and restores your data using rsync.
        
           positional arguments:
             {backup}
               backup    Starts a back-up.
        
           optional arguments:
             -h, --help  show this help message and exit
        
        Configuration
        ^^^^^^^^^^^^^
        
        Configuration is written in `YAML <https://en.wikipedia.org/wiki/YAML>`_ or `JSON <https://en.wikipedia.org/wiki/JSON>`_\ ,
        and can be stored anywhere as ``*.yml``\ , ``*.yaml``\ , or ``*.json`` files. An example of the smallest possible configuration
        file:
        
        .. code-block:: yaml
        
           source:
             type: path
             configuration:
               path: ./source
           target:
             type: path
             configuration:
               path: ./target
        
        To tweak Backuppy's output:
        
        .. code-block:: yaml
        
           # An optional human-readable name for this back-up. It will default to the configuration file name.
           name: Test
           # Whether or not to generate verbose output. Defaults to `false`.
           verbose: true
        
        Backuppy supports plugins for back-up source and target locations, as well as notifications.
        
        To configure a local path-based target:
        
        .. code-block:: yaml
        
           type: path
           configuration:
             # The local path to the target directory. If the path is relative, it will be resolved against the location of
             # the configuration file.
             path: ./target
        
        To configure a remote target over SSH:
        
        .. code-block:: yaml
        
           type: ssh
           configuration:
             # The host to connect to.
             host: example.com
             # The SSH port to use. Defaults to 22.
             port: 22
             # The name of the user on the remote system to log in as.
             user: bart
             # The absolute path to the target directory on the remote. 
             path: /home/bart/target
        
        The SSH key must have been accepted already, and the host must support Bash.
        
        To specify multiple routes to the same target, such as one over a local network mount, and a fallback over SSH:
        
        .. code-block:: yaml
        
           target:
             type: first_available
             configuration:
               targets:
                 - type: path
                   configuration:
                     path: ./target
                 - type: ssh
                   configuration:
                     host: example.com
                     user: bart 
                     path: /home/bart/target
        
        To configure user-facing notifications:
        
        .. code-block:: yaml
        
           # An optional list of zero or more notification methods. Message types are:
           # - "state": unimportant, mass-generated, or debugging output which may be ignored.
           # - "inform": informative messages, such as those marking the start of an action.
           # - "confirm": confirmation messages, such as those marking the successful completion of an action.
           # - "alert": important messages that warrant someone's attention, such as in case of errors.
           notifications: []
        
        To display notifications to stdout and stderr (terminal output):
        
        .. code-block:: yaml
        
           notifications:
             - type: stdio
        
        To display notifications using ``notify-send``\ :
        
        .. code-block:: yaml
        
           notifications:
             - type: notify-send
        
        To process notifications through custom CLI commands:
        
        .. code-block:: yaml
        
           notifications:
             - type: command
               # Commands are specified as CLI arguments. `fallback` is required if any of the others are missing.
               configuration:
                 state:
                   - echo
                   - "{message}"
                 inform:
                   - echo
                   - "{message}"
                 confirm:
                   - echo
                   - "{message}"
                 alert:
                   - echo
                   - "{message}"
                 fallback:
                   - echo
                   - "{message}"
        
        To append notifications to files:
        
        .. code-block:: yaml
        
           notifications:
             - type: file
               # Paths must be absolute. `fallback` is required if any of the others are missing.
               configuration:
                 state:
                   - /var/log/backuppy
                 inform:
                   - /var/log/backuppy
                 confirm:
                   - /var/log/backuppy
                 alert:
                   - /var/log/backuppy
                 fallback:
                   - /var/log/backuppy
        
        Development
        -----------
        
        Requirements
        ^^^^^^^^^^^^
        
        
        * The generic requirements documented earlier.
        * Bash (you're all good if ``which bash`` outputs a path in your terminal)
        
        Installation
        ^^^^^^^^^^^^
        
        Run ``git clone https://github.com/bartfeenstra/backuppy.git``.
        
        If you wish to contribute code changes, you may want to fork this project first, and clone your own forked repository
        instead.
        
        Building
        ^^^^^^^^
        
        In any Python environment, run ``./bin/build-dev``.
        
        With tox, run ``tox --develop --notest``.
        
        Testing
        ^^^^^^^
        
        In any Python environment, run ``./bin/test``.
        
        With tox, run ``tox --develop``
        
        Fixing problems automatically
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        
        In any Python environment, run ``./bin/fix``.
        
Platform: UNKNOWN
Classifier: Environment :: Console
Classifier: Intended Audience :: System Administrators
Classifier: Topic :: Security :: Cryptography
Classifier: Topic :: System :: Archiving :: Backup
Classifier: Topic :: System :: Recovery Tools
