JSPM

  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q38467F
  • License LGPL-3.0-or-later

Serverless Python Requirements Plugin

Package Exports

  • sls-py
  • sls-py/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sls-py) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

sls-py

sls-py

plugins:
  - sls-py
provider:
  name: aws
  runtime: python3.9
  region: eu-west-1
  vpc:
    subnetIds: !Split [",", "subnet-id1,subnet-id2"]
    securityGroupIds: !Split [",", "sg-id1,sg-id2"]
custom:
  pythonRequirements:
    # shared properties across all lambda functions
    enableLambdaInsights: true
    vpc: ${self:provider.vpc}
    timeout: 900
    # pip arguments for dependency installation
    indexUrl: https://pypi.org/simple
    extraIndexUrl: https://pypi.org/simple
    trustedHost: pypi.org
    # common modules between all lambda functions
    shared:
      common_utils: ../shared
      common_data: ../data
    # files and directories to exclude
    exclude:
      - somefile.txt
      - data.tmp


functions:
  hello:
    handler: handler.hello

Note

filter using the exclude option.

In handler.py, shared code can be imported like this:

from common_utils import shared_resource

Requirements


  • python & pip installed
  • minimum required node version >= 16

Features

  • shared is attached to all the lambdas.
    • you can place repeated dependencies inside your shared layer to:
      • save space.
      • reduce cold startup time.
      • much faster deployments.
  • exclude works for excluding code and dependencies alike.

License: lgpl-3.0 or later