-
Notifications
You must be signed in to change notification settings - Fork 47
Consolidate Dependencies and make UV default #99
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
Consolidate Dependencies and make UV default #99
Conversation
d9d8d54 to
9650ba2
Compare
|
This branch also does not build due to lint errors reported by publish script |
09b00b0 to
0322ee3
Compare
|
just fixed it |
|
please verify (1) that scope of changes is not greater than intended, and (2) that you can sucessfully make lint, make test, publish, and deploy new stack (pattern-1,2,3) from this branch.. Many tx! |
314b9f7 to
42d5b34
Compare
|
@rstrahan yes the scope of the PR is right, we had a lot of requirements.txt across the codebase |
d3d0a33 to
bed265b
Compare
bed265b to
ecc0d87
Compare
b028d29 to
3dc53bf
Compare
8ceaa1b to
dc3ddb8
Compare
9ddc0d3 to
19a002b
Compare
19a002b to
371ad51
Compare
371ad51 to
c6af670
Compare
c6af670 to
f2cec3b
Compare
|
This one will need to be redone.. 143 changed files (unreviewable).. many conflicts.. Let's close, and resurrect it in a new clean targeted PR when we are ready to prioritize. |


Issue #, if available:
Complete UV Migration & Dependency Consolidation
Summary
This PR completes the migration from pip/requirements.txt to UV with PEP 735 dependency groups
across the entire project. All Lambda functions, CI/CD pipelines, and development workflows now
use UV for faster, more reliable dependency management.
Key Changes
🎯 Dependency Management Migration
requirements.txtto UV dependency groupspyproject.tomlfor Lambda functions:lambda-kb-*)lambda-bda-project)udop-finetuning-dev)BuildMethod: makefilemetadata🚀 CI/CD Pipeline Updates
uv sync --no-devfor reproducible builds📦 Package Consolidation
pyproject.tomluv.lock) for entire project ensures consistency📝 Documentation & Cleanup
idp_cli/README.mdwith UV-first approachBenefits
⚡ Performance Improvements
🔒 Reliability & Reproducibility
pyproject.toml🛠️ Developer Experience
make initsets up entire workspace📊 Maintainability
Migration Details
Lambda Functions Migrated
Files Changed
• 16 files modified
• 404 lines added (dependency groups, Makefiles, docs)
• 40 lines removed (obsolete requirements.txt)
• Net improvement: Better structure with similar line count
Remaining requirements.txt (Intentional)
Two requirements.txt files correctly remain:
• Required by SageMaker - cannot be migrated
• Properly documented with comments
• References dependency group in comments
• Provides pip fallback for users
Backwards Compatibility
• ✅ No breaking changes to Lambda runtime behavior
• ✅ SAM build process unchanged (still uses Makefiles)
• ✅ Deployment process identical for end users
• ✅ Published packages (idp_common, idp_cli) work as before
Migration Path for Developers
Before (pip/requirements.txt)
pip install -r requirements.txt
pip install -e lib/idp_common_pkg
pip install -e idp_cli
After (UV/dependency groups)
make init # or: uv sync --all-extras --group dev
Future Improvements Enabled
This migration enables several future enhancements:
• ✅ Faster dependency updates: uv lock --upgrade updates everything
• ✅ Better conflict resolution: UV's resolver handles complex scenarios
• ✅ Workspace features: Could add more packages to workspace
• ✅ Pre-built wheels: UV can leverage Python 3.12+ speed improvements
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.