GoSync

GoSync is an open source Google Drive client for Linux written in Python. The current released version is 0.4. For more details on this release, please visit:

https://github.com/hschauhan/gosync/releases/tag/v0.4

GoSync is released under GNU GPL version 2.0.

What it does?

It syncs everything from the drive. By default, the sync is turned on. You can pause it by clicking "Pause  sync" menu item. GoSync also monitors for the file changes in the local mirror directory. When a new file is created in local mirror, it is immediately uploaded to the Google Drive.

GoSync does the sync every 10 minutes. It is not configurable right now. This is called as "regular sync".

There are some limitations too:
  1. During the initial sync or regular sync, it only downloads the files from the server. Any files from local mirror directory are not uploaded during sync.
  2. You cannot choose which directories to sync. It just syncs everything.
  3. File modification, delete or move are not supported yet.
This will be fixed in future versions.

What you need to make it work?

Starting from version 0.3, GoSync is available for installation via pip. Simply run:

pip install GoSync

This will also install the dependencies.

If you have cloned the source from GitHub, the dependencies should be installed manually. GoSync doesn't depend on many libraries. You need to install the following libraries before using GoSync:
  1. python (version >= 2.7. Version 3 not tested yet)
  2. wxPython  (version >= 2.8) 
  3. python-googleapi 
  4. pip   
  5. watchdog (to be installed from pip)    
  6. PyDrive (to be installed from pip) 
There is one more essential thing. The "client_secrets.json" file. I am not distributing my "client_secrets.json" because I am not distributing GoSync commercially.

A very good get started page can be found at Google's quick start and a step-by-step process at GAM's Wiki.

When you are done creating the client_secrets.json file, download it and keep it inside .gosync directory in your home directory.

After this you should get it working. In case you have some problem you can send me mail at hschauhan at nulltrace dot org or hs dot chauhan at gmail dot com.

Where to get the code?

The code is being maintained as a github project. You can either clone the project from github or you can download the zip file. The following is the github page for GoSync:

https://github.com/hschauhan/gosync

What the UI looks like?

GoSync Main Window

GoSync Calculating Usage

GoSync About Box

GoSync Main window showing usage

A Request

Please help improving this project. You can send me patches at hschauhan at nulltrace dot org. If you can't write the code and you find something missing or something non-functional, please create a bug on GitHub page. I will see if I can fix that as soon as possible.


Since I work on this project in my free time, I can't tell when exactly I will be able to honor your request. But rest assured I will.