{ "info": { "author": "Adam Johnson", "author_email": "me@adamj.eu", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: ISC License (ISCL)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only" ], "description": "=========\napig-wsgi\n=========\n\n.. image:: https://img.shields.io/travis/adamchainz/apig-wsgi/master.svg\n :target: https://travis-ci.org/adamchainz/apig-wsgi\n\n.. image:: https://img.shields.io/pypi/v/apig-wsgi.svg\n :target: https://pypi.python.org/pypi/apig-wsgi\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/python/black\n\nWrap a WSGI application in an AWS Lambda handler function for running on\nAPI Gateway or an ALB.\n\nA quick example:\n\n.. code-block:: python\n\n from apig_wsgi import make_lambda_handler\n from myapp.wsgi import app\n\n # Configure this as your entry point in AWS Lambda\n lambda_handler = make_lambda_handler(app)\n\n\nInstallation\n============\n\nUse **pip**:\n\n.. code-block:: sh\n\n pip install apig-wsgi\n\nPython 3.5-3.7 supported.\n\nUsage\n=====\n\n``make_lambda_handler(app, binary_support=False)``\n--------------------------------------------------\n\n``app`` should be a WSGI app, for example from Django's ``wsgi.py`` or Flask's\n``Flask()`` object.\n\nIf you want to support sending binary responses, set ``binary_support`` to\n``True``. ALB's support binary responses by default, but on API Gateway you\nneed to make sure you have ``'*/*'`` in the 'binary media types' configuration\non your Rest API (whilst API Gateway supports a list of binary media types,\nusing ``'*/*'`` is the best way to do it, since it is used to match the request\n'Accept' header as well, which WSGI applications are likely to ignore).\n\nNote that binary responses aren't sent if your response has a 'Content-Type'\nstarting 'text/html' or 'application/json' - this is to support sending larger\ntext responses.\n\nIf the event from API Gateway contains the ``requestContext`` key, for example\nfrom custom request authorizers, this will be available in the WSGI environ\nat the key ``apig_wsgi.request_context``.\n\n\nHistory\n-------\n\nPending Release\n---------------\n\n.. Insert new release notes below this line\n\n2.3.0 (2019-08-19)\n------------------\n\n* Update Python support to 3.5-3.7, as 3.4 has reached its end of life.\n* Return binary content for gzipped responses with text or JSON content types.\n\n2.2.0 (2019-04-15)\n------------------\n\n* If API Gateway event includes ``requestContext``, for example for custom\n authorizers, pass it in the WSGI ``environ`` as\n ``apig_wsgi.request_context``.\n\n2.1.1 (2019-03-31)\n------------------\n\n* Revert adding ``statusDescription`` because it turns out API Gateway doesn't\n ignore it but instead fails the response with an internal server error.\n\n2.1.0 (2019-03-31)\n------------------\n\n* Change ``statusCode`` returned to API Gateway / ALB to an integer. It seems\n API Gateway always supported both strings and integers, whilst ALB only\n supports integers.\n* Add ``statusDescription`` in return value. API Gateway doesn't seem to use\n this whilst the `ALB documentation `_\n mentions it as supported.\n\n2.0.2 (2019-02-07)\n------------------\n\n* Drop Python 2 support, only Python 3.4+ is supported now.\n\n2.0.1 (2019-02-07)\n------------------\n\n* Temporarily restore Python 2 support. This is in order to fix a packaging\n metadata issue that 2.0.0 was marked as supporting Python 2, so a new release\n is needed with a higher version number for ``pip install apig-wsgi`` to\n resolve properly on Python 2. Version 2.0.2+ of ``apig-wsgi`` will not\n support Python 2.\n\n2.0.0 (2019-01-28)\n------------------\n\n* Drop Python 2 support, only Python 3.4+ is supported now.\n* If ``exc_info`` is passed in, re-raise the exception (previously it would be\n ignored and crash in a different way). This isn't the nicest experience,\n however the behaviour is copied from ``wsgiref``\\'s simple server, and most\n WSGI applications implement their own exception conversion to a \"500 Internal\n Server Error\" page already.\n* Noted that the EC2 ALB to Lambda integration is also supported as it uses the\n same event format as API Gateway.\n\n1.2.0 (2018-05-14)\n------------------\n\n* Work with base64 encoded ``body`` values in requests from API Gateway.\n\n1.1.2 (2018-05-11)\n------------------\n\n* Fix crash using binary support for responses missing a ``Content-Type``\n header.\n\n1.1.1 (2018-05-11)\n------------------\n\n* Remove debug ``print()``\n\n1.1.0 (2018-05-10)\n------------------\n\n* Add ``binary_support`` flag to enable sending binary responses, if enabled on\n API Gateway.\n\n1.0.0 (2018-03-08)\n------------------\n\n* First release on PyPI, working basic integration for WSGI apps on API\n Gateway.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/adamchainz/apig-wsgi", "keywords": "AWS,Lambda,API Gateway,APIG", "license": "ISC License", "maintainer": "", "maintainer_email": "", "name": "apig-wsgi", "package_url": "https://pypi.org/project/apig-wsgi/", "platform": "", "project_url": "https://pypi.org/project/apig-wsgi/", "project_urls": { "Changelog": "https://github.com/adamchainz/apig-wsgi/blob/master/HISTORY.rst", "Homepage": "https://github.com/adamchainz/apig-wsgi" }, "release_url": "https://pypi.org/project/apig-wsgi/2.3.0/", "requires_dist": null, "requires_python": ">=3.5", "summary": "Wrap a WSGI application in an AWS Lambda handler function for running on API Gateway or an ALB.", "version": "2.3.0" }, "last_serial": 5698178, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "46f2089bafae904010dcdcfd9cfadb08", "sha256": "8033e965d8416eaccde37763925619e41c5ca178cfebb51e8f6e7a4f22492f83" }, "downloads": -1, "filename": "apig_wsgi-1.0.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "46f2089bafae904010dcdcfd9cfadb08", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5181, "upload_time": "2018-03-08T12:41:09", "url": "https://files.pythonhosted.org/packages/3c/a5/d461ea8762ecf12fe2d9686bd91092ee2802da30daaf8513d7fb6d18f73c/apig_wsgi-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ebb43a3c61eda8dd4db077ba4cfaafaa", "sha256": "95d273b9f49bdd45e15b6d9916ca63f1cf543a4d646b01027405d297bc286b6b" }, "downloads": -1, "filename": "apig-wsgi-1.0.0.tar.gz", "has_sig": true, "md5_digest": "ebb43a3c61eda8dd4db077ba4cfaafaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3897, "upload_time": "2018-03-08T12:41:06", "url": "https://files.pythonhosted.org/packages/51/93/bbc6f6da07121f820f86b07fb9a9403cd93366e4fa95587398f17c6f1c2f/apig-wsgi-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "398efdbb84e263d713b2bdcee9d6bec0", "sha256": "331f4c1027d1cf59c3b751108d13f285da52709eb4b33c7c861c1bd2574258d6" }, "downloads": -1, "filename": "apig_wsgi-1.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "398efdbb84e263d713b2bdcee9d6bec0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6138, "upload_time": "2018-05-10T09:47:54", "url": "https://files.pythonhosted.org/packages/ec/cf/9dfbacc16a131011d73dac812241b783ae18b87bb7ff1a8be9858d844320/apig_wsgi-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "22bf818b2a73969ac420ae50e0935335", "sha256": "29c608996772883661688b16b3259c2025d128211960a762bb19e7a5b5056d7f" }, "downloads": -1, "filename": "apig-wsgi-1.1.0.tar.gz", "has_sig": true, "md5_digest": "22bf818b2a73969ac420ae50e0935335", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4547, "upload_time": "2018-05-10T09:52:28", "url": "https://files.pythonhosted.org/packages/a4/17/943db40e7c9dca4ec1faa58d96c81263377173ab2f382e5e7b40a97deeb6/apig-wsgi-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "e4452245c709ecbbb95f117920b88d81", "sha256": "38dcdde35829a72007d2da5c0b6a129e01b454f8154f157e8593b4ffc77efb76" }, "downloads": -1, "filename": "apig_wsgi-1.1.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "e4452245c709ecbbb95f117920b88d81", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6173, "upload_time": "2018-05-11T09:59:14", "url": "https://files.pythonhosted.org/packages/3d/43/3d888f8df04dd804e3d6d0afddb880cabe22a7bc14eff3c52411360004a3/apig_wsgi-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bdac449e63803c40cd295b453ef45cec", "sha256": "ee35d5d537550fa2d9371288ddc64eb0bb5fd9d3faf59b51d28d469d464375fb" }, "downloads": -1, "filename": "apig-wsgi-1.1.1.tar.gz", "has_sig": true, "md5_digest": "bdac449e63803c40cd295b453ef45cec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4563, "upload_time": "2018-05-11T09:59:11", "url": "https://files.pythonhosted.org/packages/1a/80/bad9a72ec29e3f8c913daff14b44a1a7a82506308a01062e4894dfc82450/apig-wsgi-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "601fb55f33045e6d98dda43aa66ff72d", "sha256": "bbcaba2144b70a40ffe0c0f9f1cadaf3e962a2deb7c9399f6e56ae5182453b36" }, "downloads": -1, "filename": "apig_wsgi-1.1.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "601fb55f33045e6d98dda43aa66ff72d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6285, "upload_time": "2018-05-11T10:10:21", "url": "https://files.pythonhosted.org/packages/6e/f4/03d272c5cbb2612db6a504dc38ea96f17008a9762386e0114a61f0095e5b/apig_wsgi-1.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe3592428241aaeb7199c10020d532d2", "sha256": "e32ffa7f15df7d91c5598cf243a292bd7ce5603ce34411506d276077f8f0ca01" }, "downloads": -1, "filename": "apig-wsgi-1.1.2.tar.gz", "has_sig": true, "md5_digest": "fe3592428241aaeb7199c10020d532d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4705, "upload_time": "2018-05-11T10:10:19", "url": "https://files.pythonhosted.org/packages/33/c5/5312f03507d4906018d4a519ef1cfa5169d91efb15ee6d846bd8ae9068ef/apig-wsgi-1.1.2.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "ecda0ad6f76de9cea6b8c6dd5fb89145", "sha256": "450ae9138880e4a706fc44469f918544d3b6c1437471aac1b0a5a15601e08f85" }, "downloads": -1, "filename": "apig_wsgi-1.2.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "ecda0ad6f76de9cea6b8c6dd5fb89145", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6401, "upload_time": "2018-05-14T09:40:52", "url": "https://files.pythonhosted.org/packages/0a/ba/3a88706f0854d79c1bfbefd7ba9c7a9d834894bdd1ddeca7dac92f0b5758/apig_wsgi-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e769af7158cb7316ecf9dbe27c91cd6d", "sha256": "162f4a93c6cc763a96e287ccb78ff455a036cb24b2c4c24bae2e401fe059808c" }, "downloads": -1, "filename": "apig-wsgi-1.2.0.tar.gz", "has_sig": true, "md5_digest": "e769af7158cb7316ecf9dbe27c91cd6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4790, "upload_time": "2018-05-14T09:40:50", "url": "https://files.pythonhosted.org/packages/04/5d/1b2cae946bbc44a99738bdef8d85c130d5ebc35caa69057c277c06d0f614/apig-wsgi-1.2.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "f77a0f798538322a68dbfd2d3ca6765a", "sha256": "de35dd3853529accd68ae6f699ad0b7372d6f8dd8706d56299619396ddc6ad17" }, "downloads": -1, "filename": "apig_wsgi-2.0.0-py3-none-any.whl", "has_sig": true, "md5_digest": "f77a0f798538322a68dbfd2d3ca6765a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4620, "upload_time": "2019-02-04T20:21:32", "url": "https://files.pythonhosted.org/packages/60/18/35445cf405bc78f0706ce5df8cd056b31000c76082d46fad8841153cafb7/apig_wsgi-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8db45b948fb94ea27c255383d7e0615d", "sha256": "5cba4a0711fa4ea880bac7aaf3dc4eb51661099b6793499ffc1a78a0c07c094f" }, "downloads": -1, "filename": "apig-wsgi-2.0.0.tar.gz", "has_sig": true, "md5_digest": "8db45b948fb94ea27c255383d7e0615d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4991, "upload_time": "2019-01-28T19:01:19", "url": "https://files.pythonhosted.org/packages/74/ad/003d80dc205ef9e8aa0882f9aaaf9d03ed01e4d224fbd7a3d44fab77f7ee/apig-wsgi-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "be9674b24d64d1cc2a06fee631b32b34", "sha256": "12347dc42e4065ec31f4f14d41072d187e39105e19b269a9c22d96247081f231" }, "downloads": -1, "filename": "apig_wsgi-2.0.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "be9674b24d64d1cc2a06fee631b32b34", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 4886, "upload_time": "2019-02-07T23:54:00", "url": "https://files.pythonhosted.org/packages/13/51/a6fd2c060b00e5099218a1c47bba97fa060b3ce4b8f30069ed1a7e0f2c53/apig_wsgi-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "547d9e01849f1375e030db3bad99274a", "sha256": "a28df014140b59f3976853c5e0ae4d10a3d34a84b3b701541c0dc6eb0da8c7cd" }, "downloads": -1, "filename": "apig-wsgi-2.0.1.tar.gz", "has_sig": true, "md5_digest": "547d9e01849f1375e030db3bad99274a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 5315, "upload_time": "2019-02-07T23:54:02", "url": "https://files.pythonhosted.org/packages/25/b9/aab0a91f58ca07498a37ca8ec1753ecef4f05cfa3444a1da884077d6611f/apig-wsgi-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "aced319f7438e59317badad354edbec5", "sha256": "e96fb90610cadaf4a88fd7304a1aa74384a4cf335a122a9dc804903b56302f98" }, "downloads": -1, "filename": "apig_wsgi-2.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "aced319f7438e59317badad354edbec5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 4785, "upload_time": "2019-02-08T00:02:03", "url": "https://files.pythonhosted.org/packages/af/c5/8affb7cfd07bf96c60e19968962cf10097c8966450d387389165ecfc766c/apig_wsgi-2.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6e75f84b82899d3f6f8395636709f109", "sha256": "61134cfd0b0e2b213e93bf4e1964cc951920ab1edea0d571a2e04d05608f58c0" }, "downloads": -1, "filename": "apig-wsgi-2.0.2.tar.gz", "has_sig": false, "md5_digest": "6e75f84b82899d3f6f8395636709f109", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 5107, "upload_time": "2019-02-08T00:02:04", "url": "https://files.pythonhosted.org/packages/a8/cd/67a874e544cc0e58bf70a3f6592e6d0e4b7df5391dce4fc2506262b77d7f/apig-wsgi-2.0.2.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "f68ef273370d360b955680e1f0c389c0", "sha256": "f2e94f0ae61faadcbf00c7685d5c5a93665ab66bc902269af7a50be90b34467a" }, "downloads": -1, "filename": "apig_wsgi-2.1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "f68ef273370d360b955680e1f0c389c0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 5027, "upload_time": "2019-03-31T18:22:25", "url": "https://files.pythonhosted.org/packages/78/cf/63f0cb96981509a2b69d4a67630efcaf8a99f3769d58aca61b91246db292/apig_wsgi-2.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "11a0b6170d04bf7b6e417c72ca0e8610", "sha256": "7f015b3f0d4710fd9d4e0234089074ee50c66f15af152268366c1af63d42606e" }, "downloads": -1, "filename": "apig-wsgi-2.1.0.tar.gz", "has_sig": true, "md5_digest": "11a0b6170d04bf7b6e417c72ca0e8610", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 5375, "upload_time": "2019-03-31T18:22:27", "url": "https://files.pythonhosted.org/packages/fc/82/afbe81259b11230fcb99256255f8a724be819d1f17e023bc7cfeee29ff99/apig-wsgi-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "8423a5a746525fb92e7386e4c11ac162", "sha256": "07ec932e9a2e951f3ad8802f7578639509038aa4db6587eff879cfc363606d99" }, "downloads": -1, "filename": "apig_wsgi-2.1.1-py3-none-any.whl", "has_sig": true, "md5_digest": "8423a5a746525fb92e7386e4c11ac162", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 5041, "upload_time": "2019-03-31T18:37:07", "url": "https://files.pythonhosted.org/packages/0c/eb/18cb2c939b1748454e6288b8d98d1f00411aa54201f393e5a8876893aca4/apig_wsgi-2.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d5b40246f12b38402b4deb23bbba1f0", "sha256": "f60e8c119ffc225047bb61af66ff3f85f5b7f962c7b291d0bad954f0a5d73ffa" }, "downloads": -1, "filename": "apig-wsgi-2.1.1.tar.gz", "has_sig": true, "md5_digest": "9d5b40246f12b38402b4deb23bbba1f0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 5419, "upload_time": "2019-03-31T18:37:08", "url": "https://files.pythonhosted.org/packages/5d/e4/3d683105d944170aa3e1d03fbffec154772de26f115bbb64d4c5828a641d/apig-wsgi-2.1.1.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "cf57f071c744a50fa547a3e423675cc8", "sha256": "66647a281b8e79e7baeebb0e99ccc6ff1370770e068f32e9491a279c8ac595a9" }, "downloads": -1, "filename": "apig_wsgi-2.2.0-py3-none-any.whl", "has_sig": true, "md5_digest": "cf57f071c744a50fa547a3e423675cc8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 5246, "upload_time": "2019-04-15T09:53:32", "url": "https://files.pythonhosted.org/packages/17/34/5b2cd7ba05e3520e2c58888b8d8c71788fce80959dd12984ddcb114a8b82/apig_wsgi-2.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2704d7852bb808549400071a660aaed", "sha256": "86c58bd9d0d17da4e840e6ec25369d7cc2d46c5e574913eaabed90b16e675506" }, "downloads": -1, "filename": "apig-wsgi-2.2.0.tar.gz", "has_sig": true, "md5_digest": "f2704d7852bb808549400071a660aaed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 5641, "upload_time": "2019-04-15T09:53:34", "url": "https://files.pythonhosted.org/packages/f7/07/e016ccd7c3787cb029fc40533d98bf85edbd066038c0bd51628370a23e95/apig-wsgi-2.2.0.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "65f9357f891709556a6d898802f3f776", "sha256": "0ee1a0a304ba53ead952c58ecbd877cb7947f873bf8cfcf190f6d44b32d38cd6" }, "downloads": -1, "filename": "apig_wsgi-2.3.0-py3-none-any.whl", "has_sig": true, "md5_digest": "65f9357f891709556a6d898802f3f776", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 5543, "upload_time": "2019-08-19T12:54:10", "url": "https://files.pythonhosted.org/packages/4d/2f/2365825846a614fe16d92b50e9afb073b9606a4852f46efb1fba04aa4dff/apig_wsgi-2.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b21591b08be754b90d078777831b705a", "sha256": "832d0a0aa033fd6d56491055b576ed28ab589effa7cbf281128ca21a0324f306" }, "downloads": -1, "filename": "apig-wsgi-2.3.0.tar.gz", "has_sig": true, "md5_digest": "b21591b08be754b90d078777831b705a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6041, "upload_time": "2019-08-19T12:54:13", "url": "https://files.pythonhosted.org/packages/df/00/a302a88f7e23a4fdb9974e178fa60ad52f7bfe51052b47b6545a10ce99d0/apig-wsgi-2.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "65f9357f891709556a6d898802f3f776", "sha256": "0ee1a0a304ba53ead952c58ecbd877cb7947f873bf8cfcf190f6d44b32d38cd6" }, "downloads": -1, "filename": "apig_wsgi-2.3.0-py3-none-any.whl", "has_sig": true, "md5_digest": "65f9357f891709556a6d898802f3f776", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 5543, "upload_time": "2019-08-19T12:54:10", "url": "https://files.pythonhosted.org/packages/4d/2f/2365825846a614fe16d92b50e9afb073b9606a4852f46efb1fba04aa4dff/apig_wsgi-2.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b21591b08be754b90d078777831b705a", "sha256": "832d0a0aa033fd6d56491055b576ed28ab589effa7cbf281128ca21a0324f306" }, "downloads": -1, "filename": "apig-wsgi-2.3.0.tar.gz", "has_sig": true, "md5_digest": "b21591b08be754b90d078777831b705a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6041, "upload_time": "2019-08-19T12:54:13", "url": "https://files.pythonhosted.org/packages/df/00/a302a88f7e23a4fdb9974e178fa60ad52f7bfe51052b47b6545a10ce99d0/apig-wsgi-2.3.0.tar.gz" } ] }