Migrate to use uv as dependency manager - #170
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR migrates the project to use uv as the dependency manager, replacing pip for package management and installation. The migration introduces more sophisticated dependency grouping and version pinning strategies.
- Replaces pip-based installation with uv sync commands across all CI workflows
- Restructures pyproject.toml with dependency groups instead of optional dependencies
- Adds comprehensive PyTorch, training, and agent-related dependency configurations
Reviewed Changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/check_python_install.sh | New script to verify Python, pip, and uv installations |
| pyproject.toml | Major restructuring from optional-dependencies to dependency-groups with uv-specific configuration |
| .python-version | Specifies Python 3.12 as the project version |
| .pre-commit-config.yaml | Excludes uv.lock from large file checks |
| .github/workflows/tests.yml | Updates all CI jobs to use uv instead of pip for dependency management |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| ] | ||
| dependency-metadata = [ | ||
| # This version of litellm is used specifically for legacy group. | ||
| # There's conflict between the litellm's dependant openai version and vllm's openai version. |
There was a problem hiding this comment.
Corrected spelling of 'dependant' to 'dependent'.
| # There's conflict between the litellm's dependant openai version and vllm's openai version. | |
| # There's conflict between the litellm's dependent openai version and vllm's openai version. |
| # It's not recommended to use agentlightning[verl] to install VERL and its dependencies. | ||
| # though it's listed here for completeness. |
There was a problem hiding this comment.
The comment about agentlightning[verl] appears outdated since the verl optional dependency has been moved to dependency groups. This comment should be updated to reflect the new uv dependency group structure or removed if no longer applicable.
| # It's not recommended to use agentlightning[verl] to install VERL and its dependencies. | |
| # though it's listed here for completeness. |
| ] | ||
| dependency-metadata = [ | ||
| # This version of litellm is used specifically for legacy group. | ||
| # There's conflict between the litellm's dependant openai version and vllm's openai version. |
There was a problem hiding this comment.
The dependency-metadata override for litellm pins openai to version 1.90.0 to resolve conflicts, but this creates a maintenance burden. Consider documenting why this specific version is required and establishing a process to regularly review if this override is still necessary.
| # There's conflict between the litellm's dependant openai version and vllm's openai version. | |
| # Dependency override rationale: | |
| # - litellm requires openai>=1.0.0,<2.0.0, but vllm requires openai==1.90.0. | |
| # - To resolve this conflict, we pin openai to 1.90.0 for litellm[proxy]. | |
| # - This may prevent us from receiving updates or security patches for openai. | |
| # - REVIEW PROCESS: Review this override before each release and whenever updating litellm or vllm dependencies. | |
| # Check if the conflict still exists and if the pin can be removed or updated. | |
| # See: https://github.com/BerriAI/litellm/issues and https://github.com/vllm-project/vllm/issues for upstream changes. | |
| # TODO: Remove this override if/when litellm and vllm support compatible openai versions. |
bb3946c to
92e9028
Compare
No description provided.