{ "info": { "author": "Craig Phillips", "author_email": "iwonbigbro@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Gsync 0.1.14 - 2013-10-22 20:54:50.578114\n=============================================================================\n\nCopyright (C) 2013 Craig Phillips. All rights reserved.\n\nGoogle currently don't produce a Linux variant of their client for Google-Drive.\nThis is my implementation of a multiplatform, command line tool that for the\nmost part, is intended to behave much like rsync. I aim to follow the same\nfunctional implementation of rsync and also provide the same features, enabled\nor disabled through a similar interface of command line options.\n\nThere was a close contender for being a suitable client called grive. This is\nideal if you only intend to sync a small library of files or if the files being\nsynchronised are small in size. I found the client to be unreliable in other\ncases, crashing and failing to synchronise very little. I looked over much of\nthe code and found that it favours preloading with a hash of the directory to\nbe synchronised and all sub directories, before it even synchronises any files.\nThis creates a scenario where synchronisation will never take place if the\npreloading fails. Instead, I will opt to process directories depth first and\nsequentially in order to allow synchronisation to occur immediately.\n\nThe only prerequisite is that you have python. The makefile will take care of\ninstalling any required python libraries using pip, which will also be obtained.\n\nDonations:\n===============================================================================\n\nIf you like the software, don't forget to donate to further development of it!\n\nhttps://github.com/iwonbigbro/gsync/wiki/Donate\n\nMy Blog:\n===============================================================================\n\nhttp://mud-slide.blogspot.co.uk/\n\nInstallation:\n===============================================================================\n\nThe GSync package is now available on pypi.python.org. It can be installed\nusing pip. I recommend using pip over easy_install or pypi-install, since pip\ntakes care of dependencies through setuptools. I have found that easy_install\nonly checks for dependencies but doesn't actually install them. On Debian I\ninstalled using the following steps:\n\n $ sudo apt-get install python-setuptools\n $ sudo easy_install pip\n $ sudo pip install gsync\n\nTo upgrade gsync, you can run pip with the --upgrade option:\n\n $ sudo pip install --upgrade gsync\n\nThat's it. GSync will be installed along with any required packages.\n\nRSync options implemented so far:\n===============================================================================\n\n -v, --verbose enable verbose output\n --debug enable debug output\n -q, --quiet suppress non-error messages\n -c, --checksum skip based on checksum, not mod-time & size\n -r, --recursive recurse into directories\n -R, --relative use relative path names\n -u, --update skip files that are newer on the receiver\n -d, --dirs transfer directories without recursing\n -g, --group preserve group\n -o, --owner preserve owner (super-user only)\n -p, --perms preserve permissions\n -i, --itemize-changes output a change-summary for all updates\n --progress show progress during transfer\n\nFor a list of known issues:\n===============================================================================\n\nhttps://github.com/iwonbigbro/gsync/issues?state=open\n\n=============================================================================\n\nChange history\n=============================================================================\n\n New in version 0.1.14:\n\n - FEATURE #33: Option to change the default dir config files \n (.gsync and client.json).\n\n New in version 0.1.13:\n\n - FIXED BUG #32: MemoryError() with the checksum option with large files\n\n New in version 0.1.10:\n\n - FIXED BUG #31: Files being reported out of date when they are not.\n\n - Added new filter module for future implementation of rsync filters.\n\n New in version 0.1.9:\n\n - Some improvements to README documentation.\n\n - Better dependency specifications in setup.py.\n\n New in version 0.1.8:\n\n - FIXED BUG #26: Error: TypeError('a float is required',)\n\n - FIXED BUG #25: Transfer Stats\n\n New in version 0.1.7:\n\n - FIXED BUG #29: OSError('No such file or directory: h')\n\n New in version 0.1.6:\n\n - FIXED BUG #27: Error: TypeError('a float is required',)\n\n - FIXED BUG #28: Command line arguments are not repeatable: e.g. --filter\n\n New in version 0.1.5:\n\n - FEATURE #12: Implement --checksum option.\n\n - FIXED BUG #22: Modification time is not being set to match the source\n file modification time when used with --times \n\n New in version 0.1.4:\n\n - FIXED: setuptools used in place of distutils, meaning easier installation.\n\n - FIXED BUG #19: Latin-1 file names are not supported and throw exceptions.\n\n New in version 0.1.3:\n\n - FIXED BUG #17 and #18: Does not obey --recursive option anymore.\n\n - FIXED BUG #16: Error: __init__() takes at least 5 arguments (4 given)\n\n New in version 0.1.2:\n\n - FIXED BUG #15: Specifying source and/or destination files results in\n creation of directories where there should be files, on\n the client or server.\n\n New in version 0.1.1:\n\n - FIXED BUG #13: Specifying a file to copy instead of a directory does\n nothing.\n\n - FIXED BUG #14: Attempted install on a 'Python Fresh' machine\n\n New in version 0.1.0:\n\n - Traversal of the Google drive is now more reliable and requires less CPU\n and network requests.\n \n - Intermediate directory creation now occurs through a restructure of the\n directory walking code, ensuring directories are provided to the callback.\n \n - Itemized output now occurs without needing to specify the verbose option.\n\n - Interrupt handling now works, so Ctrl-C will halt the sync and output the\n progress (bytes sent/received) up to the interrupt.\n\n - Implemented --progress functionality so that upload progress can be\n monitored.\n\n - FIXED BUG: Syncs one file and crashes with division by zero error.\n\n - FIXED BUG: Always: Error: String or Integer object expected for key,\n unicode found.\n \n - FIXED BUG: Files get updated that are in Trash and do not get restored.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/iwonbigbro/gsync", "keywords": "rsync gsync google-drive transfer copy files ftp", "license": "BSD License", "maintainer": null, "maintainer_email": null, "name": "gsync", "package_url": "https://pypi.org/project/gsync/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/gsync/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/iwonbigbro/gsync" }, "release_url": "https://pypi.org/project/gsync/0.1.14/", "requires_dist": null, "requires_python": null, "summary": "GSync - RSync for Google Drive", "version": "0.1.14" }, "last_serial": 900988, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "8dd6e979e84967bfe4e03cc5db19375f", "sha256": "9f402be8120dbc5514118ef1ffdc4ddcb97cebc18fa4f70f546f9defcf4febe1" }, "downloads": -1, "filename": "gsync-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8dd6e979e84967bfe4e03cc5db19375f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18500, "upload_time": "2013-09-24T20:56:47", "url": "https://files.pythonhosted.org/packages/8b/c1/ecfac005ef03ff22e765d4364aa7ada14f36a3d97287ff620f44ee6a2f4d/gsync-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "47f7189cd0ad01a234096f9453a61c24", "sha256": "36b135e4b4ef1f86299a9cc9319e0623323d64435be376c7f2182bee27789fa7" }, "downloads": -1, "filename": "gsync-0.1.1.tar.gz", "has_sig": false, "md5_digest": "47f7189cd0ad01a234096f9453a61c24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18852, "upload_time": "2013-09-29T21:09:06", "url": "https://files.pythonhosted.org/packages/fc/2d/f37785dfe76784d0187e34c759fb4726f148709f9e84fd707bd67ced7ca5/gsync-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "20c8d9e69f73fde175888ce89f0125eb", "sha256": "2fd98a5f8bc296253f4f8df736731f8ab0cf09ece11cbe937d19244899365ed0" }, "downloads": -1, "filename": "gsync-0.1.10.tar.gz", "has_sig": false, "md5_digest": "20c8d9e69f73fde175888ce89f0125eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25877, "upload_time": "2013-10-19T08:52:12", "url": "https://files.pythonhosted.org/packages/cb/1f/7036c9541783aac4977437df4f0ef88292dbca52ff31e7b2a5db9c165376/gsync-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "1da010860f021bb0e9737f995a0b0d1d", "sha256": "4f32c0dd2c848cd63643eb028b035613412fd1137b07f7a3615f2a43d5892d99" }, "downloads": -1, "filename": "gsync-0.1.11.tar.gz", "has_sig": false, "md5_digest": "1da010860f021bb0e9737f995a0b0d1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25987, "upload_time": "2013-10-19T09:16:58", "url": "https://files.pythonhosted.org/packages/43/7a/39ea741ad9020ca901497ddb9dacb2605dc3278ff9556fff047f4ee4e162/gsync-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "2ef10d7f155caefaeddfde14818e495b", "sha256": "fe387d1c86ef5929ce1386d124a933bfffe854d2bf0b290b9f2ff92f3bc455dc" }, "downloads": -1, "filename": "gsync-0.1.12.tar.gz", "has_sig": false, "md5_digest": "2ef10d7f155caefaeddfde14818e495b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44245, "upload_time": "2013-10-19T09:22:23", "url": "https://files.pythonhosted.org/packages/a7/10/e4782f4e55c243bc33cf8ff7e46071d82e1370bf985545a0305f06d44af4/gsync-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "d66edc7a9b1f62e4ed81b01f2f07a6b8", "sha256": "9f9b4f62a69b210bf95644290b01ae302ccd5b5fb185547c1abd8f4c932422b5" }, "downloads": -1, "filename": "gsync-0.1.13.tar.gz", "has_sig": false, "md5_digest": "d66edc7a9b1f62e4ed81b01f2f07a6b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44380, "upload_time": "2013-10-21T21:06:33", "url": "https://files.pythonhosted.org/packages/2a/1a/67846b74cbc0c3a236823ad065092f8beb542232bfb9a17cee0cd80c74e1/gsync-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "86a8b88d5cbe66789fdb67552ae86ac5", "sha256": "92fe79a901b35f0a184b2aba0417817c30abde73f81ad3c57ba3d99da06d5e07" }, "downloads": -1, "filename": "gsync-0.1.14.tar.gz", "has_sig": false, "md5_digest": "86a8b88d5cbe66789fdb67552ae86ac5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44769, "upload_time": "2013-10-22T20:56:06", "url": "https://files.pythonhosted.org/packages/37/52/de62d7c8f63eeafccb202dcfd3fbca5460b0c2e8c26d070bf87a4221f2c5/gsync-0.1.14.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "63dedd0dd6ad1fbce48e2698968f04d8", "sha256": "b1c92a8a8a9d128409c600748bd612b8a1d557c25dda8c870f20088070f7769e" }, "downloads": -1, "filename": "gsync-0.1.2.tar.gz", "has_sig": false, "md5_digest": "63dedd0dd6ad1fbce48e2698968f04d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19072, "upload_time": "2013-09-30T22:06:50", "url": "https://files.pythonhosted.org/packages/da/c6/3469c3bd5ba4165280ec176c4083e5211f97178fb40f52e3014b1cd8fe6e/gsync-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "b54b5550eceaeafcffe331e7c6e24dae", "sha256": "d63794ef37ba33fcb11b2471e8a17cdbc327039c6568dc2ecfad7debfeded493" }, "downloads": -1, "filename": "gsync-0.1.3.tar.gz", "has_sig": false, "md5_digest": "b54b5550eceaeafcffe331e7c6e24dae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19030, "upload_time": "2013-10-02T19:10:30", "url": "https://files.pythonhosted.org/packages/de/01/b42cfbbb4c61ac3d83f36048c3e69d853b385f9705550dcd7edbba345eee/gsync-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "f5457e232e1902f3ad5215a5a8411d72", "sha256": "ebc594e90f583064f35a28f857d23684f215a2512f04d96a6fd4329bb50f0284" }, "downloads": -1, "filename": "gsync-0.1.4.tar.gz", "has_sig": false, "md5_digest": "f5457e232e1902f3ad5215a5a8411d72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19734, "upload_time": "2013-10-03T22:53:56", "url": "https://files.pythonhosted.org/packages/07/9f/114c5d1b0ba5d233d5a00d7efc5f53bf28893a5b4675192116d9cce36a56/gsync-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "d9b1c8e7b053ea9ea36fa8ef9a9c6d9c", "sha256": "c69681b7fb3229209c9c136b7f9bcae0b6acc877aac2099d82a227e14c659a15" }, "downloads": -1, "filename": "gsync-0.1.5.tar.gz", "has_sig": false, "md5_digest": "d9b1c8e7b053ea9ea36fa8ef9a9c6d9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20308, "upload_time": "2013-10-09T21:55:49", "url": "https://files.pythonhosted.org/packages/d0/6c/433c93514a06d93eb94565be599252bd00766fcef2287db0b33a233e8287/gsync-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "b3b758235b6263054f98cc5d2c4e7b71", "sha256": "88f5ccbf5609508abff7cc586d51f94aabc0e7cd429b01925c813b6023abd714" }, "downloads": -1, "filename": "gsync-0.1.6.tar.gz", "has_sig": false, "md5_digest": "b3b758235b6263054f98cc5d2c4e7b71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20772, "upload_time": "2013-10-16T20:16:32", "url": "https://files.pythonhosted.org/packages/71/e5/1db82f4ed2b7180d7d55f4c5dda5ccae838e7368dec39b0fd58277f84809/gsync-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "41e8e3397d6cb6de061559dd6cda43b2", "sha256": "7befd46f5b9196483ba6face54e2005cdca3cc208cecfb54d332648fa0794750" }, "downloads": -1, "filename": "gsync-0.1.7.tar.gz", "has_sig": false, "md5_digest": "41e8e3397d6cb6de061559dd6cda43b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20771, "upload_time": "2013-10-16T20:40:53", "url": "https://files.pythonhosted.org/packages/65/7c/dd0f3f0f6bd1b23377bc537c638fc75b421c65fee9587e50e62165fc4a39/gsync-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "4012b2ae7e1c39db8273f4a7eb3293ee", "sha256": "596ee33fa9792679ce5c136a726934459df6a03948585f9e27dcdee5dc663d0b" }, "downloads": -1, "filename": "gsync-0.1.8.tar.gz", "has_sig": false, "md5_digest": "4012b2ae7e1c39db8273f4a7eb3293ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20622, "upload_time": "2013-10-16T21:32:16", "url": "https://files.pythonhosted.org/packages/3f/c2/007dba174e7e1665def8687e4ee6e49a1fe24dd7a81b6219896a1b8d7965/gsync-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "8ffb827b517accf2e3222fb2566cbfbd", "sha256": "f8eb817786e84fa8994b16360c0dc913d88594ad9b5fe83967d76254c66d9e91" }, "downloads": -1, "filename": "gsync-0.1.9.tar.gz", "has_sig": false, "md5_digest": "8ffb827b517accf2e3222fb2566cbfbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25261, "upload_time": "2013-10-16T22:54:27", "url": "https://files.pythonhosted.org/packages/60/02/bfe30542412f35597e1d3559c34741ec0dae0b70db49bdf04bdfd495a059/gsync-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "86a8b88d5cbe66789fdb67552ae86ac5", "sha256": "92fe79a901b35f0a184b2aba0417817c30abde73f81ad3c57ba3d99da06d5e07" }, "downloads": -1, "filename": "gsync-0.1.14.tar.gz", "has_sig": false, "md5_digest": "86a8b88d5cbe66789fdb67552ae86ac5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44769, "upload_time": "2013-10-22T20:56:06", "url": "https://files.pythonhosted.org/packages/37/52/de62d7c8f63eeafccb202dcfd3fbca5460b0c2e8c26d070bf87a4221f2c5/gsync-0.1.14.tar.gz" } ] }