Package Exports
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 (aws-lambda-layer-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
AWS Lambda Layer CLI Tool
A command-line tool for creating and publishing AWS Lambda layers for Node.js and Python.
Features
- Effortless Publishing: Create and publish Node.js and Python layers in a single command
- Smart Compatibility: Auto-selects the right Linux binaries for Amazon Linux 2 or 2023
- Cross-Architecture: Native support for
x86_64andarm64builds - Auto-Versioning: Automatically handles layer naming and version increments
Installation
Package Managers (Recommended)
npm (Node.js)
npm i -g aws-lambda-layer-cliuv (Python)
uv tool install aws-lambda-layer-cliRequirements
- System: Linux, macOS, or Windows (WSL recommended)
- Tools:
zip,aws-cli(for publishing),node(for Node.js layers),python(for Python layers)
Usage
aws-lambda-layer-cli <command> [options]Commands
zip: Create a local zip filepublish: Create and publish a layer to AWScompletion: Generate shell completion scriptsuninstall: Uninstall the toolhelp: Show help message
Options
| Option | Description |
|---|---|
--nodejs, -n <pkgs> |
Create Node.js layer (comma-separated packages) |
--python, -p <pkgs> |
Create Python layer (comma-separated packages) |
--wheel, -w <file> |
Use with --python to create layer from .whl file |
--name |
Custom layer name |
--description |
Layer description (publish only) |
--profile |
AWS CLI profile (publish only) |
--region |
AWS region (publish only) |
--architecture, -a |
Target architecture (x86_64 or arm64) |
--node-version |
Node.js version (default: 24) |
--python-version |
Python version (default: 3.14) |
-v, --version |
Show version |
Examples
Node.js
# Create local zip with multiple packages
aws-lambda-layer-cli zip --nodejs express@4.18.2,axios --name my-layer
# Publish to AWS with specific profile and region
aws-lambda-layer-cli publish --nodejs lodash --profile prod --region us-east-1 --description "Utils"Python
# Create local zip with specific python version and architecture
aws-lambda-layer-cli zip --python numpy==1.26.0,pandas --python-version 3.12 --architecture arm64
# Publish to AWS for ARM64 architecture
aws-lambda-layer-cli publish --python requests --name web-layer --architecture arm64Note: This tool automatically selects the optimal platform based on the Python version:
- Python 3.12+ (Amazon Linux 2023): Targets
manylinux_2_28(GLIBC 2.28+)- Python 3.11- (Amazon Linux 2): Targets
manylinux2014(GLIBC 2.17+)
Wheel File
The tool auto-detects Python version and architecture from the wheel filename.
# Create local zip from wheel (preferred syntax)
aws-lambda-layer-cli zip --python --wheel numpy-2.4.1-cp313-cp313-manylinux.whl
# Publish directly from wheel
aws-lambda-layer-cli publish --python --wheel pandas-2.1.0-cp311-...-x86_64.whlNote: For wheels, arguments like
--python-versionor--architectureare checked against the wheel metadata. If they conflict, the tool will error to prevent incompatibility.
Shell Completion
Add to your shell config (~/.bashrc or ~/.zshrc):
# Bash
source <(aws-lambda-layer-cli completion --bash)
# Zsh
source <(aws-lambda-layer-cli completion --zsh)License
MIT License
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.