aws / aws/aws-pdk

[FEATURE] Consider `uv` for Python projects

Open
#914 3 comments 0 reactions 0 assignees View on GitHub
backlog feature-request needs-triage
Dominant language
TypeScript
Stars
451
Forks
84
Avg merge
20h 3m
Merged PRs (30d)
1

Description

### Describe the feature

Just wanted to give you a heads up about a `uv` feature I recently tried: [workspaces](https://docs.astral.sh/uv/concepts/projects/workspaces/). Since PDK makes multiple projects in one, then `uv` workspaces would help manage the dependencies. For example, it can upgrade the root and all workspaces as well as install all deps from workspaces via `uv sync --all-packages`. This works well with IDEs because all the dependencies are in one virtualenv.

The `uv` docs also include how to [bundle Lambdas](https://docs.astral.sh/uv/guides/integration/aws-lambda/#deploying-a-zip-archive). This works inside workspaces as well.

### Use Case

Improve developer experience for monorepo Python projects.

### Proposed Solution

`uv` workspaces as mentioned above.

### Other Information

_No response_

### Acknowledgements

- [ ] I may be able to implement this feature request
- [x] This feature might incur a breaking change

### PDK version used

unknown

### What languages will this feature affect?

Python

### Environment details (OS name and version, etc.)

macOS

Contributor guide

Open the contributing guide

Research direction

No files or tests are named. Start by locating PDK's Python project and monorepo configuration, then assess how uv workspaces and the documented AWS Lambda bundling flow would fit. Done should include a decided integration approach, its breaking-change implications, and updated project behavior or documentation.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.