simple-lambda
simple-lambda is a script that wraps around uv to publish simple scripts to AWS Lambda.
The core idea surrounds PEP-723 inline metadata scripts which uv has great support for.
Prerequisites
Installation
Optional installation as a tool.
uv tool install simple-lambda
Use uvx simple-lambda if you don't want to install it as a tool.
Usage
Deploying a package
Usage: simple-lambda deploy [OPTIONS] FUNCTION_NAME FILE_PATH
╭─ Arguments ─────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ * function_name TEXT [required] │
│ * file_path FILE Path to the main Python file containing the Lambda function handler. [required] │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Define the lambda function first via the UI or using something like terraform.
Create a script locally:
touch my_code.py
Add dependencies using UV:
uv add --script my_code.py requests
Optionally lock dependencies using UV:
uv lock --script my_code.py
Once you finish adding your code to the file. You can now deploy it:
uvx simple-lambda deploy lambda_function_name my_code.py
simple-lambda will automatically handle the dependencies based on the architecture and the runtime defined for the lambda function.
Build package only
If you only want to build the zip file, you can use the build command. You will however need to specify the architecture and python version.
Usage: simple-lambda build [OPTIONS] FILE_PATH
╭─ Arguments ─────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ * file_path FILE Path to the main Python file containing the Lambda function handler. [required] │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ * --architecture [x86_64|arm64] The target architecture of the lambda. [required] │
│ --output FILE Path to the output .zip file. [default: deployment_package.zip] │
│ --python-version TEXT The Python version for the Lambda deployment package. [default: 3.13] │
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Metadata
Release files for simple-lambda 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| simple_lambda-0.1.0.tar.gz | 8.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simple_lambda-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.7 kB
Release files / simple_lambda-0.1.0.tar.gz
| Download URL | simple_lambda-0.1.0.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
658e18bc8600be3db317c89773ee2db032fc695ada5345c45168ae41a86ef251
|
|
BLAKE2b-256 checksum How to use checksums |
34b631aa8292c67698ce145863783c31c9662fc91bab221356c2e69e57bba8ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 30, 2025.
Transparency logRelease files / simple_lambda-0.1.0-py3-none-any.whl
| Download URL | simple_lambda-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
52065c5e57b95d34f9c330827f0d8cb90643d513434cb6884caa94a274360013
|
|
BLAKE2b-256 checksum How to use checksums |
a6e6788fcbf75c78bd0ba7ae11ecd83a535a37ee15a8f42b699a15e5c49bde49
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 30, 2025.
Transparency log