build: always use uv for dependency management #265
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Modifies the build tooling to always use
uv pip
instead ofpip
anduv build
instead ofpython -m build
.Additional checks are added to ensure that
uv
exists on the system. Ifuv
does not exists, then it is installed viapip
. Ifpip
is not installed, it is installed viapython -m ensurepip
. Thepip
check is required for a virtual environment created byuv venv
since by default,uv venv
does not installpip
.The UV_SYSTEM_PYTHON environment variable is set in CI and Docker to force
uv
to use the system Python environment instead of depending on a virtual environment. See https://docs.astral.sh/uv/configuration/environment/This reduces the execution time of
make
from 22s to 5s on my machine without a Pip cache. With a hydrated PIp cache, the execution time is reduced from 8s to 2s.