Skip to main content

A simple, per-project AWS Lambda Layer manager.

Project 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

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

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:

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

awslayer-manager-1.0.14.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

awslayer_manager-1.0.14-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file awslayer-manager-1.0.14.tar.gz.

File metadata

  • Download URL: awslayer-manager-1.0.14.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for awslayer-manager-1.0.14.tar.gz
Algorithm Hash digest
SHA256 722df8ef3833364543e7981c21aecbd14eb16b685389ef2a672d72804167c261
MD5 4e68961df8dffdfcbde449a1c2e5afe0
BLAKE2b-256 f8dabc38b67b1f8581f01f352ab502ce45a66acb8c06e788b2527a493723cc6c

See more details on using hashes here.

File details

Details for the file awslayer_manager-1.0.14-py3-none-any.whl.

File metadata

  • Download URL: awslayer_manager-1.0.14-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for awslayer_manager-1.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 fde5b937c193ff5e2696c1f378ebd70dbc6bdecc2336a560bc924c6eae866577
MD5 2201628da8b1f451891538ecdf247ecd
BLAKE2b-256 7c977d5eaa7ccd443064e1e5fbe9ff39ab987af03272d46d49b7d88c1e809dec

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page