use uv tool for PyAV - #2398
Merged
Merged
Conversation
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Rework the workflow scripts to use uv, which is generally faster and supports more architectures and features than default Python tooling. The changes involve: 1. Use setup-uv instead of setup-python. The two actions are similar, but setup-uv supports more architectures (e.g. riscv64), so use it instead. Compared to setup-python, the `activate-enviroment` must be specified for the desired version to automatically configure it (except for armv7 jobs, to stay more consistent with existing behaviour). `allow-prereleases` is now handled via pyproject.toml, so we don't need that either. 2. 'uv pip' instead of 'pip' everywhere. Use '--seed' where necessary to ensure that created venvs contain pip. 3. Using uv for the cibuildwheel frontend in tests.yml. Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
uv is an all-in-one Python management tool written in Rust, which provides equivalents for
pip,venvmanagement, and so on. It's also much faster in general and supports more architectures (notably, riscv64) with setup-uv. This patch series reworks the PyAV repository to useuveverywhere, with the hope that it will simplify further development.This is being done on behalf of RISE as a precursor to adding riscv64 support for PyAV using RISE's RISC-V Runners. Simpler riscv64 support was recently added in pyav-ffmpeg, although in that case it was a cross-build change. We are using the RISC-V Wheels dashboard to track Python compatibility for riscv64, and this package is one of many on the list we want to help add support for.
I've tested this on my fork: threexc#1