summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-b-lambda-layer-common.spec1248
-rw-r--r--sources1
3 files changed, 1250 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..6ac9241 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/b_lambda_layer_common-4.4.0.tar.gz
diff --git a/python-b-lambda-layer-common.spec b/python-b-lambda-layer-common.spec
new file mode 100644
index 0000000..ac8c323
--- /dev/null
+++ b/python-b-lambda-layer-common.spec
@@ -0,0 +1,1248 @@
+%global _empty_manifest_terminate_build 0
+Name: python-b-lambda-layer-common
+Version: 4.4.0
+Release: 1
+Summary: Common opinionated utilities for every day development.
+License: Apache License 2.0
+URL: https://github.com/biomapas/B.LambdaLayerCommon.git
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/77/8b/9810a4cf739be0171bdf5e2a45b90c7d9afd7366120bf81c34e3d888c035/b_lambda_layer_common-4.4.0.tar.gz
+BuildArch: noarch
+
+
+%description
+# B.LambdaLayerCommon
+
+![Pipeline](https://github.com/Biomapas/B.LambdaLayerCommon/workflows/Pipeline/badge.svg?branch=master)
+
+> **DEPRECATION WARNING !!!**</br></br>
+> This library no longer supports lambda layers and eventually will be moved to another repository.
+> It is a simple python library of common methods to develop in AWS environment.
+> Create your own lambda layer using ![B.CfnLambdaLayer](https://github.com/Biomapas/B.CfnLambdaLayer)
+> and specify this library as a dependency. Example given below.
+> ```python
+> from b_cfn_lambda_layer.lambda_layer import LambdaLayer
+> layer = LambdaLayer(
+> ...,
+> dependencies={
+> 'b-lambda_layer_common': PackageVersion.from_string_version('4.0.0'),
+> }
+> )
+> ```
+
+### Description
+
+This is a simple python library, that contains various useful methods that will make infrastructure development
+much easier.
+
+### Remarks
+
+[Biomapas](https://www.biomapas.com/) aims to modernise life-science industry by sharing its IT knowledge with other companies and the community.
+This is an open source library intended to be used by anyone.
+Improvements and pull requests are welcome.
+
+### Related technology
+
+- Python3
+- Docker
+- AWS CDK
+- AWS Lambda
+
+### Assumptions
+
+This project assumes you have good knowledge in AWS.
+
+- Good Python skills and basis of OOP.
+
+### Useful sources
+
+- None.
+
+### Install
+
+Before installing this library, ensure you have these tools setup:
+
+- Python / Pip
+
+To install this project from source run:
+
+```
+pip install .
+```
+
+Or you can install it from a PyPi repository:
+
+```
+pip install b-lambda_layer_common
+```
+
+### Usage & Examples
+
+Main modules:
+
+- _api_gateway_
+ <br>Contains various functionalities related to API Gateway service and integrations.
+<br><br>
+- _cache_
+ <br>Contains caching mechanisms for lambda functions.
+<br><br>
+- _events_
+ <br>Contains functionality that supports event-driven architectures.
+<br><br>
+- _exceptions_
+ <br>Contains advanced exception handling and propagation between lambda function chains.
+<br><br>
+- _ssm_
+ <br>Contains SSM parameter store handling logic.
+<br><br>
+- _util_
+ <br>Contains random fun stuff ;)
+<br><br>
+- _validation_
+ <br>Various value validations for python.
+<br><br>
+- _ws_api_gateway_
+ <br>Contains various functionalities related to API Gateway websocket service and integrations.
+
+### Testing
+
+This package has unit tests based on **pytest**.
+To run tests simply run:
+
+```
+pytest --cov=b_lambda_layer_common b_lambda_layer_common_test/unit --cov-fail-under=80
+```
+
+### Contribution
+
+Found a bug? Want to add or suggest a new feature?
+Contributions of any kind are gladly welcome.
+You may contact us directly, create a pull-request or an issue in github platform.
+Lets modernize the world together.
+
+
+# Release history
+
+### 4.4.0
+* Add decorator `remove_header` removing desired headers from API Gateway integration lambda event.
+
+### 4.3.0
+* Improve `ValueValidator` by adding `not_contains_whitespace` method.
+* Make `ValueValidatorPresets` more flexible.
+
+### 4.2.2
+* Make `MalformedPermissionErorr` inherit straight from `HttpException`.
+
+### 4.2.1
+* Typehint fixes.
+
+### 4.2.0
+* Add more custom `BException` exceptions.
+* 420 hehe...
+
+### 4.1.0
+* Add ability to specify custom exception when performing value validation.
+
+### 4.0.0
+* Deprecate lambda layer functionality. Now this is a simple python lib with common AWS-related functionality.
+ Use https://github.com/Biomapas/B.CfnLambdaLayer to create lambda layers.
+* Remove `DynamoDb` & `PynamoDb` functionality from this code. It has been moved and improved.
+ Find everything here: https://github.com/Biomapas/B.DynamoDbCommon.
+
+### 3.3.0
+* Allow access of the value within validators.
+
+### 3.2.0
+* Add epic validation!
+* Add `ValueValidator` for basic validation.
+* Add `ValueValidatorPreset` for convenient validation.
+
+### 3.1.0
+* Extract api key from lambda event.
+* Extract body from lambda event.
+
+### 3.0.1
+* Extend boto3 step-functions call timeout to maximum lambda execution time (15 minutes).
+
+### 3.0.0
+* Use the newest base layer `B.CfnLambdaLayer`
+ which uses new asset bundling mechanism (Dockerfile).
+
+### 2.4.0
+* Add Boto3 client validation under SfnCall function.
+
+### 2.3.4
+* Add functionality to pass Boto3 client to SfnCall function for multithreding support.
+
+### 2.3.3
+* Fix api empty dict serialization.
+
+### 2.3.2
+* Improve parsing of JWT claims from API Gateway authorizer output.
+
+### 2.3.1
+* If you want to use `cryptography` module, you must use Python 3.8.
+* Add explanations for Python 3.8 versions.
+* Fix supported layer python versions.
+
+### 2.3.0
+* Add Fernet encryption PynamoDB attribute.
+
+### 2.2.1
+* Fix KmsAttribute by introducing base64 encode/decode.
+
+### 2.2.0
+* Add field validator in util directory. Simple string validation.
+* Add KMS attribute for PynamoDB.
+
+### 2.1.2
+* Add a list bytes batching utility.
+
+### 2.0.6
+* Handle errors when raising ValueError in SfnCall class.
+
+### 2.0.4
+* Simple return JSON of an output if SfnCall raised ValueError.
+
+### 2.0.1
+* Include .txt files.
+
+### 2.0.0
+* Complete refactor.
+* Fix ugly if/else imports.
+* Run unit tests inside lambda functions.
+* Use b_cfn_lambda_layer dependency.
+* Write more unit and integration tests.
+* Add README documentation.
+
+### 1.20.0
+* Add validation when bundling with Docker.
+
+### 1.19.0
+* General testing improvements.
+* Add Layer V2 integration tests.
+
+### 1.18.0
+* Add V2 Layer class to enable installation of dependencies.
+
+### 1.16.0
+* Add response method to return any type.
+* Add `text/html` and `text/plain` headers.
+* Add missing `fields` parameter support to `NeighbourEndpoint` class.
+
+### 1.15.1
+* Improve function return value handling for `InMemoryDataCache` class.
+
+### 1.15.0
+* Add in-memory data caching functionality.
+
+### 1.14.0
+* Add `fields` parameter support to `HttpEndpoint` class.
+
+### 1.11.1
+* Update DoNotUpdate class to be usable as a type.
+
+### 1.11.0
+* Add WebSocket Api Gateway message class to form consistent messages.
+
+### 1.10.2
+* Allow for changing HttpEndpoint behavior.
+
+### 1.10.1
+* Add ability to specify if to fail to errors.
+* Try to read from env event bus name.
+
+### 1.10.0
+* Add factory to emit EventBridge events.
+
+### 1.9.5
+* Make the code a little more robust and less error prone.
+
+### 1.9.4
+* Assets input may contain garbage files too, hence, apply
+cleanup commands directly on asset outputs folder.
+
+### 1.9.3
+* Add builds badge.
+
+### 1.9.2
+* Remove leftover code.
+* Update requirements.
+
+### 1.9.1
+* Delete unnecessary files which result in different asset hash.
+* Calculate hash when bundling.
+
+### 1.9.0
+* Add CSV headers.
+
+### 1.8.3
+* Ensure everything works with a robust integration test.
+
+### 1.8.2
+* Improve Boto3Version class.
+
+### 1.8.1
+* Fix bug when boto3 version is specified project files
+are not copied.
+
+### 1.8.0
+* Change asset bundling to asset docker bundling if additional
+dependencies are specified.
+* Add ability to install boto3 library.
+* Add more unit tests.
+* Add integration tests to deploy and test the Layer in AWS.
+
+### 1.7.0
+* Simplify SSM parameters functionality.
+* Add robust SSM parameter tests.
+
+### 1.6.2
+* Do not serialize returned ssm parameters.
+
+### 1.6.1
+* Add more logging for better visibility.
+
+### 1.6.0
+* SSM should_refresh function should be public.
+
+### 1.5.1
+* Add logging on ssm error decorator.
+
+### 1.5.0
+* Force using error_class to error_classes.
+
+### 1.4.0
+* Add functionality to fetch and cache SSM parameters.
+* Add OS type parameters.
+
+### 1.3.0
+* Add media Response and wav/mpeg headers.
+
+### 1.2.0
+* Add DoNotUpdate class, useful when checking what parameters to update and what not.
+
+### 1.1.3
+* Implement retrying logic to HttpCall.
+
+### 1.1.2
+* Make sure test coverage is at least 80%.
+* Add CI/CD pipeline.
+* Add more encodings to decode responses.
+
+### 1.1.1
+* Add urllib3 dependency.
+
+### 1.1.0
+* Add DynamoDBEncoder that subclasses DecimalEncoder and additionally encodes sets as lists.
+
+### 1.0.3
+* Modify call_to_json function by checking whether the response contains body.
+
+### 1.0.2
+* Add exception logging for failed imports.
+
+### 1.0.1
+* Expose http_endpoint on NeigbourEndpoint class.
+
+### 1.0.0
+* Release version with major braking changes.
+* Consistent naming for imports.
+* Unit tests to cover all functions and classes.
+* Add neighbour endpoint.
+* General code improvements and cleanup.
+
+### 0.0.16
+* Fix logging imports.
+* Add logging of exception tracebacks to exception_middleware.
+* Add logging about HTTP requests.
+* Set request scheme for parent API Gateway urls depending on current protocol.
+
+### 0.0.15
+* Add a CognitoAccessToken for parsing access token information provided by the API Gateway using Cognito authorizer.
+
+### 0.0.14
+* Add a LoggingManager for setting up logging configuration
+
+### 0.0.13
+* Add custom JSON encoder with support for decimal.Decimal encoding
+
+### 0.0.12
+* Implement API Gateway body parsing.
+
+### 0.0.11
+* Fix imports.
+
+### 0.0.10
+* Implement exceptions.
+
+### 0.0.9
+* Fix api gateway url.
+
+### 0.0.8
+* Add xml to dict converter utility. No dependencies.
+
+### 0.0.7
+* Fix imports.
+
+### 0.0.6
+* Add ability to check whether singleton was initialized.
+
+### 0.0.5
+* Remove description.
+
+### 0.0.4
+* Do not create an extra stack.
+
+### 0.0.3
+* Add safe initialization.
+
+### 0.0.2
+* Add Layer class and Singleton.
+
+### 0.0.1
+* Initial build.
+
+
+
+%package -n python3-b-lambda-layer-common
+Summary: Common opinionated utilities for every day development.
+Provides: python-b-lambda-layer-common
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-b-lambda-layer-common
+# B.LambdaLayerCommon
+
+![Pipeline](https://github.com/Biomapas/B.LambdaLayerCommon/workflows/Pipeline/badge.svg?branch=master)
+
+> **DEPRECATION WARNING !!!**</br></br>
+> This library no longer supports lambda layers and eventually will be moved to another repository.
+> It is a simple python library of common methods to develop in AWS environment.
+> Create your own lambda layer using ![B.CfnLambdaLayer](https://github.com/Biomapas/B.CfnLambdaLayer)
+> and specify this library as a dependency. Example given below.
+> ```python
+> from b_cfn_lambda_layer.lambda_layer import LambdaLayer
+> layer = LambdaLayer(
+> ...,
+> dependencies={
+> 'b-lambda_layer_common': PackageVersion.from_string_version('4.0.0'),
+> }
+> )
+> ```
+
+### Description
+
+This is a simple python library, that contains various useful methods that will make infrastructure development
+much easier.
+
+### Remarks
+
+[Biomapas](https://www.biomapas.com/) aims to modernise life-science industry by sharing its IT knowledge with other companies and the community.
+This is an open source library intended to be used by anyone.
+Improvements and pull requests are welcome.
+
+### Related technology
+
+- Python3
+- Docker
+- AWS CDK
+- AWS Lambda
+
+### Assumptions
+
+This project assumes you have good knowledge in AWS.
+
+- Good Python skills and basis of OOP.
+
+### Useful sources
+
+- None.
+
+### Install
+
+Before installing this library, ensure you have these tools setup:
+
+- Python / Pip
+
+To install this project from source run:
+
+```
+pip install .
+```
+
+Or you can install it from a PyPi repository:
+
+```
+pip install b-lambda_layer_common
+```
+
+### Usage & Examples
+
+Main modules:
+
+- _api_gateway_
+ <br>Contains various functionalities related to API Gateway service and integrations.
+<br><br>
+- _cache_
+ <br>Contains caching mechanisms for lambda functions.
+<br><br>
+- _events_
+ <br>Contains functionality that supports event-driven architectures.
+<br><br>
+- _exceptions_
+ <br>Contains advanced exception handling and propagation between lambda function chains.
+<br><br>
+- _ssm_
+ <br>Contains SSM parameter store handling logic.
+<br><br>
+- _util_
+ <br>Contains random fun stuff ;)
+<br><br>
+- _validation_
+ <br>Various value validations for python.
+<br><br>
+- _ws_api_gateway_
+ <br>Contains various functionalities related to API Gateway websocket service and integrations.
+
+### Testing
+
+This package has unit tests based on **pytest**.
+To run tests simply run:
+
+```
+pytest --cov=b_lambda_layer_common b_lambda_layer_common_test/unit --cov-fail-under=80
+```
+
+### Contribution
+
+Found a bug? Want to add or suggest a new feature?
+Contributions of any kind are gladly welcome.
+You may contact us directly, create a pull-request or an issue in github platform.
+Lets modernize the world together.
+
+
+# Release history
+
+### 4.4.0
+* Add decorator `remove_header` removing desired headers from API Gateway integration lambda event.
+
+### 4.3.0
+* Improve `ValueValidator` by adding `not_contains_whitespace` method.
+* Make `ValueValidatorPresets` more flexible.
+
+### 4.2.2
+* Make `MalformedPermissionErorr` inherit straight from `HttpException`.
+
+### 4.2.1
+* Typehint fixes.
+
+### 4.2.0
+* Add more custom `BException` exceptions.
+* 420 hehe...
+
+### 4.1.0
+* Add ability to specify custom exception when performing value validation.
+
+### 4.0.0
+* Deprecate lambda layer functionality. Now this is a simple python lib with common AWS-related functionality.
+ Use https://github.com/Biomapas/B.CfnLambdaLayer to create lambda layers.
+* Remove `DynamoDb` & `PynamoDb` functionality from this code. It has been moved and improved.
+ Find everything here: https://github.com/Biomapas/B.DynamoDbCommon.
+
+### 3.3.0
+* Allow access of the value within validators.
+
+### 3.2.0
+* Add epic validation!
+* Add `ValueValidator` for basic validation.
+* Add `ValueValidatorPreset` for convenient validation.
+
+### 3.1.0
+* Extract api key from lambda event.
+* Extract body from lambda event.
+
+### 3.0.1
+* Extend boto3 step-functions call timeout to maximum lambda execution time (15 minutes).
+
+### 3.0.0
+* Use the newest base layer `B.CfnLambdaLayer`
+ which uses new asset bundling mechanism (Dockerfile).
+
+### 2.4.0
+* Add Boto3 client validation under SfnCall function.
+
+### 2.3.4
+* Add functionality to pass Boto3 client to SfnCall function for multithreding support.
+
+### 2.3.3
+* Fix api empty dict serialization.
+
+### 2.3.2
+* Improve parsing of JWT claims from API Gateway authorizer output.
+
+### 2.3.1
+* If you want to use `cryptography` module, you must use Python 3.8.
+* Add explanations for Python 3.8 versions.
+* Fix supported layer python versions.
+
+### 2.3.0
+* Add Fernet encryption PynamoDB attribute.
+
+### 2.2.1
+* Fix KmsAttribute by introducing base64 encode/decode.
+
+### 2.2.0
+* Add field validator in util directory. Simple string validation.
+* Add KMS attribute for PynamoDB.
+
+### 2.1.2
+* Add a list bytes batching utility.
+
+### 2.0.6
+* Handle errors when raising ValueError in SfnCall class.
+
+### 2.0.4
+* Simple return JSON of an output if SfnCall raised ValueError.
+
+### 2.0.1
+* Include .txt files.
+
+### 2.0.0
+* Complete refactor.
+* Fix ugly if/else imports.
+* Run unit tests inside lambda functions.
+* Use b_cfn_lambda_layer dependency.
+* Write more unit and integration tests.
+* Add README documentation.
+
+### 1.20.0
+* Add validation when bundling with Docker.
+
+### 1.19.0
+* General testing improvements.
+* Add Layer V2 integration tests.
+
+### 1.18.0
+* Add V2 Layer class to enable installation of dependencies.
+
+### 1.16.0
+* Add response method to return any type.
+* Add `text/html` and `text/plain` headers.
+* Add missing `fields` parameter support to `NeighbourEndpoint` class.
+
+### 1.15.1
+* Improve function return value handling for `InMemoryDataCache` class.
+
+### 1.15.0
+* Add in-memory data caching functionality.
+
+### 1.14.0
+* Add `fields` parameter support to `HttpEndpoint` class.
+
+### 1.11.1
+* Update DoNotUpdate class to be usable as a type.
+
+### 1.11.0
+* Add WebSocket Api Gateway message class to form consistent messages.
+
+### 1.10.2
+* Allow for changing HttpEndpoint behavior.
+
+### 1.10.1
+* Add ability to specify if to fail to errors.
+* Try to read from env event bus name.
+
+### 1.10.0
+* Add factory to emit EventBridge events.
+
+### 1.9.5
+* Make the code a little more robust and less error prone.
+
+### 1.9.4
+* Assets input may contain garbage files too, hence, apply
+cleanup commands directly on asset outputs folder.
+
+### 1.9.3
+* Add builds badge.
+
+### 1.9.2
+* Remove leftover code.
+* Update requirements.
+
+### 1.9.1
+* Delete unnecessary files which result in different asset hash.
+* Calculate hash when bundling.
+
+### 1.9.0
+* Add CSV headers.
+
+### 1.8.3
+* Ensure everything works with a robust integration test.
+
+### 1.8.2
+* Improve Boto3Version class.
+
+### 1.8.1
+* Fix bug when boto3 version is specified project files
+are not copied.
+
+### 1.8.0
+* Change asset bundling to asset docker bundling if additional
+dependencies are specified.
+* Add ability to install boto3 library.
+* Add more unit tests.
+* Add integration tests to deploy and test the Layer in AWS.
+
+### 1.7.0
+* Simplify SSM parameters functionality.
+* Add robust SSM parameter tests.
+
+### 1.6.2
+* Do not serialize returned ssm parameters.
+
+### 1.6.1
+* Add more logging for better visibility.
+
+### 1.6.0
+* SSM should_refresh function should be public.
+
+### 1.5.1
+* Add logging on ssm error decorator.
+
+### 1.5.0
+* Force using error_class to error_classes.
+
+### 1.4.0
+* Add functionality to fetch and cache SSM parameters.
+* Add OS type parameters.
+
+### 1.3.0
+* Add media Response and wav/mpeg headers.
+
+### 1.2.0
+* Add DoNotUpdate class, useful when checking what parameters to update and what not.
+
+### 1.1.3
+* Implement retrying logic to HttpCall.
+
+### 1.1.2
+* Make sure test coverage is at least 80%.
+* Add CI/CD pipeline.
+* Add more encodings to decode responses.
+
+### 1.1.1
+* Add urllib3 dependency.
+
+### 1.1.0
+* Add DynamoDBEncoder that subclasses DecimalEncoder and additionally encodes sets as lists.
+
+### 1.0.3
+* Modify call_to_json function by checking whether the response contains body.
+
+### 1.0.2
+* Add exception logging for failed imports.
+
+### 1.0.1
+* Expose http_endpoint on NeigbourEndpoint class.
+
+### 1.0.0
+* Release version with major braking changes.
+* Consistent naming for imports.
+* Unit tests to cover all functions and classes.
+* Add neighbour endpoint.
+* General code improvements and cleanup.
+
+### 0.0.16
+* Fix logging imports.
+* Add logging of exception tracebacks to exception_middleware.
+* Add logging about HTTP requests.
+* Set request scheme for parent API Gateway urls depending on current protocol.
+
+### 0.0.15
+* Add a CognitoAccessToken for parsing access token information provided by the API Gateway using Cognito authorizer.
+
+### 0.0.14
+* Add a LoggingManager for setting up logging configuration
+
+### 0.0.13
+* Add custom JSON encoder with support for decimal.Decimal encoding
+
+### 0.0.12
+* Implement API Gateway body parsing.
+
+### 0.0.11
+* Fix imports.
+
+### 0.0.10
+* Implement exceptions.
+
+### 0.0.9
+* Fix api gateway url.
+
+### 0.0.8
+* Add xml to dict converter utility. No dependencies.
+
+### 0.0.7
+* Fix imports.
+
+### 0.0.6
+* Add ability to check whether singleton was initialized.
+
+### 0.0.5
+* Remove description.
+
+### 0.0.4
+* Do not create an extra stack.
+
+### 0.0.3
+* Add safe initialization.
+
+### 0.0.2
+* Add Layer class and Singleton.
+
+### 0.0.1
+* Initial build.
+
+
+
+%package help
+Summary: Development documents and examples for b-lambda-layer-common
+Provides: python3-b-lambda-layer-common-doc
+%description help
+# B.LambdaLayerCommon
+
+![Pipeline](https://github.com/Biomapas/B.LambdaLayerCommon/workflows/Pipeline/badge.svg?branch=master)
+
+> **DEPRECATION WARNING !!!**</br></br>
+> This library no longer supports lambda layers and eventually will be moved to another repository.
+> It is a simple python library of common methods to develop in AWS environment.
+> Create your own lambda layer using ![B.CfnLambdaLayer](https://github.com/Biomapas/B.CfnLambdaLayer)
+> and specify this library as a dependency. Example given below.
+> ```python
+> from b_cfn_lambda_layer.lambda_layer import LambdaLayer
+> layer = LambdaLayer(
+> ...,
+> dependencies={
+> 'b-lambda_layer_common': PackageVersion.from_string_version('4.0.0'),
+> }
+> )
+> ```
+
+### Description
+
+This is a simple python library, that contains various useful methods that will make infrastructure development
+much easier.
+
+### Remarks
+
+[Biomapas](https://www.biomapas.com/) aims to modernise life-science industry by sharing its IT knowledge with other companies and the community.
+This is an open source library intended to be used by anyone.
+Improvements and pull requests are welcome.
+
+### Related technology
+
+- Python3
+- Docker
+- AWS CDK
+- AWS Lambda
+
+### Assumptions
+
+This project assumes you have good knowledge in AWS.
+
+- Good Python skills and basis of OOP.
+
+### Useful sources
+
+- None.
+
+### Install
+
+Before installing this library, ensure you have these tools setup:
+
+- Python / Pip
+
+To install this project from source run:
+
+```
+pip install .
+```
+
+Or you can install it from a PyPi repository:
+
+```
+pip install b-lambda_layer_common
+```
+
+### Usage & Examples
+
+Main modules:
+
+- _api_gateway_
+ <br>Contains various functionalities related to API Gateway service and integrations.
+<br><br>
+- _cache_
+ <br>Contains caching mechanisms for lambda functions.
+<br><br>
+- _events_
+ <br>Contains functionality that supports event-driven architectures.
+<br><br>
+- _exceptions_
+ <br>Contains advanced exception handling and propagation between lambda function chains.
+<br><br>
+- _ssm_
+ <br>Contains SSM parameter store handling logic.
+<br><br>
+- _util_
+ <br>Contains random fun stuff ;)
+<br><br>
+- _validation_
+ <br>Various value validations for python.
+<br><br>
+- _ws_api_gateway_
+ <br>Contains various functionalities related to API Gateway websocket service and integrations.
+
+### Testing
+
+This package has unit tests based on **pytest**.
+To run tests simply run:
+
+```
+pytest --cov=b_lambda_layer_common b_lambda_layer_common_test/unit --cov-fail-under=80
+```
+
+### Contribution
+
+Found a bug? Want to add or suggest a new feature?
+Contributions of any kind are gladly welcome.
+You may contact us directly, create a pull-request or an issue in github platform.
+Lets modernize the world together.
+
+
+# Release history
+
+### 4.4.0
+* Add decorator `remove_header` removing desired headers from API Gateway integration lambda event.
+
+### 4.3.0
+* Improve `ValueValidator` by adding `not_contains_whitespace` method.
+* Make `ValueValidatorPresets` more flexible.
+
+### 4.2.2
+* Make `MalformedPermissionErorr` inherit straight from `HttpException`.
+
+### 4.2.1
+* Typehint fixes.
+
+### 4.2.0
+* Add more custom `BException` exceptions.
+* 420 hehe...
+
+### 4.1.0
+* Add ability to specify custom exception when performing value validation.
+
+### 4.0.0
+* Deprecate lambda layer functionality. Now this is a simple python lib with common AWS-related functionality.
+ Use https://github.com/Biomapas/B.CfnLambdaLayer to create lambda layers.
+* Remove `DynamoDb` & `PynamoDb` functionality from this code. It has been moved and improved.
+ Find everything here: https://github.com/Biomapas/B.DynamoDbCommon.
+
+### 3.3.0
+* Allow access of the value within validators.
+
+### 3.2.0
+* Add epic validation!
+* Add `ValueValidator` for basic validation.
+* Add `ValueValidatorPreset` for convenient validation.
+
+### 3.1.0
+* Extract api key from lambda event.
+* Extract body from lambda event.
+
+### 3.0.1
+* Extend boto3 step-functions call timeout to maximum lambda execution time (15 minutes).
+
+### 3.0.0
+* Use the newest base layer `B.CfnLambdaLayer`
+ which uses new asset bundling mechanism (Dockerfile).
+
+### 2.4.0
+* Add Boto3 client validation under SfnCall function.
+
+### 2.3.4
+* Add functionality to pass Boto3 client to SfnCall function for multithreding support.
+
+### 2.3.3
+* Fix api empty dict serialization.
+
+### 2.3.2
+* Improve parsing of JWT claims from API Gateway authorizer output.
+
+### 2.3.1
+* If you want to use `cryptography` module, you must use Python 3.8.
+* Add explanations for Python 3.8 versions.
+* Fix supported layer python versions.
+
+### 2.3.0
+* Add Fernet encryption PynamoDB attribute.
+
+### 2.2.1
+* Fix KmsAttribute by introducing base64 encode/decode.
+
+### 2.2.0
+* Add field validator in util directory. Simple string validation.
+* Add KMS attribute for PynamoDB.
+
+### 2.1.2
+* Add a list bytes batching utility.
+
+### 2.0.6
+* Handle errors when raising ValueError in SfnCall class.
+
+### 2.0.4
+* Simple return JSON of an output if SfnCall raised ValueError.
+
+### 2.0.1
+* Include .txt files.
+
+### 2.0.0
+* Complete refactor.
+* Fix ugly if/else imports.
+* Run unit tests inside lambda functions.
+* Use b_cfn_lambda_layer dependency.
+* Write more unit and integration tests.
+* Add README documentation.
+
+### 1.20.0
+* Add validation when bundling with Docker.
+
+### 1.19.0
+* General testing improvements.
+* Add Layer V2 integration tests.
+
+### 1.18.0
+* Add V2 Layer class to enable installation of dependencies.
+
+### 1.16.0
+* Add response method to return any type.
+* Add `text/html` and `text/plain` headers.
+* Add missing `fields` parameter support to `NeighbourEndpoint` class.
+
+### 1.15.1
+* Improve function return value handling for `InMemoryDataCache` class.
+
+### 1.15.0
+* Add in-memory data caching functionality.
+
+### 1.14.0
+* Add `fields` parameter support to `HttpEndpoint` class.
+
+### 1.11.1
+* Update DoNotUpdate class to be usable as a type.
+
+### 1.11.0
+* Add WebSocket Api Gateway message class to form consistent messages.
+
+### 1.10.2
+* Allow for changing HttpEndpoint behavior.
+
+### 1.10.1
+* Add ability to specify if to fail to errors.
+* Try to read from env event bus name.
+
+### 1.10.0
+* Add factory to emit EventBridge events.
+
+### 1.9.5
+* Make the code a little more robust and less error prone.
+
+### 1.9.4
+* Assets input may contain garbage files too, hence, apply
+cleanup commands directly on asset outputs folder.
+
+### 1.9.3
+* Add builds badge.
+
+### 1.9.2
+* Remove leftover code.
+* Update requirements.
+
+### 1.9.1
+* Delete unnecessary files which result in different asset hash.
+* Calculate hash when bundling.
+
+### 1.9.0
+* Add CSV headers.
+
+### 1.8.3
+* Ensure everything works with a robust integration test.
+
+### 1.8.2
+* Improve Boto3Version class.
+
+### 1.8.1
+* Fix bug when boto3 version is specified project files
+are not copied.
+
+### 1.8.0
+* Change asset bundling to asset docker bundling if additional
+dependencies are specified.
+* Add ability to install boto3 library.
+* Add more unit tests.
+* Add integration tests to deploy and test the Layer in AWS.
+
+### 1.7.0
+* Simplify SSM parameters functionality.
+* Add robust SSM parameter tests.
+
+### 1.6.2
+* Do not serialize returned ssm parameters.
+
+### 1.6.1
+* Add more logging for better visibility.
+
+### 1.6.0
+* SSM should_refresh function should be public.
+
+### 1.5.1
+* Add logging on ssm error decorator.
+
+### 1.5.0
+* Force using error_class to error_classes.
+
+### 1.4.0
+* Add functionality to fetch and cache SSM parameters.
+* Add OS type parameters.
+
+### 1.3.0
+* Add media Response and wav/mpeg headers.
+
+### 1.2.0
+* Add DoNotUpdate class, useful when checking what parameters to update and what not.
+
+### 1.1.3
+* Implement retrying logic to HttpCall.
+
+### 1.1.2
+* Make sure test coverage is at least 80%.
+* Add CI/CD pipeline.
+* Add more encodings to decode responses.
+
+### 1.1.1
+* Add urllib3 dependency.
+
+### 1.1.0
+* Add DynamoDBEncoder that subclasses DecimalEncoder and additionally encodes sets as lists.
+
+### 1.0.3
+* Modify call_to_json function by checking whether the response contains body.
+
+### 1.0.2
+* Add exception logging for failed imports.
+
+### 1.0.1
+* Expose http_endpoint on NeigbourEndpoint class.
+
+### 1.0.0
+* Release version with major braking changes.
+* Consistent naming for imports.
+* Unit tests to cover all functions and classes.
+* Add neighbour endpoint.
+* General code improvements and cleanup.
+
+### 0.0.16
+* Fix logging imports.
+* Add logging of exception tracebacks to exception_middleware.
+* Add logging about HTTP requests.
+* Set request scheme for parent API Gateway urls depending on current protocol.
+
+### 0.0.15
+* Add a CognitoAccessToken for parsing access token information provided by the API Gateway using Cognito authorizer.
+
+### 0.0.14
+* Add a LoggingManager for setting up logging configuration
+
+### 0.0.13
+* Add custom JSON encoder with support for decimal.Decimal encoding
+
+### 0.0.12
+* Implement API Gateway body parsing.
+
+### 0.0.11
+* Fix imports.
+
+### 0.0.10
+* Implement exceptions.
+
+### 0.0.9
+* Fix api gateway url.
+
+### 0.0.8
+* Add xml to dict converter utility. No dependencies.
+
+### 0.0.7
+* Fix imports.
+
+### 0.0.6
+* Add ability to check whether singleton was initialized.
+
+### 0.0.5
+* Remove description.
+
+### 0.0.4
+* Do not create an extra stack.
+
+### 0.0.3
+* Add safe initialization.
+
+### 0.0.2
+* Add Layer class and Singleton.
+
+### 0.0.1
+* Initial build.
+
+
+
+%prep
+%autosetup -n b-lambda-layer-common-4.4.0
+
+%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-b-lambda-layer-common -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 4.4.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..0fca65a
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+5e247f82aaa065e2f3a1aedee28c912f b_lambda_layer_common-4.4.0.tar.gz