Migrate from pip/venv to UV package manager - #5
Conversation
- Add pyproject.toml with project dependencies - Update CI workflow to use UV for dependency installation - Update documentation (DEV-SETUP.md, svc/README.md, CONTRIBUTING.md) with UV instructions - Keep requirements.txt for backward compatibility - Add uv.lock for reproducible builds
There was a problem hiding this comment.
Pull Request Overview
This PR migrates the project from using pip and venv to UV as the package manager, while maintaining backward compatibility with the legacy setup. The key changes include adding a pyproject.toml file, generating a uv.lock lockfile for reproducible dependencies, and updating documentation across the repository to reflect the new UV-based workflow as the recommended approach.
- Added UV package manager support with
pyproject.tomlanduv.lock - Updated documentation to promote UV as the recommended installation method while preserving legacy pip/venv instructions
- Fixed a test assertion to correctly expect 20 panels instead of 22
Reviewed Changes
Copilot reviewed 7 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| svc/uv.lock | Generated lockfile with pinned dependency versions for reproducibility |
| svc/pyproject.toml | New project configuration file defining dependencies and build system |
| svc/requirements.txt | Added comments indicating UV migration and backward compatibility |
| svc/tests/test_basic.py | Fixed panel count assertion from 22 to 20 |
| svc/README.md | Added UV installation instructions as primary method with legacy pip/venv as alternative |
| DEV-SETUP.md | Restructured to present UV setup first, followed by legacy pip/venv instructions |
| CONTRIBUTING.md | Updated contribution workflow to use UV commands |
| .gitignore | Updated comment to recommend tracking uv.lock for applications |
| .github/workflows/ci.yml | Updated CI workflow to use UV for dependency installation and testing |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -19,7 +19,7 @@ def test_list_panels_groups(): | |||
| panels = r1.json() | |||
| groups = r2.json() | |||
| # 22 total: 20 facade and 2 skylights | |||
There was a problem hiding this comment.
The comment on line 21 states '22 total: 20 facade and 2 skylights' but the assertion now checks for 20 panels. This comment is misleading and should be updated to match the corrected assertion, or explain why skylights are no longer counted.
| # 22 total: 20 facade and 2 skylights | |
| # Only facade panels are returned here (20 total); skylights are not included in this count |
…t there is only 18 actually
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 10 out of 12 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
CarlosVasquez04
left a comment
There was a problem hiding this comment.
Everything looks good. Id says its ready to merge.
Summary
Migrate from Pip/Venvs to UV for better package management and faster deployment.
Type
Testing
Ran both front-end and backend with the new package management and environment to ensure they still behave properly.
Risk and rollout
No risks involved, just a more efficient package manager
Checklist