{ "info": { "author": "Mark Henwood", "author_email": "mark@mcbh.co.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Plugins", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Topic :: Utilities" ], "description": "Handle Amazon S3 interactions\n=============================\n\nObjects / files can be put into S3, retrieved from and deleted from S3. Also\nsigned URLs can be generated to allow limited-time access to a particular\nobject in an S3 bucket.\n\nRequires Python 2.7 or above.\n\nAvailable as Python package at http://pypi.python.org/pypi/pyawsbuckets [ pip\ninstall pyawsbuckets ]\nSource at https://github.com/mhenwood/pyawsbuckets\n\nUsage\n=====\n\nInitialise\n----------\n\nInitiate the access object with your credentials::\n\n from pyawsbuckets import AwsInterface\n aws_interface = AwsInterface(amazon_access_key, amazon_secret_key)\n\nPUT object\n----------\n\nPut an object into an existing bucket at S3 (repeat: the bucket must ALREADY\nexist)::\n\n aws_interface.put(\n 'https',\n 'bucket999',\n 'somefile.pdf',\n content)\n\nPut an object into an existing bucket at S3, activating server-side\nencryption for that object::\n\n aws_interface.put(\n 'https',\n 'bucket999',\n 'somefile.pdf',\n content,\n server_side_encryption=True)\n\nThe put method also accepts an optional content_type keyword argument which\nshould be a standard internet media type (e.g. \"image/jpeg\")\n\nGET object\n==========\n\nRetrieve a given object from a given bucket::\n\n object_contents = aws_interface(\n 'https',\n 'bucket999',\n 'somefile.pdf')\n\nDELETE object\n-------------\n\nDelete an object from S3::\n\n aws_interface.delete('bucket999', 'somefile.pdf')\n\nExpiring access URL\n-------------------\n\nGet a signed URL which gives access to a private object, but only for (e.g.) 15\nminutes. This is useful if you wish for users to be able to download private\nobjects directly, but only for a brief window of time (to stop, for example,\nlink sharing)::\n\n expiring_url = aws_interface.sign_object_request('https', 'bucket999', 'somefile.pdf', 15)\n\nUsing HTTPS\n-----------\n\nYou can specify 'https' as the protocol for putting/getting files and for\nsigning.\n\nHowever you should bear in mind that given the way wildcard certificates work,\nthe certificate presented by the S3 service will not match the requested\nhostname *if* your bucket name contains dots (periods).\n\nThis is because a certificate for \"\\*.s3.amazon.com\" will work nicely for\nhostnames like \"foo.s3.amazon.com\" and \"foo-example-com.s3.example.com\" but\nwill NOT work for hostnames like \"foo.bar.s3.amazon.com\". This is a feature of\nwildcard certificates and their jurisdiction, not of S3 or this library.\n\nBecause the bucket name gets translated into a hostname, this matters. It\nmatters because your request will fail.\n\nIn short: avoid dots (periods) in bucket names if you plan to use https at all.\n\nKnown Limitations\n=================\n\nDoes not currently handle '307' redirects from AWS - You will receive these for\nthe first few hours of a bucket's lifetime, until AWS's DNS changes have\npropagated fully.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/pyawsbuckets", "keywords": "amazon aws s3 buckets", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "pyawsbuckets", "package_url": "https://pypi.org/project/pyawsbuckets/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pyawsbuckets/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/pyawsbuckets" }, "release_url": "https://pypi.org/project/pyawsbuckets/1.2.0/", "requires_dist": null, "requires_python": null, "summary": "Handle Amazon S3 PUT/GET/DELETE/sign interactions", "version": "1.2.0" }, "last_serial": 808204, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "b8796a328296fac402cf5aa9fe7e35b6", "sha256": "5b52b54c683f2029ab410d508df6a7ce9a5fa2a19bb271b77754e1daf58a4fd6" }, "downloads": -1, "filename": "pyawsbuckets-1.0-py2.6.egg", "has_sig": false, "md5_digest": "b8796a328296fac402cf5aa9fe7e35b6", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 8726, "upload_time": "2011-08-20T15:10:08", "url": "https://files.pythonhosted.org/packages/74/9c/ea9403b29b08a5764c2ff76aa7928472885e7157992911248e338b9a4b28/pyawsbuckets-1.0-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "8e8c5b937695e00ded1f476cb32ef210", "sha256": "308127ab84b18c5c17b90da27e9c1650bc8efc1fbd7c74acd97ffd2f9637728f" }, "downloads": -1, "filename": "pyawsbuckets-1.0.tar.gz", "has_sig": false, "md5_digest": "8e8c5b937695e00ded1f476cb32ef210", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3918, "upload_time": "2011-08-20T15:10:07", "url": "https://files.pythonhosted.org/packages/88/c9/cd325434c38dbed8d08d602589dc45720b24b89a7ab91ea1bf4f042c2c73/pyawsbuckets-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "d25c7cb5c6bdb952290f1da1dd93409b", "sha256": "67ed3d1708ab17f240ae22d8c6d1f2d1c019bdb19d58df323f5acf1b83626ca5" }, "downloads": -1, "filename": "pyawsbuckets-1.0.1-py2.6.egg", "has_sig": false, "md5_digest": "d25c7cb5c6bdb952290f1da1dd93409b", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 8757, "upload_time": "2011-08-20T15:15:20", "url": "https://files.pythonhosted.org/packages/2b/b0/d64cb314139348bdab9e87c479eaf3446936599d68a2f5311ee9b4a8ce40/pyawsbuckets-1.0.1-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "025c6732aaec23d3623ff62298c02129", "sha256": "b648658b98714596dbc75081b643c623612816c2916fcfab177dcd3f98f94ab4" }, "downloads": -1, "filename": "pyawsbuckets-1.0.1.tar.gz", "has_sig": false, "md5_digest": "025c6732aaec23d3623ff62298c02129", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3950, "upload_time": "2011-08-20T15:15:20", "url": "https://files.pythonhosted.org/packages/ea/74/73efae4f2c35aaad9affe3d99b7031a64a812f699c2deee6ef5f3459fc19/pyawsbuckets-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "57233bd4e51224b56c778f4ca00d0083", "sha256": "b2c53153d0ff325a331606af28b1035a5505963cedcc56a5f786b2e00b73756c" }, "downloads": -1, "filename": "pyawsbuckets-1.0.2-py2.6.egg", "has_sig": false, "md5_digest": "57233bd4e51224b56c778f4ca00d0083", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 8774, "upload_time": "2011-08-20T15:20:08", "url": "https://files.pythonhosted.org/packages/cb/27/fd7051e7dc49b0e4598527551eb91beba74c04ff0a72a3936f54b49d6694/pyawsbuckets-1.0.2-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "a6eb4e8e8c3fa36c9fb6acb3db397b59", "sha256": "7e6f1ffc6e40b6924d779bfc84d0edc45ec7141c1d04484589fdb4964d96e45c" }, "downloads": -1, "filename": "pyawsbuckets-1.0.2.tar.gz", "has_sig": false, "md5_digest": "a6eb4e8e8c3fa36c9fb6acb3db397b59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4100, "upload_time": "2011-08-20T15:20:07", "url": "https://files.pythonhosted.org/packages/bb/52/7a385ecbe498f7187d8ae115c6af77b9ffb5e3d18ad5e4fbe936a360eff5/pyawsbuckets-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "e3d0f60a1c87acc2a748e27dda6e0d48", "sha256": "6c38e00fe552c979d61a79b98f638a5cadb9da3a0f842752fd14769b50bff661" }, "downloads": -1, "filename": "pyawsbuckets-1.0.3-py2.6.egg", "has_sig": false, "md5_digest": "e3d0f60a1c87acc2a748e27dda6e0d48", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 8957, "upload_time": "2011-08-20T15:32:20", "url": "https://files.pythonhosted.org/packages/23/bf/673b1e6016538ed455152a1ddfb8f044cf564302e56dfc9a5fcbf3845217/pyawsbuckets-1.0.3-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "bd41572d8d8638685c4c514f352cdda2", "sha256": "62cedcadf4ac82f33da559eca45ae9ecfb12d7df90e77e15ea41f5791f1f08f6" }, "downloads": -1, "filename": "pyawsbuckets-1.0.3.tar.gz", "has_sig": false, "md5_digest": "bd41572d8d8638685c4c514f352cdda2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4180, "upload_time": "2011-08-20T15:32:20", "url": "https://files.pythonhosted.org/packages/e5/5b/28af918898e8e67acf606d000067220d7fe477818a23dd6fbabd9490192c/pyawsbuckets-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "5016cc409e5982f9c80f22f01dfbce02", "sha256": "d7b2b3d43635ca46f88a87e14cf8a8856e607132ae06c0eefb0ff1ad71270e34" }, "downloads": -1, "filename": "pyawsbuckets-1.0.4-py2.6.egg", "has_sig": false, "md5_digest": "5016cc409e5982f9c80f22f01dfbce02", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 9142, "upload_time": "2011-08-20T19:03:49", "url": "https://files.pythonhosted.org/packages/ac/a4/d55cd39740e5cf9ab76e63e4e421338991dc11dfdeb9554b210cabf54daa/pyawsbuckets-1.0.4-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "75c17692031902e7c2d8eb645cce2721", "sha256": "1b2553180226628ce92d1767d89f8c094c1d1e444e6182ea0187a21730f7c4cf" }, "downloads": -1, "filename": "pyawsbuckets-1.0.4.tar.gz", "has_sig": false, "md5_digest": "75c17692031902e7c2d8eb645cce2721", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4286, "upload_time": "2011-08-20T19:03:47", "url": "https://files.pythonhosted.org/packages/01/a7/c68ae9f55be317d05e5bfd21a71a1502f7d8e9e243b724383a46abebc44e/pyawsbuckets-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "30f57e797024c6dc520d79d063a51a14", "sha256": "b88cb33c56b98c7e61e03d5a093df838f8e2c3e423134ba6c892b091f8c10047" }, "downloads": -1, "filename": "pyawsbuckets-1.0.5-py2.6.egg", "has_sig": false, "md5_digest": "30f57e797024c6dc520d79d063a51a14", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 9151, "upload_time": "2011-08-20T21:40:09", "url": "https://files.pythonhosted.org/packages/38/dc/f819f5ac5f26fd06d2b7b09b54c934832a597db6387964d80887cb55f6ba/pyawsbuckets-1.0.5-py2.6.egg" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "8c781aae59efcdc664bd75537e3065a8", "sha256": "db1facc9b30938d0a7a305bc458f69865a56d437b33d5d4c3e0e364d64ed688e" }, "downloads": -1, "filename": "pyawsbuckets-1.1.0-py2.7.egg", "has_sig": false, "md5_digest": "8c781aae59efcdc664bd75537e3065a8", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 8683, "upload_time": "2013-05-21T13:38:40", "url": "https://files.pythonhosted.org/packages/73/56/439b8cedac57de794c1c8ff7ee564c648110d3d30e09bba43fbf6d2f6f23/pyawsbuckets-1.1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "928805b2b406a9397c9a897e56499f0f", "sha256": "0bff7d538febefdfb46fad32d35f08cf5c80cf5214159e7f78c847272de718fb" }, "downloads": -1, "filename": "pyawsbuckets-1.1.0.tar.gz", "has_sig": false, "md5_digest": "928805b2b406a9397c9a897e56499f0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4791, "upload_time": "2013-05-21T13:38:43", "url": "https://files.pythonhosted.org/packages/75/9e/e593d72115110cf8bdc50037eebf74e41b5848720fa95d755ac371d86f36/pyawsbuckets-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "a4b110b768d16cd0a3bd412657e8404e", "sha256": "361c872ee4140ea74882a3e4da41765336fbcd3cfcf2d2b5ba67c1fd5ff3e1a7" }, "downloads": -1, "filename": "pyawsbuckets-1.2.0-py2.7.egg", "has_sig": false, "md5_digest": "a4b110b768d16cd0a3bd412657e8404e", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 9184, "upload_time": "2013-05-29T15:16:12", "url": "https://files.pythonhosted.org/packages/48/55/0ddb0623b1ed9362131a2f89ea0d0ead57cc851bf623ce84f3cc175202e5/pyawsbuckets-1.2.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "8cc50c4307fce245700c9bc5a52fe392", "sha256": "56e0f1ca486bfcfa7066fdea03589bfc600f2f9ac7b4350370933a5fa16fd80b" }, "downloads": -1, "filename": "pyawsbuckets-1.2.0.tar.gz", "has_sig": false, "md5_digest": "8cc50c4307fce245700c9bc5a52fe392", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5075, "upload_time": "2013-05-29T15:16:15", "url": "https://files.pythonhosted.org/packages/74/9a/4a9edd42ce4f60a515b10da13dc9d327511add8ea9d2a4803daec39cbac1/pyawsbuckets-1.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a4b110b768d16cd0a3bd412657e8404e", "sha256": "361c872ee4140ea74882a3e4da41765336fbcd3cfcf2d2b5ba67c1fd5ff3e1a7" }, "downloads": -1, "filename": "pyawsbuckets-1.2.0-py2.7.egg", "has_sig": false, "md5_digest": "a4b110b768d16cd0a3bd412657e8404e", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 9184, "upload_time": "2013-05-29T15:16:12", "url": "https://files.pythonhosted.org/packages/48/55/0ddb0623b1ed9362131a2f89ea0d0ead57cc851bf623ce84f3cc175202e5/pyawsbuckets-1.2.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "8cc50c4307fce245700c9bc5a52fe392", "sha256": "56e0f1ca486bfcfa7066fdea03589bfc600f2f9ac7b4350370933a5fa16fd80b" }, "downloads": -1, "filename": "pyawsbuckets-1.2.0.tar.gz", "has_sig": false, "md5_digest": "8cc50c4307fce245700c9bc5a52fe392", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5075, "upload_time": "2013-05-29T15:16:15", "url": "https://files.pythonhosted.org/packages/74/9a/4a9edd42ce4f60a515b10da13dc9d327511add8ea9d2a4803daec39cbac1/pyawsbuckets-1.2.0.tar.gz" } ] }