Metadata-Version: 2.1
Name: sneakersync
Version: 1.2.1
Summary: Synchronize files through the sneakernet
Home-page: https://github.com/lamyj/sneakersync
Author: Julien Lamy
Author-email: julien@seasofcheese.net
License: MIT
Description: # Sneakersync
        
        Synchronize files through the [sneakernet](https://en.wikipedia.org/wiki/Sneakernet), i.e. using a removable drive.
        
        Requirements:
        
        * [rsync](https://rsync.samba.org/). The version must support extended attributes (`-X` flag).
        * A removable drive with a filesystem matching the source and target computers.
        * Feet or a compatible mean of transportation of the removable drive between computers.
        
        ## Installation
        
        Simply run `pip install sneakersync`.
        
        ## Configuration
        
        The configuration is a [YAML](https://en.wikipedia.org/wiki/YAML)-formatted file that contains *modules* (directories to be synchronized) and *filters* (rules that exclude or include files or directories). Each module must contain a *root* entry (the top-level path to be synchronized) and may contain filters; if no filter is specified, all files and directories below the root of the module are included. Filters are defined by a list of *include* or *exclude* directives.
        
        A minimal example which synchronizes the home folder of a user would look like:
        ```yaml
        modules:
          - root: /home/john.doe
        ```
        
        To exclude a directory (and its content) and files with a given extension from a module, add a *filters* directive:
        ```yaml
        modules:
          - root: /home/john.doe
            filters:
              - exclude: /home/john.doe/.firefox/caches
              - exclude: *.pyc
        ```
        
        To filter entries from all modules, use the top-level *filters* directive:
        ```yaml
        modules:
          - root: /home/john.doe
          - root: /home/jane.blogs
        filters:
          - exclude: .firefox/caches
        ```
        
        Filters defined at the top-level will have priority over module-level filters.
        
        ## Usage
        
        1. Create a filesystem on a removable drive that matches the source and target computers. 
        2. Optional, but highly recommended: [encrypt](https://en.wikipedia.org/wiki/Disk_encryption) your removable drive.
        3. Store the [configuration](#configuration) in a file named `sneakersync.cfg` on the root of the drive.
        4. To send data, run `sneakersync send <PATH_TO_YOUR_DRIVE>`.
        5. Move your drive to the other computer and plug it in.
        6. To receive data, run `sneakersync receive <PATH_TO_YOUR_DRIVE>`.
        
        Known limitations:
        * The last access time (`atime`) is not preserved: rsync needs to access files in order to transfer them.
        * The creation / meta-data change time (`ctime`) is not preserved: this attribute is not user-modifiable.
        
Keywords: synchronization,removable drive,sneakernet,rsync
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: Topic :: Communications :: File Sharing
Classifier: Topic :: System :: Archiving :: Mirroring
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
