Skip to main content

layer-builder

Simple library that supports building AWS Lambda layers as part of your AWS CDK build process. Cross-platform (supports both Win and Mac), targeting both x86 and ARM chips, and based on you existing requirements.txt.

Build from requirements

Using this library, you can build a layer containing the packages defined in a requirements.txt file in your AWS CDK pipeline (or other tools). The packages are installed in a local directory using the appropriate platform target.

Wherever possible we attempt to limit the size of the resulting layer by removing any packages that are already native to Lambda (boto, six, future, etc.) or otherwise unnecessary. additional_commands and cleanup_function parameters can be used to further reduce the size of the package by removing any unnecessary libraries.

from layer_builder import build_from_requirements
from constructs import Construct
from aws_cdk import Stack, aws_lambda as aws_lambda

class LayerStack(Stack):

    def __init__(
        self,
        scope: Construct,
        construct_id: str,
        **kwargs,
    ) -> None:
        super().__init__(scope, construct_id, **kwargs)
        
        build_from_requirements(
            "../../requirements.txt", # The packages to install
            "./build/layer", # Where to place the layer packages
            max_mb=20, # Check if the size of the layer is larger than expected
            clean=True, # Delete previous install
            graviton=True, # Specify targeting ARM architecture
        )
        self.my_layer = aws_lambda.LayerVersion(
            self,
            "my-layer",
            compatible_runtimes=[aws_lambda.Runtime.PYTHON_3_13],
            compatible_architectures=[aws_lambda.Architecture.ARM_64],
            code=aws_lambda.Code.from_asset("./build/layer"),
        )

Metadata

Release files for layer-builder 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for layer-builder 0.1.1
File Size Uploaded
layer_builder-0.1.1.tar.gz 3.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for layer-builder 0.1.1
File Interpreter ABI Platform
layer_builder-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 6.6 kB

Release files / layer_builder-0.1.1.tar.gz

Download URL layer_builder-0.1.1.tar.gz
Size 3.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bd8fbde3a285f95d08fd628e618cb05dc2736864a96be89a9ec8e7c7da5bddf4
BLAKE2b-256 checksum
How to use checksums
426f71d736308b6b52d279292b7f2404e9bb868006deeea35d813ae826983ea6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.0 CPython/3.13.5 Windows/11

Release files / layer_builder-0.1.1-py3-none-any.whl

Download URL layer_builder-0.1.1-py3-none-any.whl
Size 3.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
da36053d9e0b70c7ba91cf9ebef3dec2c18776ae7f70756e4d982a31c818489e
BLAKE2b-256 checksum
How to use checksums
50c15c04daa7eafb5dbe6655ce10190366c828658f3e8fbe50fe814922977a82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.0 CPython/3.13.5 Windows/11

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page