{ "info": { "author": "Paul Colomiets", "author_email": "paul@colomiets.name", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4" ], "description": "===================\nAsyncio S3 Bindings\n===================\n\n:Status: Alpha\n\nThe `aio-s3` is a small library for accessing Amazon S3 Service that leverages\npython's standard `asyncio` library.\n\nOnly read operations are supported so far, contributions are welcome.\n\n\nExample\n=======\n\nBasically all methods supported so far are shown in this example:\n\n.. code-block:: yaml\n\n import asyncio\n\n from aios3.bucket import Bucket\n\n\n @asyncio.coroutine\n def main():\n bucket = Bucket('uaprom-logs',\n aws_region='eu-west-1',\n aws_endpoint='s3-eu-west-1.amazonaws.com',\n aws_key='AKIAIOSFODNN7EXAMPLE',\n aws_secret='wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY')\n # List keys based on prefix\n lst = yield from bu.list('some-prefix')\n response = yield from bu.get(lst[0])\n print(len(response))\n response = yield from bu.download(lst[0])\n print(\"GOT Response\", dir(response))\n while 1:\n chunk = yield from response.read(65536)\n print(\"Received\", len(chunk))\n if not chunk:\n break\n\n asyncio.get_event_loop().run_until_complete(main())\n\n\nReference\n=========\n\n``Bucket(name, *, aws_key, aws_secret, aws_region, aws_endpoint, connector)``:\n Creates a wrapper object for accessing S3 bucket. Note unlike in many\n other bindings you need to specify aws_region (and probably aws_endpoint)\n correctly (see a table_). The ``connector`` is an aiohttp_ connector,\n which might be used to setup proxy or other useful things.\n\n``Bucket.list(prefix='', max_keys=1000)``:\n Lists items which start with prefix. Each returned item is a ``Key``\n object. This method is coroutine.\n\n .. note:: This method raises assertion error if there are more keys than\n max_keys. We do not have a method to return keys iteratively yet.\n\n``Bucket.get(key)``:\n Fetches object names ``key``. The ``key`` might be a string or ``Key``\n object. Returns bytes. This method is coroutine.\n\n``Bucket.download(key)``:\n Allows iteratively download the ``key``. The object returned by the\n coroutine is an object having method ``.read(bufsize)`` which is a\n coroutine too.\n\n``Key``\n Represents an S3 key returned by ``Bucket.list``. Key has at least the\n following attributes:\n\n * ``key`` -- the full name of the key stored in a bucket\n * ``last_modified`` -- ``datetime.datetime`` object\n * ``etag`` -- The ETag, usually md5 of the content with additional quotes\n * ``size`` -- Size of the object in bytes\n * ``storage_class`` -- Storage class of the object\n\n\n.. _table: http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region\n.. _aiohttp: http://aiohttp.readthedocs.org\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/tailhook/aio-s3", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "aio-s3", "package_url": "https://pypi.org/project/aio-s3/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/aio-s3/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/tailhook/aio-s3" }, "release_url": "https://pypi.org/project/aio-s3/0.1/", "requires_dist": null, "requires_python": null, "summary": "Asyncio-based client for S3", "version": "0.1" }, "last_serial": 1227914, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1e55a5e10e2bf2ee3ae9bb5d3f12261e", "sha256": "b5441738bbe78bbfcb6e20f5928896480784581292b119dd734f8a1e3478fea5" }, "downloads": -1, "filename": "aio-s3-0.1.tar.gz", "has_sig": false, "md5_digest": "1e55a5e10e2bf2ee3ae9bb5d3f12261e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3739, "upload_time": "2014-09-17T12:06:54", "url": "https://files.pythonhosted.org/packages/a3/59/1480a21173c55a5d95f1dc5743fb71cd7cb1c0dcd6e8fd7041be87f782bb/aio-s3-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1e55a5e10e2bf2ee3ae9bb5d3f12261e", "sha256": "b5441738bbe78bbfcb6e20f5928896480784581292b119dd734f8a1e3478fea5" }, "downloads": -1, "filename": "aio-s3-0.1.tar.gz", "has_sig": false, "md5_digest": "1e55a5e10e2bf2ee3ae9bb5d3f12261e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3739, "upload_time": "2014-09-17T12:06:54", "url": "https://files.pythonhosted.org/packages/a3/59/1480a21173c55a5d95f1dc5743fb71cd7cb1c0dcd6e8fd7041be87f782bb/aio-s3-0.1.tar.gz" } ] }