Feature request
Adopt uv as the standard Python environment and dependency manager for verl. This includes resolving existing dependency conflicts and migrating from pip to uv across the project.
Motivation
uv offers faster installs and reproducible environments, but uv sync requires the full dependency tree to resolve cleanly. Currently it fails due to dependency conflicts such as:
pyext==0.7 is incompatible with Python >= 3.12 (uses removed inspect.getargspec)
sglang and vllm optional dependencies have conflicting torchaudio version requirements
- There may be other undiscovered conflicts
These conflicts also affect pip users but are silently ignored — uv surfaces them explicitly.
Your contribution
Attempted in #5846 but reverted — needs dedicated work to:
- Audit and resolve all dependency conflicts in
setup.py / pyproject.toml
- Fix or replace incompatible dependencies (e.g.,
pyext)
- Add PEP 735
[dependency-groups] (e.g., dev group for pre-commit, py-spy, hydra-core)
- Update CI workflows and docs to use
uv
Feature request
Adopt
uvas the standard Python environment and dependency manager for verl. This includes resolving existing dependency conflicts and migrating frompiptouvacross the project.Motivation
uvoffers faster installs and reproducible environments, butuv syncrequires the full dependency tree to resolve cleanly. Currently it fails due to dependency conflicts such as:pyext==0.7is incompatible with Python >= 3.12 (uses removedinspect.getargspec)sglangandvllmoptional dependencies have conflictingtorchaudioversion requirementsThese conflicts also affect
pipusers but are silently ignored —uvsurfaces them explicitly.Your contribution
Attempted in #5846 but reverted — needs dedicated work to:
setup.py/pyproject.tomlpyext)[dependency-groups](e.g.,devgroup for pre-commit, py-spy, hydra-core)uv