{ "info": { "author": "PentairIoT", "author_email": "pentairiot@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# LambdaPage\nFramework for serving static pages through AWS Lambda and API Gateway\n\n### Installation\nInstall with pip:\n\n```\npip install LambdaPage\n```\n\n### Examples\n\nSimple examples with corresponding [Serverless](https://serverless.com/) configuration files can be found in the [examples directory](https://github.com/pentairiot/LambdaPage/tree/master/examples)\n\n### Usage\n\nA page is composed by one or more endpoints. Each endpoint should define a REST method, a path, and a function\nthat will handle the request with that method and path. Endpoints can also optionally specify a content-type for\nthe response payload, this defaults to `application/json` (static html pages should use `text/html;charset=utf-8`).\n\nEach endpoint function should accept a single argument and return a tuple with `(status_code:int, response_body:str)`.\nThe argument will be a [Lambda-Proxy event](https://serverless.com/framework/docs/providers/aws/events/apigateway/#example-lambda-proxy-event-default)\nRegardless of content-type, the response body should always be in string format. Also note that given paths are matched\nwith incoming requests as if they were prefixes, meaning the request will be routed to the first available matching prefix.\nThis can be confusing if you have multiple paths with similar prefixes, so be sure to always add the more specific paths first.\n\nLambdaPage also allows for caching responses. This should primarily be done for GET requests that require several seconds\nto return. Currently only a `S3LambdaPageCache` is available, this can be added to a LambdaPage by instantiating it with\na `bucket` and optionally a `max_age` for cached items (defaults to 300 seconds).\n\n### Testing\nThis framework provides a nice wsgi test bed powered by [Falcon](https://falconframework.org/). Simply set up the LambdaPage and call `start_local()`.\nNote this should be done under 'main' so Lambda doesn't try to execute this code:\n\n```python\ndef hello(event):\n return 200, '{\"message\": \"hello world\"}'\n\nif __name__ == '__main__':\n from LambdaPage import LambdaPage\n page = LambdaPage()\n page.add_endpoint(method='get', path='/', func=hello)\n page.start_local()\n```\nThen go to http://127.0.0.1:9000 in a browser.\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/pentairiot/LambdaPage", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "LambdaPage", "package_url": "https://pypi.org/project/LambdaPage/", "platform": "", "project_url": "https://pypi.org/project/LambdaPage/", "project_urls": { "Homepage": "https://github.com/pentairiot/LambdaPage" }, "release_url": "https://pypi.org/project/LambdaPage/0.0.12/", "requires_dist": [ "pytz", "boto3 ; extra == 'aws'", "falcon ; extra == 'local'" ], "requires_python": "", "summary": "Python library for creating, testing, and deploying small single-page web applications using AWS Lambda and API-Gateway", "version": "0.0.12" }, "last_serial": 5974472, "releases": { "0.0.10": [ { "comment_text": "", "digests": { "md5": "e81c9d405c4190caed741ba329639e93", "sha256": "eb673222882c4d9512ff51b6b84514e04d132ac3b6fe51a0b4855a1b9371b1e4" }, "downloads": -1, "filename": "LambdaPage-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "e81c9d405c4190caed741ba329639e93", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5085, "upload_time": "2019-09-11T20:40:48", "url": "https://files.pythonhosted.org/packages/4e/0e/490f649693b50a98f79e73e53677ccac828b225630d706b464538fc9c153/LambdaPage-0.0.10-py3-none-any.whl" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "9cdb46faf95df11528543bf7f8d53de4", "sha256": "a5c36258bcb733f92d1fc015a642feea2337396540a8234f659fa96e54277def" }, "downloads": -1, "filename": "LambdaPage-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "9cdb46faf95df11528543bf7f8d53de4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5113, "upload_time": "2019-09-24T13:45:35", "url": "https://files.pythonhosted.org/packages/76/a5/92a50347310fb15251f3514de5ccdc785b5a75afe0d68a938db3bdbc6271/LambdaPage-0.0.11-py3-none-any.whl" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "23d4dbc3e18c062494131999cd1c284c", "sha256": "2f5b270d4142fb1247e2c0832db0d9551b947b0c9c14c2e274ac990aaff4281b" }, "downloads": -1, "filename": "LambdaPage-0.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "23d4dbc3e18c062494131999cd1c284c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5120, "upload_time": "2019-10-15T02:53:02", "url": "https://files.pythonhosted.org/packages/8e/85/de04d6e8ca982a1551a2111ee9893647eb5f1a71d47142955861d86ac1e5/LambdaPage-0.0.12-py3-none-any.whl" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "f9b87375560d431763a04290d3df1941", "sha256": "e5a43b2a527eb7ec47c339fb71bbcdbf9958930dd5e0df9cd72e415a2a1e715d" }, "downloads": -1, "filename": "LambdaPage-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f9b87375560d431763a04290d3df1941", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5912, "upload_time": "2018-08-14T20:32:31", "url": "https://files.pythonhosted.org/packages/57/05/2dca122e3923e0f08c1269dabc9976d698db071681845a5f3a1469aa53ea/LambdaPage-0.0.2-py3-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "53023768b0f47e40a63486b00089a89a", "sha256": "7ddf899d226a4d4b04097c79e6eda744072f39030ef67c2a57b5f479109c0d26" }, "downloads": -1, "filename": "LambdaPage-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "53023768b0f47e40a63486b00089a89a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3942, "upload_time": "2018-10-02T19:03:47", "url": "https://files.pythonhosted.org/packages/73/be/1ee717db63fe32aacf225acb21bfec2ba6cd96d5f328395cb6230277c6cc/LambdaPage-0.0.3-py3-none-any.whl" } ], "0.0.3.dev0": [ { "comment_text": "", "digests": { "md5": "f74fc0720b5aa0e39bc692c556fd2a4c", "sha256": "10bf0d1b4df26dbaa1af352c514b7d7e05258557bd3c1135544d93ac97543c05" }, "downloads": -1, "filename": "LambdaPage-0.0.3.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "f74fc0720b5aa0e39bc692c556fd2a4c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4018, "upload_time": "2018-10-26T15:05:39", "url": "https://files.pythonhosted.org/packages/6d/5d/e517425c58f92e058c9f4f868e863de1372421903257d92fd72f6ee675c8/LambdaPage-0.0.3.dev0-py3-none-any.whl" } ], "0.0.4.dev0": [ { "comment_text": "", "digests": { "md5": "554d491a20d78e04b4b3cd45a3825c75", "sha256": "a0a84880e8785ec8496b2c442e5775a6edbe7fe610848348ef5adb9b94e6d5ff" }, "downloads": -1, "filename": "LambdaPage-0.0.4.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "554d491a20d78e04b4b3cd45a3825c75", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4053, "upload_time": "2018-11-02T19:07:30", "url": "https://files.pythonhosted.org/packages/6c/95/227d382be44f288f4e3a587fe444420ed5dd656759052d581419a27425d5/LambdaPage-0.0.4.dev0-py3-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "eca4352aa30920f27fca8afafea0a427", "sha256": "e4d12aa409f93f846e8cab237c2f0f10d56f6cacba7102ed0364004f9f4565f3" }, "downloads": -1, "filename": "LambdaPage-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "eca4352aa30920f27fca8afafea0a427", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5317, "upload_time": "2019-01-16T22:47:48", "url": "https://files.pythonhosted.org/packages/28/5d/52df05a58cdc6a9fa8c13e09d00b45d0e37b4beda63074abeaefafb28871/LambdaPage-0.0.5-py3-none-any.whl" } ], "0.0.5.dev0": [ { "comment_text": "", "digests": { "md5": "2397538947023cb52606243432d34dfb", "sha256": "5f972f8871b79c0209b21d6a25d4aba2297568633e53192de200af01bbb53a76" }, "downloads": -1, "filename": "LambdaPage-0.0.5.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "2397538947023cb52606243432d34dfb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4854, "upload_time": "2018-11-02T19:51:51", "url": "https://files.pythonhosted.org/packages/21/cb/a50f43cfb0f6a931342b260604b7465ee9199327862e325fefec12a6e6f2/LambdaPage-0.0.5.dev0-py3-none-any.whl" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "0be4270fbded7840b05c13082faf50be", "sha256": "3613eb8caf9c8f4e00bb72fd8af773bc13408ab2f48b74b927bc230cf9999dab" }, "downloads": -1, "filename": "LambdaPage-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "0be4270fbded7840b05c13082faf50be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5321, "upload_time": "2019-03-05T16:39:57", "url": "https://files.pythonhosted.org/packages/68/35/7069c2548278d4ad64c33e1b8720d92bcb041e7766ca6080beebf7b56be8/LambdaPage-0.0.6-py3-none-any.whl" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "5b20fa5200817fc38973de429f2ffeff", "sha256": "44d7afd8a154e353e33feb3d4e0faed36e1455e7e1936b90c5c5d9cb2be4a641" }, "downloads": -1, "filename": "LambdaPage-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "5b20fa5200817fc38973de429f2ffeff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6251, "upload_time": "2019-03-06T21:41:00", "url": "https://files.pythonhosted.org/packages/d2/6a/abeb7abca56369d774459b6e317544af60f0e8f407c351eca276467c2adf/LambdaPage-0.0.7-py3-none-any.whl" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "c9b03d1292e9ec44ac33811c9586593d", "sha256": "02d73cc07f270c2e89a33fd394c8a72d689a932f7ef32caf00549a9f547c24fd" }, "downloads": -1, "filename": "LambdaPage-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "c9b03d1292e9ec44ac33811c9586593d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5345, "upload_time": "2019-04-02T19:00:54", "url": "https://files.pythonhosted.org/packages/61/f3/03ad5fe15b6372fbcf6f1fa9b95874de630827231af0d3551690953485d6/LambdaPage-0.0.9-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "23d4dbc3e18c062494131999cd1c284c", "sha256": "2f5b270d4142fb1247e2c0832db0d9551b947b0c9c14c2e274ac990aaff4281b" }, "downloads": -1, "filename": "LambdaPage-0.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "23d4dbc3e18c062494131999cd1c284c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5120, "upload_time": "2019-10-15T02:53:02", "url": "https://files.pythonhosted.org/packages/8e/85/de04d6e8ca982a1551a2111ee9893647eb5f1a71d47142955861d86ac1e5/LambdaPage-0.0.12-py3-none-any.whl" } ] }