Skip to main content

Compare(*diff*)/synchronize/backup/mirror folders quickly.

Project description

DirectSync

PyPI version MIT License Blazing fast

Say thanks

A simple and fast utility to compare/synchronize/mirror folder contents, completely free and open-sourceTM!

Demo

Demo gif

Usage:

directsync [-h] [-add] [-rm] [-ovr] [-mirr] [-trash] [-cache]
           [-latest] [-dry] [-no-bar]
           src-path dst-path

positional arguments:
src-path             The path of the source directory.
dst-path            The path of the destination directory.

optional arguments:
  -h, --help            show this help message and exit
  -add, --add-missing   Copy files from source which are absent in
                        destination.
  -rm, --remove-extra   Remove the files from destination which are absent in
                        source.
  -ovr, --overwrite-content
                        Overwrite the files having same name but different
                        content.
  -mirr, --mirror-contents
                        Make the destination directory exactly same as the
                        source. Shorthand for `-add -rm -ovr`.
  -trash, --use-trash   Send to trash/recycle bin while deleting/overwriting.
  -cache, --use-cache   Whether to use previously cached comparison-check
                        result from disk.
  -latest, --preserve-latest
                        Whether to use the last modified time while
                        comparing files with different content.
  -dry, --dry-run       Just simulate and report the file operations that will
                        be performed with the current configuration.
  -no-bar, --hide-progress-bar
                        Whether to hide the progress bar or not. Will result
                        in a huge speedup iff the 2 directories are structured
                        very differently.

Installation:

  • Install Python 3 (>=3.5)
  • pip install directsync

ToDo:

  • Give more fine-tuned control of file comparison algorithm to the user.
  • Add ignore-pattern option to let the user ignore certain files based on the regex pattern provided.
  • Add test cases.
  • Add code coverage.
  • Setup tox and Travis CI.
  • Add coloured output.
  • Handle nested structures with symlinks.
  • Provide direct interface with online storage services.
  • Add developer guidelines.
  • Explore parallel processing.
  • Add benchmarks.
  • Add demo.
  • Add simulate option.
  • Add use-trash option to send to recycle bin instead of delete/overwrite.
  • Add cache option to cache the results of the previous difference check to disk.
  • Add preserve-latest option: Among the 2 files, the one with the latest modification date should be preserved.

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

directsync-2.0.0.tar.gz (10.5 kB view hashes)

Uploaded Source

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