Skip to main content

Sneakersync

Synchronize files through the sneakernet, i.e. using a removable drive.

Requirements:

  • rsync. 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-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:

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:

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:

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 your removable drive.
  3. Store the 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.

Release files for sneakersync 1.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sneakersync 1.2.2
File Size Uploaded
sneakersync-1.2.2.tar.gz 5.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sneakersync 1.2.2
File Interpreter ABI Platform
sneakersync-1.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 12.8 kB

Release files / sneakersync-1.2.2.tar.gz

Download URL sneakersync-1.2.2.tar.gz
Size 5.2 kB
Tags Source
SHA-256 checksum
How to use checksums
956d071ece5418751b62c8a98129b5502fc95d0c448ddf9912bc88b9a2c6659d
BLAKE2b-256 checksum
How to use checksums
2ade38edc193d8f42bbc063a1622744d382c61df23563f1db49796f5f35a5986
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.2

Release files / sneakersync-1.2.2-py3-none-any.whl

Download URL sneakersync-1.2.2-py3-none-any.whl
Size 7.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b1c70adcc794802f17899adc65b5c7b656f1455bb3ecee22f83756af7be2c113
BLAKE2b-256 checksum
How to use checksums
96e744ceedb60d45df124dd5167f8848699968da4020b78059f147de9d4cd59d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.2

Release history Release notifications | RSS feed

This release

1.2.2 This release

2 release files

1.2.1

3 release files

1.2.0

3 release files

1.1.2

3 release files

1.1.1

3 release files

1.1.0

3 release files

1.0.2

3 release files

1.0.1

3 release files

1.0.0

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page