{ "info": { "author": "yoramk2", "author_email": "yoramk2@yahoo.com", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Framework :: Flask", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "

\n \"Halo\n

\n\n# Halo\n\nThe **Halo** Lib is a python based library utilizing [**Serverless**](https://logz.io/blog/serverless-vs-containers/) technology and [**microservices architecture**](http://blog.binaris.com/your-guide-to-migrating-existing-microservices-to-serverless/) \n

Halo provides the following features:\n\n- Flask development for AWS Lambda & Dynamodb\n- [correlation id across microservices](https://theburningmonk.com/2017/09/capture-and-forward-correlation-ids-through-different-lambda-event-sources/)\n- [structured json based logging](https://theburningmonk.com/2018/01/you-need-to-use-structured-logging-with-aws-lambda/)\n- [sample debug log in production](https://theburningmonk.com/2018/04/you-need-to-sample-debug-logs-in-production/)\n- [support for microservice transactions with the saga pattern](https://read.acloud.guru/how-the-saga-pattern-manages-failures-with-aws-lambda-and-step-functions-bc8f7129f900)\n- [using SSM Parameter Store over Lambda env variables](https://hackernoon.com/you-should-use-ssm-parameter-store-over-lambda-env-variables-5197fc6ea45b)\n- [Serverless Error Handling & trace id for end users](https://aws.amazon.com/blogs/compute/error-handling-patterns-in-amazon-api-gateway-and-aws-lambda/)\n- [Lambda timeout](https://blog.epsagon.com/best-practices-for-aws-lambda-timeouts) management for [slow HTTP responses](https://theburningmonk.com/2018/01/aws-lambda-use-the-invocation-context-to-better-handle-slow-http-responses/)\n- [ootb support for Idempotent service invocations (md5)](https://cloudonaut.io/your-lambda-function-might-execute-twice-deal-with-it/)\n\nIf you are building a Python web app running on AWS Lambda (Django or Flask), use this library to manage api transactions:\n\n```\n sagax = load_saga(\"test\", jsonx, schema)\n payloads = {\"BookHotel\": {\"abc\": \"def\"}, \"BookFlight\": {\"abc\": \"def\"}, \"BookRental\": {\"abc\": \"def\"},\n \"CancelHotel\": {\"abc\": \"def\"}, \"CancelFlight\": {\"abc\": \"def\"}, \"CancelRental\": {\"abc\": \"def\"}}\n apis = {\"BookHotel\": self.create_api1, \"BookFlight\": self.create_api2, \"BookRental\": self.create_api3,\n \"CancelHotel\": self.create_api4, \"CancelFlight\": self.create_api5, \"CancelRental\": self.create_api6}\n try:\n self.context = Util.get_lambda_context(request)\n ret = sagax.execute(self.req_context, payloads, apis)\n return {\"saga\": \"good\"}, 200\n except SagaRollBack as e:\n return {\"saga\": \"bad\"}, 500\n```\n\n\n## License\n\nThis project is licensed under the MIT License\n\n## Acknowledgments\n\n* Yan Cui - https://theburningmonk.com\n* flowpl - https://github.com/flowpl/saga_py", "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/yoramk2/halo_aws", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "halo-aws", "package_url": "https://pypi.org/project/halo-aws/", "platform": "", "project_url": "https://pypi.org/project/halo-aws/", "project_urls": { "Homepage": "https://github.com/yoramk2/halo_aws" }, "release_url": "https://pypi.org/project/halo-aws/0.11.13/", "requires_dist": null, "requires_python": "", "summary": "this is the Halo framework library for aws", "version": "0.11.13" }, "last_serial": 5828881, "releases": { "0.11.10": [ { "comment_text": "", "digests": { "md5": "d3c4dacfefef2213bd45b9611108c871", "sha256": "fb7d2c5b303f9c3d9561cb42f7bcb9ab8db0f232c66088d65605c2827da9a3d4" }, "downloads": -1, "filename": "halo_aws-0.11.10.tar.gz", "has_sig": false, "md5_digest": "d3c4dacfefef2213bd45b9611108c871", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7254, "upload_time": "2019-09-12T20:31:20", "url": "https://files.pythonhosted.org/packages/95/42/fc0f642c63f9d058b2e5b25dd79b022da340e6cdd6969ebc5a6db81fc3aa/halo_aws-0.11.10.tar.gz" } ], "0.11.11": [ { "comment_text": "", "digests": { "md5": "d0a4762576173438ae4bffefbe5770d4", "sha256": "1b483c374117c43441698c26aef6e922c1a94e0d1ec2ac876012ea63fc9a9bd1" }, "downloads": -1, "filename": "halo_aws-0.11.11.tar.gz", "has_sig": false, "md5_digest": "d0a4762576173438ae4bffefbe5770d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7254, "upload_time": "2019-09-13T13:48:58", "url": "https://files.pythonhosted.org/packages/77/54/512c74dc022d1e7c56bf4a7f9480edfa7a08345072ee6eff58a0c8353690/halo_aws-0.11.11.tar.gz" } ], "0.11.12": [ { "comment_text": "", "digests": { "md5": "29ab7e39ecaa0f25a2256cce856b6c82", "sha256": "b550f5679fd43ca15b12b603058749d83ce5901b4c378a50d8a68daaf79a46d3" }, "downloads": -1, "filename": "halo_aws-0.11.12.tar.gz", "has_sig": false, "md5_digest": "29ab7e39ecaa0f25a2256cce856b6c82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7247, "upload_time": "2019-09-13T15:11:41", "url": "https://files.pythonhosted.org/packages/d1/d6/7f63ada77bc963aaf63e0b1c53527293dde4bffbf28ed356d280654f2e9f/halo_aws-0.11.12.tar.gz" } ], "0.11.13": [ { "comment_text": "", "digests": { "md5": "0b4fe9b42a6f2af2baadd914a9ae7643", "sha256": "852fd9705d0bebe90397ed0559990985e3da95fc4f8aa35ecf33a537287aee24" }, "downloads": -1, "filename": "halo_aws-0.11.13.tar.gz", "has_sig": false, "md5_digest": "0b4fe9b42a6f2af2baadd914a9ae7643", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7254, "upload_time": "2019-09-14T08:36:59", "url": "https://files.pythonhosted.org/packages/ec/71/39df99b0bbcd3d50b0237cd92ec851df932fedd024538384d0face2bd8a6/halo_aws-0.11.13.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0b4fe9b42a6f2af2baadd914a9ae7643", "sha256": "852fd9705d0bebe90397ed0559990985e3da95fc4f8aa35ecf33a537287aee24" }, "downloads": -1, "filename": "halo_aws-0.11.13.tar.gz", "has_sig": false, "md5_digest": "0b4fe9b42a6f2af2baadd914a9ae7643", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7254, "upload_time": "2019-09-14T08:36:59", "url": "https://files.pythonhosted.org/packages/ec/71/39df99b0bbcd3d50b0237cd92ec851df932fedd024538384d0face2bd8a6/halo_aws-0.11.13.tar.gz" } ] }