Skip to content

Replace usage of PIP with UV #1720

@philipanda

Description

@philipanda

The problem you're addressing (if any)

PIP is very slow - setting up the venv from cache on OSFV runner takes a minute https://github.com/Dasharo/open-source-firmware-validation/actions/runs/20232237074/job/58077854391

its better on stronger computers. my laptop:

time (virtualenv venv && source venv/bin/activate && pip install -r requirements.txt &> /dev/null )
14.97s user 1.28s system 84% cpu 19.263 total

vs using uv:

time (uv venv --python=3.13 && uv pip install -r requirements.txt &>/dev/null)
0.23s user 0.89s system 244% cpu 0.461 total

Pip is often unreliable Dasharo/open-source-firmware-validation#988 (comment)

Describe the solution you'd like

https://github.com/astral-sh/uv

uv is fast https://github.com/astral-sh/uv/blob/main/BENCHMARKS.md

As for the reliability, it's something to verify on our end. I never had any issues with uv personally, but I've been using it for just a couple months.

Where is the value to a user, and who might that user be?

Faster CI runs.
Less time wasted on updating python packages

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions