CLI tool for creating and publishing AWS Lambda layers for Node.js and Python.
Project description
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-cli
uv (Python)
uv tool install aws-lambda-layer-cli
Requirements
- 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 arm64
Note: 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.whl
Note: 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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aws_lambda_layer_cli-2.2.0.tar.gz.
File metadata
- Download URL: aws_lambda_layer_cli-2.2.0.tar.gz
- Upload date:
- Size: 26.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3c21cc05246b4f213d930db059cd91cc865d3aa69afd9b249641c94577212d6
|
|
| MD5 |
c1111e8a97cb9ad87c3a6ce6c4122672
|
|
| BLAKE2b-256 |
82b905d97e33ba287b386b6737c73d95f7888cc7c8f5fc41e4c47ca7bbb412ae
|
File details
Details for the file aws_lambda_layer_cli-2.2.0-py3-none-any.whl.
File metadata
- Download URL: aws_lambda_layer_cli-2.2.0-py3-none-any.whl
- Upload date:
- Size: 32.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00de652eecd8dcce08a54861c21587d5640638fc826e901e395481e9141c6015
|
|
| MD5 |
b56e071c869166930ff3a821e22cd886
|
|
| BLAKE2b-256 |
4f2a3518ebca18bd1e23d8cdbf785f6719c06118fe3d74bf02e48f47a553dab3
|