diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-halo-app.spec | 201 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 203 insertions, 0 deletions
@@ -0,0 +1 @@ +/halo-app-0.10.92.tar.gz diff --git a/python-halo-app.spec b/python-halo-app.spec new file mode 100644 index 0000000..8a9cc31 --- /dev/null +++ b/python-halo-app.spec @@ -0,0 +1,201 @@ +%global _empty_manifest_terminate_build 0 +Name: python-halo-app +Version: 0.10.92 +Release: 1 +Summary: this is the Halo framework library for domain app +License: MIT License +URL: https://github.com/halo-framework/halo-app +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/26/40/c0a16b7055bf6a0f25b3e0f6692cd0557e108a33b39f79b660b2fc861a35/halo-app-0.10.92.tar.gz +BuildArch: noarch + + +%description +<p align="center"> + <img src="https://i.ibb.co/9V7gLNH/halo-plat.png" alt="Halo Serverless" border="0" height="250" width="500" /> +</p> + +# Halo + +The **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/) +<p/>Halo provides the following features: + +- Flask development for AWS Lambda & Dynamodb +- [correlation id across microservices](https://theburningmonk.com/2017/09/capture-and-forward-correlation-ids-through-different-lambda-event-sources/) +- [structured json based logging](https://theburningmonk.com/2018/01/you-need-to-use-structured-logging-with-aws-lambda/) +- [sample debug log in production](https://theburningmonk.com/2018/04/you-need-to-sample-debug-logs-in-production/) +- [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) +- [using SSM Parameter Store over Lambda env variables](https://hackernoon.com/you-should-use-ssm-parameter-store-over-lambda-env-variables-5197fc6ea45b) +- [Serverless Error Handling & trace id for end users](https://aws.amazon.com/blogs/compute/error-handling-patterns-in-amazon-api-gateway-and-aws-lambda/) +- [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/) +- [ootb support for Idempotent service invocations (md5)](https://cloudonaut.io/your-lambda-function-might-execute-twice-deal-with-it/) + +If you are building a Python web app running on AWS Lambda (Django or Flask), use this library to manage api transactions: + +``` + sagax = load_saga("test", jsonx, schema) + payloads = {"BookHotel": {"abc": "def"}, "BookFlight": {"abc": "def"}, "BookRental": {"abc": "def"}, + "CancelHotel": {"abc": "def"}, "CancelFlight": {"abc": "def"}, "CancelRental": {"abc": "def"}} + apis = {"BookHotel": self.create_api1, "BookFlight": self.create_api2, "BookRental": self.create_api3, + "CancelHotel": self.create_api4, "CancelFlight": self.create_api5, "CancelRental": self.create_api6} + try: + self.context = Util.get_lambda_context(request) + ret = sagax.execute(self.req_context, payloads, apis) + return {"saga": "good"}, 200 + except SagaRollBack as e: + return {"saga": "bad"}, 500 +``` + + +## License + +This project is licensed under the MIT License + +## Acknowledgments + +* Yan Cui - https://theburningmonk.com +* flowpl - https://github.com/flowpl/saga_py + +%package -n python3-halo-app +Summary: this is the Halo framework library for domain app +Provides: python-halo-app +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-halo-app +<p align="center"> + <img src="https://i.ibb.co/9V7gLNH/halo-plat.png" alt="Halo Serverless" border="0" height="250" width="500" /> +</p> + +# Halo + +The **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/) +<p/>Halo provides the following features: + +- Flask development for AWS Lambda & Dynamodb +- [correlation id across microservices](https://theburningmonk.com/2017/09/capture-and-forward-correlation-ids-through-different-lambda-event-sources/) +- [structured json based logging](https://theburningmonk.com/2018/01/you-need-to-use-structured-logging-with-aws-lambda/) +- [sample debug log in production](https://theburningmonk.com/2018/04/you-need-to-sample-debug-logs-in-production/) +- [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) +- [using SSM Parameter Store over Lambda env variables](https://hackernoon.com/you-should-use-ssm-parameter-store-over-lambda-env-variables-5197fc6ea45b) +- [Serverless Error Handling & trace id for end users](https://aws.amazon.com/blogs/compute/error-handling-patterns-in-amazon-api-gateway-and-aws-lambda/) +- [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/) +- [ootb support for Idempotent service invocations (md5)](https://cloudonaut.io/your-lambda-function-might-execute-twice-deal-with-it/) + +If you are building a Python web app running on AWS Lambda (Django or Flask), use this library to manage api transactions: + +``` + sagax = load_saga("test", jsonx, schema) + payloads = {"BookHotel": {"abc": "def"}, "BookFlight": {"abc": "def"}, "BookRental": {"abc": "def"}, + "CancelHotel": {"abc": "def"}, "CancelFlight": {"abc": "def"}, "CancelRental": {"abc": "def"}} + apis = {"BookHotel": self.create_api1, "BookFlight": self.create_api2, "BookRental": self.create_api3, + "CancelHotel": self.create_api4, "CancelFlight": self.create_api5, "CancelRental": self.create_api6} + try: + self.context = Util.get_lambda_context(request) + ret = sagax.execute(self.req_context, payloads, apis) + return {"saga": "good"}, 200 + except SagaRollBack as e: + return {"saga": "bad"}, 500 +``` + + +## License + +This project is licensed under the MIT License + +## Acknowledgments + +* Yan Cui - https://theburningmonk.com +* flowpl - https://github.com/flowpl/saga_py + +%package help +Summary: Development documents and examples for halo-app +Provides: python3-halo-app-doc +%description help +<p align="center"> + <img src="https://i.ibb.co/9V7gLNH/halo-plat.png" alt="Halo Serverless" border="0" height="250" width="500" /> +</p> + +# Halo + +The **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/) +<p/>Halo provides the following features: + +- Flask development for AWS Lambda & Dynamodb +- [correlation id across microservices](https://theburningmonk.com/2017/09/capture-and-forward-correlation-ids-through-different-lambda-event-sources/) +- [structured json based logging](https://theburningmonk.com/2018/01/you-need-to-use-structured-logging-with-aws-lambda/) +- [sample debug log in production](https://theburningmonk.com/2018/04/you-need-to-sample-debug-logs-in-production/) +- [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) +- [using SSM Parameter Store over Lambda env variables](https://hackernoon.com/you-should-use-ssm-parameter-store-over-lambda-env-variables-5197fc6ea45b) +- [Serverless Error Handling & trace id for end users](https://aws.amazon.com/blogs/compute/error-handling-patterns-in-amazon-api-gateway-and-aws-lambda/) +- [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/) +- [ootb support for Idempotent service invocations (md5)](https://cloudonaut.io/your-lambda-function-might-execute-twice-deal-with-it/) + +If you are building a Python web app running on AWS Lambda (Django or Flask), use this library to manage api transactions: + +``` + sagax = load_saga("test", jsonx, schema) + payloads = {"BookHotel": {"abc": "def"}, "BookFlight": {"abc": "def"}, "BookRental": {"abc": "def"}, + "CancelHotel": {"abc": "def"}, "CancelFlight": {"abc": "def"}, "CancelRental": {"abc": "def"}} + apis = {"BookHotel": self.create_api1, "BookFlight": self.create_api2, "BookRental": self.create_api3, + "CancelHotel": self.create_api4, "CancelFlight": self.create_api5, "CancelRental": self.create_api6} + try: + self.context = Util.get_lambda_context(request) + ret = sagax.execute(self.req_context, payloads, apis) + return {"saga": "good"}, 200 + except SagaRollBack as e: + return {"saga": "bad"}, 500 +``` + + +## License + +This project is licensed under the MIT License + +## Acknowledgments + +* Yan Cui - https://theburningmonk.com +* flowpl - https://github.com/flowpl/saga_py + +%prep +%autosetup -n halo-app-0.10.92 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-halo-app -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 0.10.92-1 +- Package Spec generated @@ -0,0 +1 @@ +78d93a05be027ff810d0740399a70178 halo-app-0.10.92.tar.gz |
