Skip to main content

uv-python-lambda

Project description

uv-python-lambda

CDK Construct for Python Lambda Functions using uv

Goals

  • ⚡️ Package and deploy Lambda Functions faster with uv's speed
  • 📦 Support workspaces in a monorepo with uv workspaces

uv-python-lambda is based on aws-lambda-python-alpha with some differences:

  • It only supports uv for packaging - there is no Poetry or pip support
  • It supports workspaces so you can build multiple Lambda functions from different uv workspaces and have their dependencies included correctly. This is useful for, but not limited to, monorepos.

API

See API.md

Example

from uv_python_lambda import PythonFunction
from constructs import Construct

# The root path should be relative to your CDK source file
root_path = Path(__file__).parent.parent.parent


class CdkStack(Stack):
    def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
        super().__init__(scope, construct_id, **kwargs)

        fn = PythonFunction(
          self,
          "fn",
          root_dir=str(root_path),
          index="fetcher_lambda.py",
          workspace_package="fetcher",  # Use a workspace package as the top-level Lambda entry point.
          handler="handle_event",
          bundling={
              "asset_excludes": [
                  ".venv/",
                  "node_modules/",
                  "cdk/",
                  ".git/",
                  ".idea/",
                  "dist/",
              ]
          },
          timeout=Duration.seconds(30),
        )

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

uv_python_lambda-0.0.5.tar.gz (78.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uv_python_lambda-0.0.5-py3-none-any.whl (77.9 kB view details)

Uploaded Python 3

File details

Details for the file uv_python_lambda-0.0.5.tar.gz.

File metadata

  • Download URL: uv_python_lambda-0.0.5.tar.gz
  • Upload date:
  • Size: 78.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for uv_python_lambda-0.0.5.tar.gz
Algorithm Hash digest
SHA256 25b186ebd2c87dcbc26edcc14487f5b207ed467e336499103adf2dea362e4d16
MD5 1ca4815a96514439b1942f2315e07e0f
BLAKE2b-256 9c56ab4e5b04675f87f4bab557f85d5959810b04602f1e947a60bc3b47934f63

See more details on using hashes here.

File details

Details for the file uv_python_lambda-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for uv_python_lambda-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 451ce019b026a07ebe5db695e83ec74ab5685da3423e64fc176ae042eb3e20e1
MD5 6780aad09c7eec745490b3884393d020
BLAKE2b-256 3bf7312fa817e03337ae267292fdc2a8a2265e67e030f762c24b65fbd0b1b36e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page