{ "info": { "author": "Spazzlo", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# folderclone - A project that allows you copy large folders to Shared Drives.\n\n\n## Installation\n\nfolderclone is available on PyPI, so you can install it using pip.\n\n pip install folderclone\n\n\n## multimanager\n\nMulti Manager is the tool that will help you setup everything you need to make folderclone work.\n\n### Multi Manager Setup\nTo set it up, head over to the [Python Quickstart](https://developers.google.com/drive/api/v3/quickstart/python) page and click the Enable the Drive API. Go through the setup and once its done, download the credentials to a new folder on your computer.\n\nOn your terminal, change your directory to that folder you just made and run:\n\n multimanager interactive\n\nThis will start multimanager in interactive mode. It'll start by taking you to a login page to authenticate yourself. You'll then be met with a prompt to enable the Service Usage API. Visit the link it provides, enable the API, then go back and press Enter to retry. Don't worry about having to do this every time, this is a one time setup.\n\nOnce it's done, you'll be met with the Multi Manager prompt.\n\n Multi Manager\n mm>\nYou have successfully setup Multi Manager!\n\n#### Quick Setup\n\nFor folderclone, you'll need a few Service Accounts (SAs) ready. To do this in, run:\n\n mm> quick-setup N SHARED_DRIVE_ID\n\nWhere `N` is the amount of projects you'd like to use and `SHARED_DRIVE_ID` the ID of the Shared Drive you'd like to copy to.\n\nFor example, say I wanted to copy 100 TB worth of content. I'd need 134 SAs (750 GB each) to do the copy, so 2 projects. I'll be copying to a fresh new Shared Drive who's ID is 0ABCdeyz_ZaMsxxxLGA. I'll be running:\n\n mm> quick-setup 2 0ABCdeyz_ZaMsxxxLGA\n\nThis will automatically;\n- create 2 projects\n- enable the required services\n- create Service Accounts\n- add them to the Shared Drive\n- and download their credentials into a new folder `accounts`\n\nYou are now ready to go to the next step.\n\n## multifolderclone\n\nmultifoldeclone is the tool that will do all the cloning for you. It is the simplest thing to use.\n\n multifolderclone -s SOURCE_FOLDER_ID -d DESTINATION_FOLDER_ID\n\nWhere `SOURCE_FOLDER_ID` is the ID of the folder you'll want to copy, and `DESTINATION_FOLDER_ID` is the ID of the folder you are copying to. This could the ID of the Shared Drive, or a folder inside the Shared Drive.\n\nThis will automatically start cloning the folder!\nAnd that's it! You did it!\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Spazzlo/folderclone", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "folderclone", "package_url": "https://pypi.org/project/folderclone/", "platform": "", "project_url": "https://pypi.org/project/folderclone/", "project_urls": { "Homepage": "https://github.com/Spazzlo/folderclone" }, "release_url": "https://pypi.org/project/folderclone/0.5.2/", "requires_dist": [ "google-auth-oauthlib", "urllib3", "httplib2shim", "protobuf", "pyreadline", "google-api-python-client" ], "requires_python": "", "summary": "A tool to copy large folders to Shared Drives.", "version": "0.5.2" }, "last_serial": 5991713, "releases": { "0.4.2": [ { "comment_text": "", "digests": { "md5": "b9685bd0b111933773e381e7b1cfa6e5", "sha256": "706ef1820810ad3898ce4d12a3c60d245727aa352f59ea668b91bc5fde0484f3" }, "downloads": -1, "filename": "folderclone-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b9685bd0b111933773e381e7b1cfa6e5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23432, "upload_time": "2019-10-01T17:36:55", "url": "https://files.pythonhosted.org/packages/a5/c8/0910c809a3e9250494846f0fb3cf897054342bd615f899f711233be4e604/folderclone-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75f1f2b4a05e40c1ea436b27d9dd4105", "sha256": "1acb4a8fe911febda835a4adac544a2216c8ce3f73cbf85d934a6ec68ef997cd" }, "downloads": -1, "filename": "folderclone-0.4.2.tar.gz", "has_sig": false, "md5_digest": "75f1f2b4a05e40c1ea436b27d9dd4105", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8876, "upload_time": "2019-10-01T17:36:57", "url": "https://files.pythonhosted.org/packages/1f/01/86ec9d8acc2b43db0bf92ebc91dcd29387a4962b2765358155c7668de445/folderclone-0.4.2.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "c7e6a7360babb67743c3739b2af0d1b2", "sha256": "2b79d34708d20071a0395213f9da8d4dc6701bd0aa8199315385a884694fc912" }, "downloads": -1, "filename": "folderclone-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c7e6a7360babb67743c3739b2af0d1b2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25413, "upload_time": "2019-10-12T09:52:13", "url": "https://files.pythonhosted.org/packages/91/36/1029d922f2ef73d8a9b351a797a507aad03c469d54949a1c8c0832c88366/folderclone-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e15ec4bf9be7d7552e00f96e7a48f706", "sha256": "b9181a635a7febe9ddbbccd9de715306419ed1a8e148d172d3668902a9478ee0" }, "downloads": -1, "filename": "folderclone-0.5.0.tar.gz", "has_sig": false, "md5_digest": "e15ec4bf9be7d7552e00f96e7a48f706", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11205, "upload_time": "2019-10-12T09:52:15", "url": "https://files.pythonhosted.org/packages/37/03/1326eac76f008a5195f8d3ec8600cab18fd556507b1d1bfe6287b2902ece/folderclone-0.5.0.tar.gz" } ], "0.5.0b1": [ { "comment_text": "", "digests": { "md5": "1e6d7307ba6bf276192b961e6230fe6f", "sha256": "5c3805f8b579408a5316c796e7c70a69e158b394ceaa8902ae45d1c79b5d0c50" }, "downloads": -1, "filename": "folderclone-0.5.0b1-py3-none-any.whl", "has_sig": false, "md5_digest": "1e6d7307ba6bf276192b961e6230fe6f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25427, "upload_time": "2019-10-11T08:24:48", "url": "https://files.pythonhosted.org/packages/23/6a/e7f29124b002c1a6ccfd628c93dabdc5741461ce6d8ab8449658ab2361a4/folderclone-0.5.0b1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "11f150237e5cfb63209d9f0733b7d836", "sha256": "6f43835de9336d4daec758b6d9ec1529c41b4abdf209a1df033add1d8479f13b" }, "downloads": -1, "filename": "folderclone-0.5.0b1.tar.gz", "has_sig": false, "md5_digest": "11f150237e5cfb63209d9f0733b7d836", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11243, "upload_time": "2019-10-11T08:24:49", "url": "https://files.pythonhosted.org/packages/0d/e2/d5f1e605e4cfdf917c2cde57d6b74a413cd925e1897ce6d40d076e42f01b/folderclone-0.5.0b1.tar.gz" } ], "0.5.0b2": [ { "comment_text": "", "digests": { "md5": "705641f22c937671db7849b175979a9d", "sha256": "e9812ce443999995894106146222f1d29cc88c954fdf86bdb2fd1e9d8da64871" }, "downloads": -1, "filename": "folderclone-0.5.0b2-py3-none-any.whl", "has_sig": false, "md5_digest": "705641f22c937671db7849b175979a9d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25439, "upload_time": "2019-10-11T21:59:22", "url": "https://files.pythonhosted.org/packages/e3/bd/19e28aad2cb4fd4a871028b7dc94b67d070b2f0b9bddabc6b8610c089d2c/folderclone-0.5.0b2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "286b421fda7c8e1705be46309d459923", "sha256": "5c2b749bc27b45c99437da833850b06d8093b20a5943e65dfe2fe32477170708" }, "downloads": -1, "filename": "folderclone-0.5.0b2.tar.gz", "has_sig": false, "md5_digest": "286b421fda7c8e1705be46309d459923", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11203, "upload_time": "2019-10-11T21:59:24", "url": "https://files.pythonhosted.org/packages/6b/7a/50bf8417b97b624342f39f72915b9b8ff03cb23be537cb002bd70c444e8e/folderclone-0.5.0b2.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "5f9adf020aa7e3b1e17f034d69f0e16e", "sha256": "d8a1e3b988c8a5e9625c424b72217289ab3846173817ba0aad8fa2d25d6250b6" }, "downloads": -1, "filename": "folderclone-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5f9adf020aa7e3b1e17f034d69f0e16e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26718, "upload_time": "2019-10-16T08:17:21", "url": "https://files.pythonhosted.org/packages/49/56/5246918b1bb9428b6f73621812a7df5df637c5bdce183672358a91ebdc91/folderclone-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "be8ce745458d3e53db01d2b98d882f88", "sha256": "a25673cd3f73620fde450e1287925885f733199013a1554bb2595abb25d6b14e" }, "downloads": -1, "filename": "folderclone-0.5.1.tar.gz", "has_sig": false, "md5_digest": "be8ce745458d3e53db01d2b98d882f88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13374, "upload_time": "2019-10-16T08:17:23", "url": "https://files.pythonhosted.org/packages/2d/f2/a37a560758c484671efcf0993056eb81c45319085ae6fa1fe11fb922cf1e/folderclone-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "7b28f58ce9ca10ed4c65078ea91d315b", "sha256": "3d529f4a829dcc4e0e82167e00d2bf82e2763c1a1749803f7cf729cfefdb6278" }, "downloads": -1, "filename": "folderclone-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7b28f58ce9ca10ed4c65078ea91d315b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26711, "upload_time": "2019-10-16T08:27:37", "url": "https://files.pythonhosted.org/packages/a4/56/a016bfe83dc4a22c69a2558db019c578b76fdc5731a8b7864af457062a01/folderclone-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2783fc0840b80025beaaa1502bf51c1e", "sha256": "57aeef3848ad82b766b7f7561887d56857667e9ef81de8d4919e36d450892dd7" }, "downloads": -1, "filename": "folderclone-0.5.2.tar.gz", "has_sig": false, "md5_digest": "2783fc0840b80025beaaa1502bf51c1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13360, "upload_time": "2019-10-16T08:27:39", "url": "https://files.pythonhosted.org/packages/7c/a1/38933f445b6e7d378e7a449c2e18ab2c21109b5b953d6771d44d98aeece4/folderclone-0.5.2.tar.gz" } ], "0.5.3b1": [ { "comment_text": "", "digests": { "md5": "f450177a2d01ae14758f76bedfd96083", "sha256": "ee4667f021719947bbd14acf607cde5de1f5c686f07c001e39b61441f53af8d5" }, "downloads": -1, "filename": "folderclone-0.5.3b1-py3-none-any.whl", "has_sig": false, "md5_digest": "f450177a2d01ae14758f76bedfd96083", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26693, "upload_time": "2019-10-17T17:20:12", "url": "https://files.pythonhosted.org/packages/47/ab/1797c673e8ada19890e9f2ee0fd0ef18c763beaca1facfdd33bc5e0d7754/folderclone-0.5.3b1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8dfcdf36610c1dc6c6962ced67c5bcc7", "sha256": "30b5e315fabf81df64d5879b7de17e84c335257c5c529fcbbaa82e8ab374abf3" }, "downloads": -1, "filename": "folderclone-0.5.3b1.tar.gz", "has_sig": false, "md5_digest": "8dfcdf36610c1dc6c6962ced67c5bcc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13368, "upload_time": "2019-10-17T17:20:14", "url": "https://files.pythonhosted.org/packages/2a/7e/f285bdc1eaf963abb8b0596680f3609ea9fa6d6a385220c3e77fa8706bff/folderclone-0.5.3b1.tar.gz" } ], "0.5.3b2": [ { "comment_text": "", "digests": { "md5": "87aa3ad327cd61dc8c1d294b944c2bd7", "sha256": "5d5c2058a19fca23fe919fbc220833afdf851f5a6f8efe0e6a8796ae81d23da6" }, "downloads": -1, "filename": "folderclone-0.5.3b2-py3-none-any.whl", "has_sig": false, "md5_digest": "87aa3ad327cd61dc8c1d294b944c2bd7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26769, "upload_time": "2019-10-17T17:29:46", "url": "https://files.pythonhosted.org/packages/7f/3e/2f3722045b043591e6641e6e8920b39dec410c2368273f050d45643f22be/folderclone-0.5.3b2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1fa64b90adadff68e1d5b5b2935f2a2d", "sha256": "d941f18919fda836b55416cf3fe3fd4fb3e240b140a15c370289c07bdac92dfb" }, "downloads": -1, "filename": "folderclone-0.5.3b2.tar.gz", "has_sig": false, "md5_digest": "1fa64b90adadff68e1d5b5b2935f2a2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13437, "upload_time": "2019-10-17T17:29:48", "url": "https://files.pythonhosted.org/packages/45/09/b4fe10985b083466ae0a44756c8ed3e1f7b440336beabbcffe78c58f8a31/folderclone-0.5.3b2.tar.gz" } ], "0.5.3b3": [ { "comment_text": "", "digests": { "md5": "c00cf8bd8c634fe962a21ca8e1339fd4", "sha256": "7b067745e7833dd5feeacc7fef24b812ba92e66a2ad57eac96a3ff3119453770" }, "downloads": -1, "filename": "folderclone-0.5.3b3-py3-none-any.whl", "has_sig": false, "md5_digest": "c00cf8bd8c634fe962a21ca8e1339fd4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26767, "upload_time": "2019-10-17T17:31:31", "url": "https://files.pythonhosted.org/packages/05/78/b0cb01e3ec47a1ca92964de28ac3e66fdab22523a6069727a34abedf2155/folderclone-0.5.3b3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e3e0a0c877fc207c8ca992b36b8c308", "sha256": "31e620089c4cd9b6ccca4b866c61c7d2ddd28fb74add423bb0e2357a70b10088" }, "downloads": -1, "filename": "folderclone-0.5.3b3.tar.gz", "has_sig": false, "md5_digest": "4e3e0a0c877fc207c8ca992b36b8c308", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13428, "upload_time": "2019-10-17T17:31:33", "url": "https://files.pythonhosted.org/packages/d7/6d/8ce7c6642b99c4ca9241ab21224244568e454238726bd63ece3d9374a8b8/folderclone-0.5.3b3.tar.gz" } ], "0.5.3b4": [ { "comment_text": "", "digests": { "md5": "d38b9db2a727967c0a532bd974e6a698", "sha256": "519e410d6bdae06665ca668fce3c322d51ff1422a7033a512a74afc8565e3dae" }, "downloads": -1, "filename": "folderclone-0.5.3b4-py3-none-any.whl", "has_sig": false, "md5_digest": "d38b9db2a727967c0a532bd974e6a698", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27000, "upload_time": "2019-10-17T18:08:29", "url": "https://files.pythonhosted.org/packages/fd/b6/31efbf60eb6794fb2e0e68453815693beb5ccbac7a1e5d44f2a5358bd82c/folderclone-0.5.3b4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79a4322bef63fb191fd2e1dda90a7173", "sha256": "fc35410caf56f14838da61f0398e2aae95aa137622cf8cde791ba55282b07255" }, "downloads": -1, "filename": "folderclone-0.5.3b4.tar.gz", "has_sig": false, "md5_digest": "79a4322bef63fb191fd2e1dda90a7173", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13693, "upload_time": "2019-10-17T18:08:31", "url": "https://files.pythonhosted.org/packages/36/a9/e8a93c1d631727ec84cb68447c0fafafe922305604ac084c157d012410c9/folderclone-0.5.3b4.tar.gz" } ], "0.5.3b5": [ { "comment_text": "", "digests": { "md5": "692e9ae2a17828081b338ec684585e28", "sha256": "30ba9666648896769cf545ad671f689546b8c9a274a152507549e860fb29bb36" }, "downloads": -1, "filename": "folderclone-0.5.3b5-py3-none-any.whl", "has_sig": false, "md5_digest": "692e9ae2a17828081b338ec684585e28", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26929, "upload_time": "2019-10-17T18:16:37", "url": "https://files.pythonhosted.org/packages/d7/cb/1e05a61c678aa82feb1e1cb3e660e8bccfff2e4d8c928a460a479f6ee92c/folderclone-0.5.3b5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5fe134b4797437d79b63b5b00e019d7c", "sha256": "54182473164a214340d6f559bda62b86bdb50e7b40a5a88a7130cb0e5de3247d" }, "downloads": -1, "filename": "folderclone-0.5.3b5.tar.gz", "has_sig": false, "md5_digest": "5fe134b4797437d79b63b5b00e019d7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13626, "upload_time": "2019-10-17T18:16:39", "url": "https://files.pythonhosted.org/packages/be/d0/1085bf0654508af242b42ed7d7213e3c076ff46956a021c0ce56b4022d98/folderclone-0.5.3b5.tar.gz" } ], "0.5.3b6": [ { "comment_text": "", "digests": { "md5": "0bf7ed3e1d755f79974c5e3617e82e87", "sha256": "b88fb85bfdead7a7ea6a5ca7e6872c39ceba7bad4a33e8171f0be00e6569bd98" }, "downloads": -1, "filename": "folderclone-0.5.3b6-py3-none-any.whl", "has_sig": false, "md5_digest": "0bf7ed3e1d755f79974c5e3617e82e87", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26977, "upload_time": "2019-10-17T18:26:02", "url": "https://files.pythonhosted.org/packages/da/a5/cbe672e4dcf9205dee1eb56d771110c0484dfa997193a576b2604dc659a4/folderclone-0.5.3b6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e81af6ffa2880ca863c968ffc6e7eb31", "sha256": "4ed25de3b0fa0cff8edd9e1069a66945a15e087bec53cd75a03e4a56eeccc170" }, "downloads": -1, "filename": "folderclone-0.5.3b6.tar.gz", "has_sig": false, "md5_digest": "e81af6ffa2880ca863c968ffc6e7eb31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13672, "upload_time": "2019-10-17T18:26:04", "url": "https://files.pythonhosted.org/packages/21/66/61cd5df92945b26dfe2f83dfc956a09fbd17db92d4b2d5d650b511ceda59/folderclone-0.5.3b6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7b28f58ce9ca10ed4c65078ea91d315b", "sha256": "3d529f4a829dcc4e0e82167e00d2bf82e2763c1a1749803f7cf729cfefdb6278" }, "downloads": -1, "filename": "folderclone-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7b28f58ce9ca10ed4c65078ea91d315b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26711, "upload_time": "2019-10-16T08:27:37", "url": "https://files.pythonhosted.org/packages/a4/56/a016bfe83dc4a22c69a2558db019c578b76fdc5731a8b7864af457062a01/folderclone-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2783fc0840b80025beaaa1502bf51c1e", "sha256": "57aeef3848ad82b766b7f7561887d56857667e9ef81de8d4919e36d450892dd7" }, "downloads": -1, "filename": "folderclone-0.5.2.tar.gz", "has_sig": false, "md5_digest": "2783fc0840b80025beaaa1502bf51c1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13360, "upload_time": "2019-10-16T08:27:39", "url": "https://files.pythonhosted.org/packages/7c/a1/38933f445b6e7d378e7a449c2e18ab2c21109b5b953d6771d44d98aeece4/folderclone-0.5.2.tar.gz" } ] }