{ "info": { "author": "Gorka Eguileor", "author_email": "gorka@eguileor.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4" ], "description": "==========\nGCS-Client\n==========\n\n.. image:: https://img.shields.io/travis/Akrog/gcs-client.svg\n :target: https://travis-ci.org/Akrog/gcs-client\n\n.. image:: https://img.shields.io/pypi/v/gcs-client.svg\n :target: https://pypi.python.org/pypi/gcs-client\n\n.. image:: https://img.shields.io/coveralls/Akrog/gcs-client/master.svg\n :target: https://coveralls.io/github/Akrog/gcs-client\n\n.. image:: https://readthedocs.org/projects/gcs-client/badge/?version=latest\n :target: http://gcs-client.readthedocs.org/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://img.shields.io/pypi/pyversions/gcs-client.svg\n :target: https://pypi.python.org/pypi/gcs-client\n\n.. image:: https://img.shields.io/:license-apache-blue.svg\n :target: http://www.apache.org/licenses/LICENSE-2.0\n\nGoogle Cloud Storage Python Client\n\n* Apache 2.0 License\n* Documentation: https://gcs-client.readthedocs.org.\n\nThe idea is to create a client with similar functionality to `Google's\nappengine-gcs-client`_ but intended for applications running from outside\nGoogle's AppEngine.\n\nCloud Storage documentation can be found at Google_\n\nFeatures\n--------\n\nFor now only basic functionality is available:\n\n* Creating buckets\n* Deleting buckets\n* Listing buckets in a project\n* Getting default bucket for a project\n* Getting bucket attributes\n* Listing objects in a bucket\n* Getting objects attributes\n* Deleting objects\n* Reading object contents\n* Writing an object\n* Configurable retries with Truncated Exponential Backoff\n\nInstallation\n------------\n\nTo install all you need to do is run:\n\n.. code-block:: bash\n\n $ pip install --upgrade gcs-client\n\nUsage Example\n-------------\n\nTo use gcs-client in a project you will need to have Credentials to access intended Google Cloud Storage.\n\nCredentials are generated in `Google Developers Console`_ in the `Credentials section`_ of the API Manager of the project. Recommended credentials file is JSON.\n\nOnce you have the credentials you can start using gcs_client to access your project:\n\n.. code-block:: python\n\n import gcs_client\n\n credentials = gcs_client.Credentials('private_key.json')\n project = gcs_client.Project('project_name', credentials)\n\n # Print buckets in the project\n buckets = project.list()\n print 'Buckets:\\n\\t-', '\\n\\t- '.join(map(str, buckets))\n\n # Print some information from first bucket\n bucket = buckets[0]\n print 'Bucket %s is located in %s with storage class %s' % (bucket, bucket.location,\n bucket.storageClass)\n\n # List the objects in the bucket\n objects = bucket.list()\n if not objects:\n print 'There are no objects, creating one'\n filename = '/tmp/my_file.txt'\n with bucket.open(filename, 'w') as f:\n f.write('this is a test file\\n' * 100)\n objects = [gcs_client.Object(bucket.name, filename, credentials=credentials)]\n\n if objects:\n print '\\t', '\\n\\t'.join(map(lambda o: o.name + ' has %s bytes' % o.size, objects))\n # Read the contents from the first file\n with objects[0].open() as obj:\n print 'Contents of file %s are:\\n' % obj.name, obj.read()\n else:\n print 'There are no objects, nothing to do'\n\nMore examples can be found in the documentation, in the Usage section.\n\nReporting an issue\n------------------\n\nIf you've found an issue with gcs-client here's how you can report the problem:\n\n- Preferred method is filing a bug on GitHub:\n\n 1. Go to project's `issue tracker on GitHub`_\n 2. Search for existing issues using the search field at the top of the page\n 3. File a new issue with information on the problem\n 4. Thanks for helping make gcs-client better\n\n- If you don't have a GitHub account and don't wish to create one you can just\n drop me an email.\n\n\n.. _Google's appengine-gcs-client: https://github.com/GoogleCloudPlatform/appengine-gcs-client\n.. _Google: https://cloud.google.com/storage/docs/overview\n.. _Google Developers Console: https://console.developers.google.com\n.. _Credentials section: https://console.developers.google.com/apis/credentials\n.. _issue tracker on GitHub: https://github.com/Akrog/gcs-client/issues\n\n\n\n\n=======\nHistory\n=======\n\n0.2.2 (2016-11-26)\n------------------\n\n* Fix #1 - Media upload not working\n\n0.2.1 (2016-03-26)\n------------------\n\n* Fix requirements issue\n\n0.2.0 (2015-11-25)\n------------------\n\n* Add support for delimiter in listings using Prefix object\n* Remove dependency from google-api-python-client\n* Return descriptive error message on AttributeError\n\n0.1.4 (2015-11-16)\n------------------\n\n* No changes, version bump to reload in pypi\n\n0.1.3 (2015-11-16)\n------------------\n\n* Reading an object will return data as bytes, not a bytearray.\n* Read specific versions of an object.\n* Can specify chunksize on Bucket's open and Object init.\n* Add exists to buckets and project.\n* Fix opening files with names that needed encoding.\n\n0.1.2 (2015-11-10)\n------------------\n\n* Fix seek method.\n\n0.1.1 (2015-11-09)\n------------------\n\n* Fix Pypi package.\n\n0.1.0 (2015-11-09)\n------------------\n\n* First release on PyPI.", "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/Akrog/gcs-client", "keywords": "gcs-client", "license": "Apache License 2.0", "maintainer": null, "maintainer_email": null, "name": "gcs-client", "package_url": "https://pypi.org/project/gcs-client/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/gcs-client/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/Akrog/gcs-client" }, "release_url": "https://pypi.org/project/gcs-client/0.2.2/", "requires_dist": null, "requires_python": null, "summary": "Google Cloud Storage Python client", "version": "0.2.2" }, "last_serial": 2484214, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4c476a06aa14d988febaa8a6c9a73f35", "sha256": "5598cb2264377a019dcc0544fc9bed1d63a57933233d7da4e85faa5621714a63" }, "downloads": -1, "filename": "gcs_client-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4c476a06aa14d988febaa8a6c9a73f35", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17472, "upload_time": "2015-11-09T16:49:35", "url": "https://files.pythonhosted.org/packages/78/cd/bcef7bedf6deb82eeb4c3bb406e27e4976425d99077ab1d59a8b4ff04e76/gcs_client-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "68f7af928982e9394fa6ea5d1a85c7f8", "sha256": "48a3e091315562782247ae235e78fc6fa0708733bd238c1c5e0e161fe297f869" }, "downloads": -1, "filename": "gcs-client-0.1.0.tar.gz", "has_sig": false, "md5_digest": "68f7af928982e9394fa6ea5d1a85c7f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34274, "upload_time": "2015-11-09T16:49:27", "url": "https://files.pythonhosted.org/packages/9e/ec/9b4a86a948b32a0dcda62993a27f8cc1831ba0e71fa3e8d08c3f028f5926/gcs-client-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c856f393189d5b226718c3ca42f5dd93", "sha256": "54a60433f5feb15d5df0028ab0234012cc127781a1541598614eb7ffe16974c4" }, "downloads": -1, "filename": "gcs_client-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c856f393189d5b226718c3ca42f5dd93", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 20546, "upload_time": "2015-11-09T17:01:59", "url": "https://files.pythonhosted.org/packages/e4/5c/6a230eebc8a654d374eab056dbc8d275df40591e9b294a4d1c0eae98b317/gcs_client-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b570521e4300f9044b83a7dcc491c8a3", "sha256": "7d86cbbd9af6aad6d815a91af922f74b8759546bcc9d372676e5b7bd6ce367dc" }, "downloads": -1, "filename": "gcs-client-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b570521e4300f9044b83a7dcc491c8a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24952, "upload_time": "2015-11-09T17:01:35", "url": "https://files.pythonhosted.org/packages/4c/e2/d4ab95e5e44ab2ece48f6ba571d70c6168e91641c2c5b4e22f9db7cdd4b1/gcs-client-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "8e4f4c0cccb265fc31b4e16546fd1539", "sha256": "fd1e95e1b63dc8794fe681aed4fd7e387f00d592ae541b75680b7b2f1429ea8b" }, "downloads": -1, "filename": "gcs_client-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8e4f4c0cccb265fc31b4e16546fd1539", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 25055, "upload_time": "2015-11-10T20:43:55", "url": "https://files.pythonhosted.org/packages/35/e6/50502da8954913a9f28c5ec712c4e3685af2cee429966f437841c2ec51dc/gcs_client-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4607f5802ca5b16f32a77be9b8701094", "sha256": "c9175f66705a0d60dac4f5724c69c6e5515a894b4d6108990e21c96ebc77c76d" }, "downloads": -1, "filename": "gcs-client-0.1.2.tar.gz", "has_sig": false, "md5_digest": "4607f5802ca5b16f32a77be9b8701094", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29240, "upload_time": "2015-11-10T20:43:50", "url": "https://files.pythonhosted.org/packages/bc/6f/b0fc745740de0d8886d3df350f141d1035ff7c581116050fd9220e45220c/gcs-client-0.1.2.tar.gz" } ], "0.1.3": [], "0.1.4": [ { "comment_text": "", "digests": { "md5": "b75ae3b9e805f7e26f74f648af377003", "sha256": "f05aa16fea382c5a50f3e6d94221a67ecb47877cf7632c174441834bbdaaaed6" }, "downloads": -1, "filename": "gcs_client-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b75ae3b9e805f7e26f74f648af377003", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 26540, "upload_time": "2015-11-16T02:18:56", "url": "https://files.pythonhosted.org/packages/fd/de/899d38d02139aded38eca9227c65d3a967297fdaa877303eec261a6295b9/gcs_client-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "251a9f3a2c933da4932f54c6f8c03316", "sha256": "2816c18e4ceef5f40b83a8cfaf9d586fc97512eee58ce1514ed85c2a3d79b0e8" }, "downloads": -1, "filename": "gcs-client-0.1.4.tar.gz", "has_sig": false, "md5_digest": "251a9f3a2c933da4932f54c6f8c03316", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30646, "upload_time": "2015-11-16T02:18:49", "url": "https://files.pythonhosted.org/packages/91/cb/0a5344acdbac4bb241ff49eaff6cfeeff02695827f12ea2012b645c41ef6/gcs-client-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "3d5fa0a9c897cf081cd881da36860f16", "sha256": "8c4a6363cb0c662f8d358face0da6ebf799e01a6bf01a60b3aef8b276bfc0c99" }, "downloads": -1, "filename": "gcs_client-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3d5fa0a9c897cf081cd881da36860f16", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 24693, "upload_time": "2015-11-25T00:09:10", "url": "https://files.pythonhosted.org/packages/e8/92/8d409393c38fd034414d7d75cb12c682a1cd9ef65ff73fde9327a549895b/gcs_client-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d91e469ddd362e1fc52ad102378975f", "sha256": "2a13022389f6519f483089a4e7f891f340743883af224b90ef2cb95ad232829e" }, "downloads": -1, "filename": "gcs-client-0.2.0.tar.gz", "has_sig": false, "md5_digest": "3d91e469ddd362e1fc52ad102378975f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28733, "upload_time": "2015-11-25T00:08:52", "url": "https://files.pythonhosted.org/packages/08/53/6c06213b86d597d3889106d78be04d540bbdf364b33104edb8e1128446b9/gcs-client-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "dc26a17b8e0e2a5d37c183353b0e5fb5", "sha256": "4ae8b8f3a4453e4509ad52cdc89d04267ddbdbdd5c09913c54ac9840fea96775" }, "downloads": -1, "filename": "gcs_client-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dc26a17b8e0e2a5d37c183353b0e5fb5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 31788, "upload_time": "2016-03-26T17:41:14", "url": "https://files.pythonhosted.org/packages/10/37/b3c6f291df52bab87912329a3273beb0d8d9bf4215805a4cea112faa06c3/gcs_client-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9682f3b35401a275e817bc59b4e6113", "sha256": "8afc91befd18b7e6c2c74467b06861b59f805467efc37bd1569f1d5e8adc1649" }, "downloads": -1, "filename": "gcs-client-0.2.1.tar.gz", "has_sig": false, "md5_digest": "f9682f3b35401a275e817bc59b4e6113", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35401, "upload_time": "2016-03-26T17:41:08", "url": "https://files.pythonhosted.org/packages/b9/8f/84f5cb0bed50bfb5036f567ce1b6325724b3397d88518b1ae80cceef82c3/gcs-client-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "ad63ab84b18c1318edd5a33580b54d29", "sha256": "56067991305ff61d6aff2e1d663da361d334670d8c2255b715507fbeb902ce11" }, "downloads": -1, "filename": "gcs_client-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ad63ab84b18c1318edd5a33580b54d29", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 37375, "upload_time": "2016-11-26T22:06:48", "url": "https://files.pythonhosted.org/packages/f1/a9/c5ad5745b0146aada03f13313bbf34735f26df8308973a2348b7772f31ec/gcs_client-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3156d6e5c192551ba664a47803a9b3dd", "sha256": "a8657176ce92b0e0cf6fde738e94b6bc71eafc99f7711723c306eeb952d6bd55" }, "downloads": -1, "filename": "gcs-client-0.2.2.tar.gz", "has_sig": false, "md5_digest": "3156d6e5c192551ba664a47803a9b3dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40324, "upload_time": "2016-11-26T22:06:44", "url": "https://files.pythonhosted.org/packages/78/9a/226e8345dfbedc08fecab23a9132e71deb33a38eae2f2f39f5584c28c945/gcs-client-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ad63ab84b18c1318edd5a33580b54d29", "sha256": "56067991305ff61d6aff2e1d663da361d334670d8c2255b715507fbeb902ce11" }, "downloads": -1, "filename": "gcs_client-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ad63ab84b18c1318edd5a33580b54d29", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 37375, "upload_time": "2016-11-26T22:06:48", "url": "https://files.pythonhosted.org/packages/f1/a9/c5ad5745b0146aada03f13313bbf34735f26df8308973a2348b7772f31ec/gcs_client-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3156d6e5c192551ba664a47803a9b3dd", "sha256": "a8657176ce92b0e0cf6fde738e94b6bc71eafc99f7711723c306eeb952d6bd55" }, "downloads": -1, "filename": "gcs-client-0.2.2.tar.gz", "has_sig": false, "md5_digest": "3156d6e5c192551ba664a47803a9b3dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40324, "upload_time": "2016-11-26T22:06:44", "url": "https://files.pythonhosted.org/packages/78/9a/226e8345dfbedc08fecab23a9132e71deb33a38eae2f2f39f5584c28c945/gcs-client-0.2.2.tar.gz" } ] }