{
"info": {
"author": "Daniel Schep",
"author_email": "dschep@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Environment :: Other Environment",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6"
],
"description": "\n\ud83d\udc0d\u03bb\u2728 - lambda_decorators\n=========================\n|Version|_ |Docs|_ |Build|_ |SayThanks|_\n\nA collection of useful decorators for making AWS Lambda handlers\n\n``lambda_decorators`` is a collection of useful decorators for writing Python\nhandlers for `AWS Lambda `_. They allow you to\navoid boiler plate for common things such as CORS headers, JSON serialization,\netc.\n\nQuick example\n-------------\n.. code:: python\n\n # handler.py\n\n from lambda_decorators import json_http_resp, load_json_body\n\n @json_http_resp\n @load_json_body\n def handler(event, context):\n return {'hello': event['body']['name']}\n\nWhen deployed to Lambda behind API Gateway and cURL'd:\n\n.. code:: shell\n\n $ curl -d '{\"name\": \"world\"}' https://example.execute-api.us-east-1.amazonaws.com/dev/hello\n {\"hello\": \"world\"}\n\nInstall\n-------\nIf you are using `the serverless framework `_\nI recommend using\n`serverless-python-requirements `_\n\n.. code:: shell\n\n sls plugin install -n serverless-python-requirements\n echo lambda-decorators >> requirements.txt\n\nOr if using some other deployment method to AWS Lambda you can just download\nthe entire module because it's only one file.\n\n.. code:: shell\n\n curl -O https://raw.githubusercontent.com/dschep/lambda-decorators/master/lambda_decorators.py\n\nIncluded Decorators:\n--------------------\n``lambda_decorators`` includes the following decorators to avoid boilerplate\nfor common usecases when using AWS Lambda with Python.\n\n* `async_handler `_ - support for async handlers\n* `cors_headers `_ - automatic injection of CORS headers\n* `dump_json_body `_ - auto-serialization of http body to JSON\n* `load_json_body `_ - auto-deserialize of http body from JSON\n* `json_http_resp `_ - automatic serialization of python object to HTTP JSON response\n* `json_schema_validator `_ - use JSONSchema to validate request&response payloads\n* `load_urlencoded_body `_ - auto-deserialize of http body from a querystring encoded body\n* `no_retry_on_failure `_ - detect and stop retry attempts for scheduled lambdas\n* `ssm_parameter_store `_ - fetch parameters from the AWS SSM Parameter Store\n* `secret_manager `_ - fetch secrets from the AWS Secrets Manager\n\nSee each individual decorators for specific usage details and the example_\nfor some more use cases. This library is also meant to serve as an example for how to write\ndecorators for use as lambda middleware. See the recipes_ page for some more niche examples of\nusing decorators as middleware for lambda.\n\n.. _example: https://github.com/dschep/lambda-decorators/tree/master/example\n.. _recipes: recipes.rst\n\nWriting your own\n----------------\n``lambda_decorators`` includes utilities to make building your own decorators\neasier. The `before `_, `after `_, and `on_exception `_ decorators\ncan be applied to your own functions to turn them into decorators for your\nhandlers. For example:\n\n\n.. code:: python\n\n import logging\n from lambda_decorators import before\n\n @before\n def log_event(event, context):\n logging.debug(event)\n return event, context\n\n @log_event\n def handler(event, context):\n return {}\n\nAnd if you want to make a decorator that provides two or more of\nbefore/after/on_exception functionality, you can use\n`LambdaDecorator `_:\n\n.. code:: python\n\n import logging\n from lambda_decorators import LambdaDecorator\n\n class log_everything(LambdaDecorator):\n def before(event, context):\n logging.debug(event, context)\n return event, context\n def after(retval):\n logging.debug(retval)\n return retval\n def on_exception(exception):\n logging.debug(exception)\n return {'statusCode': 500}\n\n @log_everything\n def handler(event, context):\n return {}\n\n\nWhy\n---\nInitially, I was inspired by `middy `_ which\nI like using in JavaScript. So naturally, I thought I'd like to have something similar in Python\ntoo. But then as I thought about it more, it seemed that when thinking of functions as the compute\nunit, when using python, `decorators `_\npretty much are middleware! So instead of building a middleware engine and a few middlewares, I\njust built a few useful decorators and utilities to build them.\n\n-----\n\n.. |Version| image:: https://img.shields.io/pypi/v/lambda-decorators.svg\n.. _Version: https://pypi.org/project/lambda-decorators\n.. |Docs| image:: http://readthedocs.org/projects/lambda-decorators/badge/?version=latest\n.. _Docs: http://lambda-decorators.readthedocs.org/en/latest\n.. |Build| image:: https://img.shields.io/travis/dschep/lambda-decorators/master.svg\n.. _Build: https://travis-ci.org/dschep/lambda-decorators\n.. |SayThanks| image:: https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg\n.. _SayThanks: https://saythanks.io/to/dschep\n\n\n`Full API Documentation `_\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "http://lambda-decorators.readthedocs.io",
"keywords": "serverless lambda decorator aws",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "lambda-decorators",
"package_url": "https://pypi.org/project/lambda-decorators/",
"platform": "",
"project_url": "https://pypi.org/project/lambda-decorators/",
"project_urls": {
"Homepage": "http://lambda-decorators.readthedocs.io"
},
"release_url": "https://pypi.org/project/lambda-decorators/0.3.0/",
"requires_dist": [
"boto3",
"jsonschema"
],
"requires_python": "",
"summary": "A collection of useful decorators for making AWS Lambda handlers",
"version": "0.3.0"
},
"last_serial": 5816496,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "a66be65a72b7febb0f5751d6347be97c",
"sha256": "1bc738b53a144b0775ee9a68a7b83e1c857230fb9f72e1416bd72fb70a03a8ad"
},
"downloads": -1,
"filename": "lambda_decorators-0.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "a66be65a72b7febb0f5751d6347be97c",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 11357,
"upload_time": "2018-02-04T17:02:24",
"url": "https://files.pythonhosted.org/packages/3c/5f/5b733f7129149251cf12f09ea666f2d187a3f618d5b6889ee764a12b387a/lambda_decorators-0.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "49046461808b22287447c1cb1ede08a1",
"sha256": "7651fc6a825c9c92f689d2d6f1a7313bf98a6d2a1a896ad431e97eb06f765a58"
},
"downloads": -1,
"filename": "lambda-decorators-0.1.tar.gz",
"has_sig": false,
"md5_digest": "49046461808b22287447c1cb1ede08a1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7213,
"upload_time": "2018-02-04T17:02:23",
"url": "https://files.pythonhosted.org/packages/03/ba/254ff5bf576fbd54966d8fa9436e874b0e5e7744dcf9efbaa7bc29eaafc2/lambda-decorators-0.1.tar.gz"
}
],
"0.1a1": [
{
"comment_text": "",
"digests": {
"md5": "319087215f934bd36f32a3aa2661d861",
"sha256": "78bbbc92050fe200dc32de622458d9769f6341e7fbb6d9cba0ff4129444bbb60"
},
"downloads": -1,
"filename": "lambda_decorators-0.1a1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "319087215f934bd36f32a3aa2661d861",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 7286,
"upload_time": "2017-12-23T21:56:12",
"url": "https://files.pythonhosted.org/packages/8e/94/76a0e334a219118b6656acc49c8468674ffbbb24d1d485ad26e56980d22e/lambda_decorators-0.1a1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "418110d8304d48ae5d943b991edc5e6e",
"sha256": "d9e595df74ee5ff4b6284ea936f1b76bfa80f7d617a9c40fcec50787fdfcdd01"
},
"downloads": -1,
"filename": "lambda-decorators-0.1a1.tar.gz",
"has_sig": false,
"md5_digest": "418110d8304d48ae5d943b991edc5e6e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3886,
"upload_time": "2017-12-23T21:56:10",
"url": "https://files.pythonhosted.org/packages/aa/b0/5acbfe71f2e7a6a585b59f48a515c59d2d346c1d23a1d48c6c810febdc06/lambda-decorators-0.1a1.tar.gz"
}
],
"0.1a2": [
{
"comment_text": "",
"digests": {
"md5": "b31d041d63c946243e08e13312f73de3",
"sha256": "348e3aa3e92b2926ac82cc8a3982b090f560c03089ca1541f3256d01374c0a14"
},
"downloads": -1,
"filename": "lambda_decorators-0.1a2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b31d041d63c946243e08e13312f73de3",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 7286,
"upload_time": "2017-12-23T21:57:52",
"url": "https://files.pythonhosted.org/packages/6d/29/279d12d3862612eacf39cb2a2908e7b1f624291b5c8c8404d8caaf986dd1/lambda_decorators-0.1a2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e25edda127045ff63ffcd8cc93b805b8",
"sha256": "8443b6fc39edcab67a3f7aa081a4dd8091f52d5fb72e3e433972cd1bef9025ca"
},
"downloads": -1,
"filename": "lambda-decorators-0.1a2.tar.gz",
"has_sig": false,
"md5_digest": "e25edda127045ff63ffcd8cc93b805b8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3885,
"upload_time": "2017-12-23T21:57:49",
"url": "https://files.pythonhosted.org/packages/e0/53/d67173687aab10321a536692dc7ce91aeabe4af016b3fd4110af01b77d38/lambda-decorators-0.1a2.tar.gz"
}
],
"0.1a3": [
{
"comment_text": "",
"digests": {
"md5": "76f8953e2e042f4ac162cc89039d66e0",
"sha256": "9e36923fa329b95f2ea281e8409518405a1d6e5d0afff08f3ae40e6b488d1107"
},
"downloads": -1,
"filename": "lambda_decorators-0.1a3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "76f8953e2e042f4ac162cc89039d66e0",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 7149,
"upload_time": "2017-12-26T20:37:31",
"url": "https://files.pythonhosted.org/packages/75/5d/9374409ffe12a99d62942d414b3e7ec9030e1e617b536190e6e6b65c4f37/lambda_decorators-0.1a3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "fcd16d4ebf6fcda946c80a46e753acd6",
"sha256": "bb5c3683b4aac9c280333effd4e3d2c0fe94b899f1a67f376da07d63f7bd4857"
},
"downloads": -1,
"filename": "lambda-decorators-0.1a3.tar.gz",
"has_sig": false,
"md5_digest": "fcd16d4ebf6fcda946c80a46e753acd6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3903,
"upload_time": "2017-12-26T20:37:30",
"url": "https://files.pythonhosted.org/packages/2a/30/bf248dc8e9881c6a17cdf0afe24f8ae8c48826c52f6df445378921dca1ec/lambda-decorators-0.1a3.tar.gz"
}
],
"0.1a4": [
{
"comment_text": "",
"digests": {
"md5": "9a043f4f618ac58ad3f2c18d62160c1c",
"sha256": "0748e2896ea34401d24446dbf89c789c779d20eba706935a198c05d5b9b029d6"
},
"downloads": -1,
"filename": "lambda_decorators-0.1a4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9a043f4f618ac58ad3f2c18d62160c1c",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 7344,
"upload_time": "2017-12-26T23:53:36",
"url": "https://files.pythonhosted.org/packages/6d/66/490dd76f4675ca1a5fb5937a64dab0948509005febc625025e511712c009/lambda_decorators-0.1a4-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "0f215df003bc9331dc39c7eab5cb6983",
"sha256": "a922208a110047e92e815addd8f78fdc380b04d458102652b52968f70544bc46"
},
"downloads": -1,
"filename": "lambda-decorators-0.1a4.tar.gz",
"has_sig": false,
"md5_digest": "0f215df003bc9331dc39c7eab5cb6983",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3967,
"upload_time": "2017-12-26T23:53:35",
"url": "https://files.pythonhosted.org/packages/e1/a2/48dea721a2f2bf221b2391a47378641c39c8d2ef12e2756f9f9c64c6370d/lambda-decorators-0.1a4.tar.gz"
}
],
"0.1b0": [
{
"comment_text": "",
"digests": {
"md5": "e63ed06cb4960644fa17c3b6ff53c110",
"sha256": "28732a6d011f0495d71319341b068c0b3e3a6faa455024cc134575868729471d"
},
"downloads": -1,
"filename": "lambda_decorators-0.1b0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e63ed06cb4960644fa17c3b6ff53c110",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 9517,
"upload_time": "2017-12-29T00:35:05",
"url": "https://files.pythonhosted.org/packages/e5/92/3d06659fbd454e47399e0cb49e58381baf539c48545623bfd3892875e5c0/lambda_decorators-0.1b0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "92b88be13ea81f31023c1f047d09c0a8",
"sha256": "51ad3cfea14b6dc667b1f07fbd504160ff0dbac51b2920f066dd981ffee429c3"
},
"downloads": -1,
"filename": "lambda-decorators-0.1b0.tar.gz",
"has_sig": false,
"md5_digest": "92b88be13ea81f31023c1f047d09c0a8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5736,
"upload_time": "2017-12-29T00:35:03",
"url": "https://files.pythonhosted.org/packages/bd/82/21ca1bf05047b8c3d2b45d092cbff3465fed960759ef870e2057c511cb66/lambda-decorators-0.1b0.tar.gz"
}
],
"0.1b1": [
{
"comment_text": "",
"digests": {
"md5": "66d9a2527d17aefd5ebd428c78422749",
"sha256": "0b4e7096c0ea1e9f1dc56349424cf07581a19e045a9d454c45f9a6baa815c1b2"
},
"downloads": -1,
"filename": "lambda_decorators-0.1b1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "66d9a2527d17aefd5ebd428c78422749",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 10168,
"upload_time": "2017-12-29T21:55:16",
"url": "https://files.pythonhosted.org/packages/19/20/72708cb12b8ccfe1561e604227fae044c0e6eabf9b82df4763aceee44fce/lambda_decorators-0.1b1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "62455ba2ea75325aa514bad22b77df1f",
"sha256": "e464b92871d38862da0d2bc741ce23b7d0afb214ea5d09c393600549b140c078"
},
"downloads": -1,
"filename": "lambda-decorators-0.1b1.tar.gz",
"has_sig": false,
"md5_digest": "62455ba2ea75325aa514bad22b77df1f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6009,
"upload_time": "2017-12-29T21:55:14",
"url": "https://files.pythonhosted.org/packages/ae/64/561fd7720113d793aeda3321f99f69ec5ef6a96a03d070b9eef23a42da57/lambda-decorators-0.1b1.tar.gz"
}
],
"0.1b2": [
{
"comment_text": "",
"digests": {
"md5": "d50c83caec95c33bc14523c1a74c003f",
"sha256": "49096c2ea756980318eb429063fc037c81d5d7fc607dc1bc7d1d37179c999521"
},
"downloads": -1,
"filename": "lambda_decorators-0.1b2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "d50c83caec95c33bc14523c1a74c003f",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 11012,
"upload_time": "2018-01-05T23:21:01",
"url": "https://files.pythonhosted.org/packages/d3/28/62f8bec5dc9651281849296ca9b86e8ceb441974accb8fa0fd00da0dc483/lambda_decorators-0.1b2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "a21f12c9866b5d8498fe8cebc863bd4f",
"sha256": "480fe180c57440b168abdd7730eab5735e1f556be8aabfdb320b92b21110d16d"
},
"downloads": -1,
"filename": "lambda-decorators-0.1b2.tar.gz",
"has_sig": false,
"md5_digest": "a21f12c9866b5d8498fe8cebc863bd4f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7011,
"upload_time": "2018-01-05T23:21:00",
"url": "https://files.pythonhosted.org/packages/20/98/8f1e0cf0f049e5766edbb0cd3636f452e3097732791b0f66b040c544c42e/lambda-decorators-0.1b2.tar.gz"
}
],
"0.1b3": [
{
"comment_text": "",
"digests": {
"md5": "9dabce135729553e3aeb7488f16488d9",
"sha256": "28b27af621f4756366567ffb8eceeabc29288acafdff0d4250518eecdcd45e97"
},
"downloads": -1,
"filename": "lambda_decorators-0.1b3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "9dabce135729553e3aeb7488f16488d9",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 11331,
"upload_time": "2018-01-25T01:39:54",
"url": "https://files.pythonhosted.org/packages/2e/76/672199b84a34333261527b26cc0abea9e9e71713d91ef05c0e892ee275bd/lambda_decorators-0.1b3-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "4814f816603c81ef7088eb9da3156cff",
"sha256": "5b63c020eeb6946e4d0b85c03ac91b8483271cfb27ad7abc1b94f816e04299c7"
},
"downloads": -1,
"filename": "lambda-decorators-0.1b3.tar.gz",
"has_sig": false,
"md5_digest": "4814f816603c81ef7088eb9da3156cff",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7172,
"upload_time": "2018-01-25T01:39:53",
"url": "https://files.pythonhosted.org/packages/c4/e4/e79d547d2b8b14664b11e383e477552b2362b84c39b7fcd39ea73ef19006/lambda-decorators-0.1b3.tar.gz"
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "da3b92d85bc632f9f89b5a549661ff00",
"sha256": "6af196f79e02b2129961c1e4394b6e9dc4b4d0899f552279650bb1f1e0d61f94"
},
"downloads": -1,
"filename": "lambda_decorators-0.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "da3b92d85bc632f9f89b5a549661ff00",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 12106,
"upload_time": "2018-04-06T19:48:45",
"url": "https://files.pythonhosted.org/packages/fb/6b/4469c019699f615e3f11d69ac65597bc476c71774ada2c5ce663bac72675/lambda_decorators-0.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "0869c61251373099316d95e65d2717e8",
"sha256": "906aa60049c594c7363f0bb10ebb6911cd4ef3a345b4572dfdc64e835fe95c6f"
},
"downloads": -1,
"filename": "lambda-decorators-0.2.tar.gz",
"has_sig": false,
"md5_digest": "0869c61251373099316d95e65d2717e8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7818,
"upload_time": "2018-04-06T19:48:44",
"url": "https://files.pythonhosted.org/packages/0a/84/84b62f0b30e1f82d0a670f9ef1e750ba6a7f84bcfb79a0d3b691f93cf74d/lambda-decorators-0.2.tar.gz"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "75b2b627a9d874becf83f2ab390688d7",
"sha256": "24528158ed8002af34c9894176addb2d05aa625be6321ee9e348584f49b7af09"
},
"downloads": -1,
"filename": "lambda_decorators-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "75b2b627a9d874becf83f2ab390688d7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 10181,
"upload_time": "2019-08-30T21:06:27",
"url": "https://files.pythonhosted.org/packages/50/2a/12ce97364a0d976822f57e9d0b26633b31a3f92589b511022cbca8a8ce15/lambda_decorators-0.2.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "89767af420720acf88c40fc59de4a127",
"sha256": "6f979cacbd096fd5f844e1793bbc4456f3f887fa5ca225c23c92e2f2e7b6b66b"
},
"downloads": -1,
"filename": "lambda-decorators-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "89767af420720acf88c40fc59de4a127",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7837,
"upload_time": "2019-08-30T21:06:29",
"url": "https://files.pythonhosted.org/packages/89/65/34071b6233dee2d74b9eb1f6d6049fbb73fc3b80f8ba04aa54f2f240f3b6/lambda-decorators-0.2.1.tar.gz"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "54326cb271d471bf011ff146c791b899",
"sha256": "67339231ba522f2516dd7a41d046ddcdae8f1a770e30d2291a4a7652e06831d6"
},
"downloads": -1,
"filename": "lambda_decorators-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "54326cb271d471bf011ff146c791b899",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 10226,
"upload_time": "2019-09-11T19:20:51",
"url": "https://files.pythonhosted.org/packages/a0/85/fbac2a3076082203d995b62700507596a7a1358fcaf9625586397ae02906/lambda_decorators-0.3.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "abef3db8333f126a331f05943827ed3c",
"sha256": "416cbef7f944e7aaaf576f270eccebbf2034d81ca85226e3ea702e3a8b2788ed"
},
"downloads": -1,
"filename": "lambda-decorators-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "abef3db8333f126a331f05943827ed3c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7871,
"upload_time": "2019-09-11T19:20:52",
"url": "https://files.pythonhosted.org/packages/24/91/5c2977833227a1f948343251a308d3eaa2353eae63232ceb66119176ad06/lambda-decorators-0.3.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "54326cb271d471bf011ff146c791b899",
"sha256": "67339231ba522f2516dd7a41d046ddcdae8f1a770e30d2291a4a7652e06831d6"
},
"downloads": -1,
"filename": "lambda_decorators-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "54326cb271d471bf011ff146c791b899",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 10226,
"upload_time": "2019-09-11T19:20:51",
"url": "https://files.pythonhosted.org/packages/a0/85/fbac2a3076082203d995b62700507596a7a1358fcaf9625586397ae02906/lambda_decorators-0.3.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "abef3db8333f126a331f05943827ed3c",
"sha256": "416cbef7f944e7aaaf576f270eccebbf2034d81ca85226e3ea702e3a8b2788ed"
},
"downloads": -1,
"filename": "lambda-decorators-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "abef3db8333f126a331f05943827ed3c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7871,
"upload_time": "2019-09-11T19:20:52",
"url": "https://files.pythonhosted.org/packages/24/91/5c2977833227a1f948343251a308d3eaa2353eae63232ceb66119176ad06/lambda-decorators-0.3.0.tar.gz"
}
]
}