Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

orite - an opinionated Python rsync wrapper

Project description


An opinionated rsync wrapper written in Python

The purpose of orite is to synchronise folders and files between a remote and local server.

To do this using orite run:

orite -^ 

To do this using rsync run:

rsync --human-readable --info=flist --stats --archive --verbose --partial -ic --progress --dry-run /Users/username/Documents/websites/site_name/stack/folder/ username@127.68.551.54:/root/stack/folder --exclude-from="exclude.txt"

This project is an effort to centralise a sync approach, configure once, add options, and make it simple.

ōrite is a Māori word for ʻthe same’

It's pronounced like this rather than ‘oh-right’.

The problem

FTP apps like Transmit and Cyberduck are good apps and can synchronise content, but they are slow.

The CLI tool rsync is brilliant for this purpose in that it is lightning quick. The problem is that there is a lot to type in. There are a lot of flags to remember, as well as the username, IP address, the remote path, and the exclude file path. I also find it hard to remember to include a slash on the local and exclude a slash on the remote path. Meaning one can copy the entire repo into the wrong folder or just loose amongst your other stuff.

I used to do this kind of thing using Git and a Python library called fabric. Running the fabfile would commit, push, login to the remote server and then pull and restart. Whilst it was accurate it was a little clunky and again not super fast. I moved on from that to running a straight shell script. I ended up with variations of this script in each folder I made.

This is where orite came in.


pip3 install orite

Or download the orite folder and alias in your bash profile.

alias orite='python3 path-to-orite-folder/'

How to run?

Run orite in the directory above the folder that you would like to sync.

If you haven't used orite in this directory you will be prompted to lay down a config file and a exclude file.

To upload

orite -^ 

To download

orite -v

By default, orite will run in dry-run mode. Use the -r flag to override this and do a sync for real.

The help menu can be seen using

orite -h


See issues for enhancements.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for orite, version 0.0.16
Filename, size File type Python version Upload date Hashes
Filename, size orite-0.0.16-py3-none-any.whl (6.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size orite-0.0.16.tar.gz (5.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page