Skip to content

Migrate from pip/venv to UV package manager - #5

Merged
tylerlv3 merged 5 commits into
mainfrom
feature/migrate-to-uv
Nov 7, 2025
Merged

Migrate from pip/venv to UV package manager#5
tylerlv3 merged 5 commits into
mainfrom
feature/migrate-to-uv

Conversation

@tylerlv3

@tylerlv3 tylerlv3 commented Nov 5, 2025

Copy link
Copy Markdown
Collaborator
  • 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

Summary

Migrate from Pip/Venvs to UV for better package management and faster deployment.

Type

  • Feature
  • Fix
  • Docs
  • Chore

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

  • Issue linked if applicable
  • Added or updated docs
  • CI green
  • At least one reviewer not the author

- 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
@tylerlv3
tylerlv3 requested a review from Copilot November 6, 2025 08:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.toml and uv.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.

Comment thread svc/tests/test_basic.py Outdated
@@ -19,7 +19,7 @@ def test_list_panels_groups():
panels = r1.json()
groups = r2.json()
# 22 total: 20 facade and 2 skylights

Copilot AI Nov 6, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
# 22 total: 20 facade and 2 skylights
# Only facade panels are returned here (20 total); skylights are not included in this count

Copilot uses AI. Check for mistakes.
@tylerlv3
tylerlv3 requested a review from Copilot November 6, 2025 22:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread DEV-SETUP.md Outdated
Comment thread svc/svc/data/window_mapping.json Outdated
Comment thread CONTRIBUTING.md Outdated
tylerlv3 and others added 3 commits November 6, 2025 14:55
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 CarlosVasquez04 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks good. Id says its ready to merge.

@tylerlv3
tylerlv3 merged commit d7dbbeb into main Nov 7, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants