%global _empty_manifest_terminate_build 0 Name: python-awslayer-manager Version: 1.0.14 Release: 1 Summary: A simple, per-project AWS Lambda Layer manager. License: MIT URL: https://www.example.com Source0: https://mirrors.aliyun.com/pypi/web/packages/f8/da/bc38b67b1f8581f01f352ab502ce45a66acb8c06e788b2527a493723cc6c/awslayer-manager-1.0.14.tar.gz BuildArch: noarch Requires: python3-cursor %description # awslayer-manager This is a simple tool that helps you build and upload your project requirements as an AWS Lambda Layer. It extracts the requirements from your Pipfile and installs them into a separate directory which it is then deployed from. This package also supports working with the high performance `mysqlclient` library by compiling it inside a docker container that closely mimics the AWS Lambda environment and deploying it with the layer. ## Installation To install this package, run ```bash pip install awslayer-manager ``` ### Requirements - Requires your project to be using the `Serverless` framework. - This package requires `Docker` to build requirements to avoid compilation issues. ## Running To initialize the layer run ```bash awslayer ``` in the project directory. This will extract requirements from your Pipfile and create a serverless.yml inside the layer directory. Once the layer is initialized, it will install all the requirements inside the `layers/package` directory and deploy it using `sls deploy` the layer to the specified environment (dev by default). To change the deployment environment use the `--env` option. Currently supports `dev`, `stage`, and `prod` environments. Once that is done, add the following (omit square brackets) for each function in your project's serverless.yml: ```YAML functions: func-name: handler: src/handler.func-name layers: - "${cf:[stack-name].[ServiceName]LayerLambdaLayerQualifiedArn}" ``` where you can find the "[ServiceName]LayerLambdaLayerQualifiedArn" identifier in the CloudFormation stack. **NOTE:** This package will create a `.layer` directory inside your project which I recommend adding to your .gitignore file as it is fairly heavy (depending on the size of your requirements). The script, however, will try to clean up to the best of its ability. ## Contributing Pull requests are welcome. %package -n python3-awslayer-manager Summary: A simple, per-project AWS Lambda Layer manager. Provides: python-awslayer-manager BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-awslayer-manager # awslayer-manager This is a simple tool that helps you build and upload your project requirements as an AWS Lambda Layer. It extracts the requirements from your Pipfile and installs them into a separate directory which it is then deployed from. This package also supports working with the high performance `mysqlclient` library by compiling it inside a docker container that closely mimics the AWS Lambda environment and deploying it with the layer. ## Installation To install this package, run ```bash pip install awslayer-manager ``` ### Requirements - Requires your project to be using the `Serverless` framework. - This package requires `Docker` to build requirements to avoid compilation issues. ## Running To initialize the layer run ```bash awslayer ``` in the project directory. This will extract requirements from your Pipfile and create a serverless.yml inside the layer directory. Once the layer is initialized, it will install all the requirements inside the `layers/package` directory and deploy it using `sls deploy` the layer to the specified environment (dev by default). To change the deployment environment use the `--env` option. Currently supports `dev`, `stage`, and `prod` environments. Once that is done, add the following (omit square brackets) for each function in your project's serverless.yml: ```YAML functions: func-name: handler: src/handler.func-name layers: - "${cf:[stack-name].[ServiceName]LayerLambdaLayerQualifiedArn}" ``` where you can find the "[ServiceName]LayerLambdaLayerQualifiedArn" identifier in the CloudFormation stack. **NOTE:** This package will create a `.layer` directory inside your project which I recommend adding to your .gitignore file as it is fairly heavy (depending on the size of your requirements). The script, however, will try to clean up to the best of its ability. ## Contributing Pull requests are welcome. %package help Summary: Development documents and examples for awslayer-manager Provides: python3-awslayer-manager-doc %description help # awslayer-manager This is a simple tool that helps you build and upload your project requirements as an AWS Lambda Layer. It extracts the requirements from your Pipfile and installs them into a separate directory which it is then deployed from. This package also supports working with the high performance `mysqlclient` library by compiling it inside a docker container that closely mimics the AWS Lambda environment and deploying it with the layer. ## Installation To install this package, run ```bash pip install awslayer-manager ``` ### Requirements - Requires your project to be using the `Serverless` framework. - This package requires `Docker` to build requirements to avoid compilation issues. ## Running To initialize the layer run ```bash awslayer ``` in the project directory. This will extract requirements from your Pipfile and create a serverless.yml inside the layer directory. Once the layer is initialized, it will install all the requirements inside the `layers/package` directory and deploy it using `sls deploy` the layer to the specified environment (dev by default). To change the deployment environment use the `--env` option. Currently supports `dev`, `stage`, and `prod` environments. Once that is done, add the following (omit square brackets) for each function in your project's serverless.yml: ```YAML functions: func-name: handler: src/handler.func-name layers: - "${cf:[stack-name].[ServiceName]LayerLambdaLayerQualifiedArn}" ``` where you can find the "[ServiceName]LayerLambdaLayerQualifiedArn" identifier in the CloudFormation stack. **NOTE:** This package will create a `.layer` directory inside your project which I recommend adding to your .gitignore file as it is fairly heavy (depending on the size of your requirements). The script, however, will try to clean up to the best of its ability. ## Contributing Pull requests are welcome. %prep %autosetup -n awslayer-manager-1.0.14 %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-awslayer-manager -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Jun 20 2023 Python_Bot - 1.0.14-1 - Package Spec generated