{ "info": { "author": "Nelson Sequiera", "author_email": "nelsonsequiera@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.7" ], "description": "# AWS utils for lambda\n\n![boto3version](https://img.shields.io/badge/BOTO3-1.9.120-brightgreen.svg?logo=Amazon-AWS&style=for-the-badge) ![pythonversion](https://img.shields.io/badge/python-3.7-brightgreen.svg?logo=Python&style=for-the-badge)\n\n* Wrapper for Boto3\n* Handles Exceptions gracefully and returns structured response\n* Can be used in lambda layers along with boto3 package\n\n## Install\n\n```pip install -U aws-utils-for-lambda```\n\n## Request\n\n```python\nimport aws_utils\naws_utils.s3.get_object('bucket_name', 'test_data.json', output_format='dict')\n```\n\n## Response (dict)\n\n```python\n{\n 'data': 'data',\n 'success': True,\n 'output_format': 'dict',\n 'error': \"ClientError\",\n 'error_message': 'error_message',\n 'full_response': 'full_response',\n 'short_traceback': 'short_traceback',\n 'full_traceback': 'full_traceback'\n}\n```\n\n### How it works\n\n\"AWS-boto-wrapper-2\"\n\nEdit diagram [link](https://creately.com/diagram/jw4mq44s2/FzR84qSmt5M5hQTnFntkkXWZk%3D)\n\n#### Currently supported\n\n* S3\n * upload_file\n * get_object\n* DynamoDB\n * get_item\n * put_item\n\n#### Example 1\n\nGet S3 object - request:\n\n```python\nimport aws_utils\nresponse = aws_utils.s3.get_object('bucket_name', 'test_data.json', output_format='dict')\nprint(response)\n```\n\nGet S3 object - response:\n\n```python\n\n{\n 'data': '{\\n \"name\": \"name\",\\n \"age\": \"24\",\\n \"country\": \"India\"\\n}',\n 'success': True,\n 'output_format': 'dict',\n 'error': None,\n 'error_message': None,\n 'full_response': {\n 'ResponseMetadata': {\n 'RequestId': 'xxxxxxxxxxxx',\n 'HostId': 'xxxxxxxxxxxx',\n 'HTTPStatusCode': 200,\n 'HTTPHeaders': {\n 'x-amz-id-2': 'xxxxxxxxxxxx',\n 'x-amz-request-id': 'xxxxxxxxxxxx',\n 'date': 'Sun, 26 May 2019 10:04:23 GMT',\n 'last-modified': 'Sun, 26 May 2019 10:04:18 GMT',\n 'etag': '\"xxxxxxxxxxxx\"',\n 'accept-ranges': 'bytes',\n 'content-type': 'application/json',\n 'content-length': '65',\n 'server': 'AmazonS3'\n },\n 'RetryAttempts': 0\n },\n 'AcceptRanges': 'bytes',\n 'LastModified': datetime.datetime(2019, 5, 26, 10, 4, 18, tzinfo=tzutc()),\n 'ContentLength': 65,\n 'ETag': '\"xxxxxxxxxxxx\"',\n 'ContentType': 'application/json',\n 'Metadata': {},\n 'Body': \"\"\n },\n 'short_traceback': None,\n 'full_traceback': None\n}\n```\n\n#### Example 2\n\nGet S3 object - request:\n\n```python\nimport aws_utils\nresponse = aws_utils.s3.get_object('bucket_name', 'test_data.json', output_format='dict')\nprint(response)\n```\n\nGet S3 object - response:\n\n```python\n{\n 'data': None,\n 'success': False,\n 'output_format': 'dict',\n 'error': 'NoSuchKey',\n 'error_message': 'An error occurred (NoSuchKey) when calling the GetObject operation: The specified key does not exist.',\n 'full_response': None,\n 'short_traceback': [' File \"/Users/nelsonsequiera/.pyenv/versions/3.7.2/envs/aws_utils_test/lib/python3.7/site-packages/aws_utils/s3.py\" line 26, in get_object\\n full_response = s3.meta.client.get_object(Bucket=bucket, Key=file_path)\\n',\n ' File \"/Users/nelsonsequiera/.pyenv/versions/3.7.2/envs/aws_utils_test/lib/python3.7/site-packages/botocore/client.py\", line 357, in _api_call\\n return self._make_api_call(operation_name, kwargs)\\n',\n ' File \"/Users/nelsonsequiera/.pyenv/versions/3.7.2/envs/aws_utils_test/lib/python3.7/site-packages/botocore/client.py\", line 661, in _make_api_call\\n raise error_class(parsed_response, operation_name)\\n'],\n 'full_traceback': ['Traceback (most recent call last):\\n',\n ' File \"/Users/nelsonsequiera/.pyenv/versions/3.7.2/envs/aws_utils_test/lib/python3.7/site-packages/aws_utils/s3.py\", line 26, in get_object\\n full_response = s3.meta.client.get_object(Bucket=bucket, Key=file_path)\\n',\n ' File \"/Users/nelsonsequiera/.pyenv/versions/3.7.2/envs/aws_utils_test/lib/python3.7/site-packages/botocore/client.py\", line 357, in _api_call\\n return self._make_api_call(operation_name, kwargs)\\n',\n ' File \"/Users/nelsonsequiera/.pyenv/versions/3.7.2/envs/aws_utils_test/lib/python3.7/site-packages/botocore/client.py\", line 661, in _make_api_call\\n raise error_class(parsed_response, operation_name)\\n',\n 'botocore.errorfactory.NoSuchKey: An error occurred (NoSuchKey) when calling the GetObject operation: The specified key does not exist.\\n']\n}\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/nelsonsequiera/aws_utils_for_lambda", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "aws-utils-for-lambda", "package_url": "https://pypi.org/project/aws-utils-for-lambda/", "platform": "", "project_url": "https://pypi.org/project/aws-utils-for-lambda/", "project_urls": { "Homepage": "https://github.com/nelsonsequiera/aws_utils_for_lambda" }, "release_url": "https://pypi.org/project/aws-utils-for-lambda/1.0.3/", "requires_dist": [ "boto3 (==1.9.120)" ], "requires_python": ">=2.7", "summary": "AWS utils for lambda", "version": "1.0.3" }, "last_serial": 5531513, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f6d55f969d437f631b8b3762dd67a2f6", "sha256": "216431d1e390e89ba68854469b47ee58be492e522d47d4378352f8c5b352648a" }, "downloads": -1, "filename": "aws_utils_for_lambda-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f6d55f969d437f631b8b3762dd67a2f6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2393, "upload_time": "2019-05-25T07:42:47", "url": "https://files.pythonhosted.org/packages/3d/b8/1a26bdb19d28ef187949828a7d644c948580c830b34c1c165903ed58bf69/aws_utils_for_lambda-0.1-py3-none-any.whl" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "aaa1fce4d1b3e8ccb97fe216dd00bf65", "sha256": "ae1ad3cbc305e84890fdb188e80614627dd718f1865b794364fcf914b1d124ab" }, "downloads": -1, "filename": "aws_utils_for_lambda-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "aaa1fce4d1b3e8ccb97fe216dd00bf65", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2395, "upload_time": "2019-05-25T07:50:53", "url": "https://files.pythonhosted.org/packages/5d/a4/2bb6180979921f440453b6234cd7562c2d89d7c2977231af5894da5a1506/aws_utils_for_lambda-0.2-py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "20d74436a3678a644e932b79c1f5b0a7", "sha256": "93d388fc69ca4d29ec2d409faedbc8d6b0486c113ddb17bb06a574914fbb7e7e" }, "downloads": -1, "filename": "aws_utils_for_lambda-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "20d74436a3678a644e932b79c1f5b0a7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6279, "upload_time": "2019-05-25T12:51:32", "url": "https://files.pythonhosted.org/packages/19/46/9d64e81e04c8d0d15c95f9dbba38576664f32234e2a60fb2e9ae02d2c143/aws_utils_for_lambda-0.3.0-py3-none-any.whl" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "cc8cc45b75124a5396f1714f75652a35", "sha256": "edbf1885e03189d08fd46b289c82ff7de6e6457200a96339a4b8ee68362f70c8" }, "downloads": -1, "filename": "aws_utils_for_lambda-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "cc8cc45b75124a5396f1714f75652a35", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6308, "upload_time": "2019-05-25T13:05:40", "url": "https://files.pythonhosted.org/packages/43/02/b8c8c908761da1f6f66cd74b4a6ac12ce4ab35c7548829d29e7987dbb636/aws_utils_for_lambda-0.4.0-py3-none-any.whl" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "b4235e35fbd4361145c5cd21623e5fad", "sha256": "9743925a731b1ee7a7a2ac5664527b7610bfc5fa2c68c82eaaf1b47dd1d26324" }, "downloads": -1, "filename": "aws_utils_for_lambda-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b4235e35fbd4361145c5cd21623e5fad", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6318, "upload_time": "2019-05-25T13:07:47", "url": "https://files.pythonhosted.org/packages/fd/ad/6fe1f19e26646c5f2d7b1a4a3d39a2087d96e6ac54b02e562852749338bc/aws_utils_for_lambda-0.4.1-py3-none-any.whl" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "20489995b21829189f3c9aaea8f302f9", "sha256": "728d173a47f62933f62239a8f50f1f2d60d0e7d2e277abcf3b55a195bd8fdfc4" }, "downloads": -1, "filename": "aws_utils_for_lambda-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "20489995b21829189f3c9aaea8f302f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6317, "upload_time": "2019-05-25T13:10:14", "url": "https://files.pythonhosted.org/packages/da/56/505e4505aa358a6919a59b2ee3b7184a41653c8b3676cc5decdd52aca315/aws_utils_for_lambda-0.4.2-py3-none-any.whl" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "a0e560630f903d90561696714124234d", "sha256": "50634046cec74481712a604ae88e1f39080b2913d445846b218d92408ff884cc" }, "downloads": -1, "filename": "aws_utils_for_lambda-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a0e560630f903d90561696714124234d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7264, "upload_time": "2019-05-25T20:06:56", "url": "https://files.pythonhosted.org/packages/3e/0a/d1fb674f768cecb89a1df6a27949263a39ca341ec077b4f2144e37403467/aws_utils_for_lambda-0.5.1-py3-none-any.whl" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "ef410cda2d229ff1a6f1d37af4034fe3", "sha256": "d65212fed99e8ec5dfe3fdff6b641ba43e9f354bc41872ef8d61156150241155" }, "downloads": -1, "filename": "aws_utils_for_lambda-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ef410cda2d229ff1a6f1d37af4034fe3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7280, "upload_time": "2019-05-25T20:09:10", "url": "https://files.pythonhosted.org/packages/8d/5f/7b4665b60366d05e9cc81d1691438d123860a21fee13c23e9ba1d76d9d39/aws_utils_for_lambda-0.5.2-py3-none-any.whl" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "a3fe36336a716a45a787b06f5856637c", "sha256": "2464ddaf1a207345996754602b6f8455b7f13c0bf08a0a0bf47908bf1dbdfe73" }, "downloads": -1, "filename": "aws_utils_for_lambda-0.5.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a3fe36336a716a45a787b06f5856637c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7757, "upload_time": "2019-05-25T20:13:34", "url": "https://files.pythonhosted.org/packages/96/16/d7e0fc4fd54278513dbaf807cfd8561a4d87de4c856aaf08e61a9e7401dd/aws_utils_for_lambda-0.5.3-py3-none-any.whl" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "132b08d550088d41e7ab2abeb22d0553", "sha256": "051d324c54bb677ddd3734cd8f9b80d8789fde1b52b0d16100341ff12d32db05" }, "downloads": -1, "filename": "aws_utils_for_lambda-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "132b08d550088d41e7ab2abeb22d0553", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8579, "upload_time": "2019-05-26T10:42:51", "url": "https://files.pythonhosted.org/packages/7a/6f/c44f1cc539199bbb8b866b278dd1d42ead344b9bc5a8041f29cf13bf520f/aws_utils_for_lambda-0.6.0-py3-none-any.whl" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "7b5d20c1b1e5744a3c27287bbe854536", "sha256": "ca0a0f2e295793c120ac49fdc9f9d07418ac8b42fc7e89abf83e1207046b760e" }, "downloads": -1, "filename": "aws_utils_for_lambda-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7b5d20c1b1e5744a3c27287bbe854536", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8593, "upload_time": "2019-05-27T10:24:11", "url": "https://files.pythonhosted.org/packages/fc/31/57455dee0aa54afee290069dac8450598d64f3628a2c73c9ef8b1c6ba130/aws_utils_for_lambda-0.6.1-py3-none-any.whl" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "322751a170790080909e3a2852d41cea", "sha256": "ec026c1f72b904d9fd22c0cada887f0f556dcb87961dc3477bc4f3d81e683f88" }, "downloads": -1, "filename": "aws_utils_for_lambda-0.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "322751a170790080909e3a2852d41cea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8645, "upload_time": "2019-05-29T11:41:22", "url": "https://files.pythonhosted.org/packages/83/27/1942098d0624d4136a9750d3da945e0de20b74e60207c0d22af3e81778d3/aws_utils_for_lambda-0.7.0-py3-none-any.whl" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "bc7d14685dbc2cf8fd6b207934237df6", "sha256": "a63d1b5e83c76d62363b71e661c821f86f8f3d97d7df513552eedeed0d2ff972" }, "downloads": -1, "filename": "aws_utils_for_lambda-0.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "bc7d14685dbc2cf8fd6b207934237df6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8652, "upload_time": "2019-05-29T17:12:03", "url": "https://files.pythonhosted.org/packages/f7/35/5534131b968d4fece07e9a91cf71fe393fe7284901ea906502b5eb371e9b/aws_utils_for_lambda-0.8.0-py3-none-any.whl" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "f783ea637e53382eb3a7f7fab0e2eb9d", "sha256": "37e33cbd0efe24d2f5e6f4cc5cb9cb720636da31d354a1bfd29a42d2a864697a" }, "downloads": -1, "filename": "aws_utils_for_lambda-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f783ea637e53382eb3a7f7fab0e2eb9d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 8695, "upload_time": "2019-06-03T11:28:58", "url": "https://files.pythonhosted.org/packages/f3/a7/0879d5589cb671b00535710bea14aff3ea627369660aac32c21a70bec43d/aws_utils_for_lambda-1.0.0-py3-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "23db9c48f7c39a446bfe7bb2178ec762", "sha256": "48ab59d769c642e09e9096ad3bf49cc3d8fbba95755ec8156c1d60dbf3934a9e" }, "downloads": -1, "filename": "aws_utils_for_lambda-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "23db9c48f7c39a446bfe7bb2178ec762", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 8708, "upload_time": "2019-06-05T09:10:21", "url": "https://files.pythonhosted.org/packages/5a/e3/fb73707e3408b2154b7334471d888988b9f5f949cd0e66e2b4b3771e6917/aws_utils_for_lambda-1.0.1-py3-none-any.whl" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "9576368768435a1e68fa20e5161ea424", "sha256": "2cd70058c2af6a9380a633a8aa4333d67a2415b2b2fa6da34f23f838f4d85fbe" }, "downloads": -1, "filename": "aws_utils_for_lambda-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9576368768435a1e68fa20e5161ea424", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 8728, "upload_time": "2019-07-14T16:02:10", "url": "https://files.pythonhosted.org/packages/4d/34/15515f40d165ff4de1e3ee01f19b877a5f016b08b262cba4a6e9b8238ec6/aws_utils_for_lambda-1.0.2-py3-none-any.whl" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "a269943295f6593ed9d3dc6d0ebd6fe4", "sha256": "9834b773b8324e3807962ec865d07442b7e496acfe1c2dc239be009e6fff522f" }, "downloads": -1, "filename": "aws_utils_for_lambda-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a269943295f6593ed9d3dc6d0ebd6fe4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 8729, "upload_time": "2019-07-14T16:47:37", "url": "https://files.pythonhosted.org/packages/fe/ca/e3045f82a4c78e3d18dd8cabd8ce18787b97dce8e1de58f32da15126f383/aws_utils_for_lambda-1.0.3-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a269943295f6593ed9d3dc6d0ebd6fe4", "sha256": "9834b773b8324e3807962ec865d07442b7e496acfe1c2dc239be009e6fff522f" }, "downloads": -1, "filename": "aws_utils_for_lambda-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a269943295f6593ed9d3dc6d0ebd6fe4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 8729, "upload_time": "2019-07-14T16:47:37", "url": "https://files.pythonhosted.org/packages/fe/ca/e3045f82a4c78e3d18dd8cabd8ce18787b97dce8e1de58f32da15126f383/aws_utils_for_lambda-1.0.3-py3-none-any.whl" } ] }