-
-
Notifications
You must be signed in to change notification settings - Fork 699
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for uv to package python lambda function #654
Comments
On the similar spirit, I would go further and suggest using esbuild for Nodejs code. |
Instead of providing first-class support for tools like UV, esbuild, and whatever comes next week, I would prefer us to have a standard way to extend this module with some kind of plugin mechanism where usage of such tool is more externalized than it is now (single python script does it all). Ideally, I think, |
Definitely agree on the induced module complexity with different runtimes and packaging methods. I have used with this module in the past to deploy multiple Nodejs and Python lambda functions. Configuring the source_paths is difficult in the current state. Even when you finally are able to configure it, you see awful logs from the I have a solution to this - let's create new Terraform modules responsible for creating Runtime-specific deployment zips. The Terraform AWS Lambda module would just be a consumer of the zip file. This approach is similar to setting |
Please see this Nodejs typescript monorepo example I have created for a project. https://github.com/pavi2410/aws-lambda-nodejs-typescript-monorepo |
Is your request related to a new offering from AWS?
No 🛑 , this is related to using an alternative Python package installer (UV) that would improve the efficiency and reliability of Lambda deployments.
Is your request related to a problem? Please describe.
The current process of installing Python dependencies for AWS Lambda functions using pip can be slow and sometimes unreliable. Common issues include:
Describe the solution you'd like.
Add support for using UV (https://github.com/astral-sh/uv) as an alternative Python package installer in the Lambda module. UV is a new, extremely fast package installer written in Rust that offers:
The module could support UV through:
Describe alternatives you've considered.
However, native module support would provide a much better developer experience and ensure consistent behavior across teams.
Additional context
UV has gained significant adoption in the Python community due to its performance benefits. Companies like Datadog have reported significant improvements in their Python dependency management after switching to UV. Supporting UV in the Terraform AWS Lambda module would align with the community's move toward more efficient Python tooling and improve the developer experience for teams building Lambda functions.
The text was updated successfully, but these errors were encountered: