← Back to issue list

fix: enable python bytecode in the uv plugin

View original Github issue

Metadata

Project
craft-parts
Number
#1406
Type
pull request
State
merged
Author
jonathan-conder
Labels
Created
Updated
Closed

Current evaluation

Merged. Enables Python bytecode generation in the uv plugin to align with python and poetry plugins, improving snap launch performance. Approved by two reviewers and passed CI checks.

Suggested action:

No scores available.

Issue body

This brings the `uv` plugin in line with `python` (version 1 and 2) and `poetry`. In snaps, launching python can still be slow by default because bytecode is not generated for the standard library when extracting `stage-packages`. - [ ] Have you followed the guidelines for contributing? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you successfully run `make lint && make test`? - [x] Have you added an entry to the changelog (`docs/reference/changelog.rst`)?

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged. Enables Python bytecode generation in the uv plugin to align with python and poetry plugins, improving snap launch performance. Approved by two reviewers and passed CI checks.
qwen3.6-35b-a3b-mtp-q6 Merged an external contribution enabling Python bytecode generation in the uv plugin. This aligns the plugin with python and poetry implementations, resolving slow snap launch times caused by missing standard library bytecode during stage-package extraction.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#954 uv plugin should compile bytecode craft-parts closed Uv plugin bytecode compilation was addressed and merged in pull request #1406. The change sets UV_COMPILE_BYTECODE=1 to precompile Python bytecode, optimizing runtime performance for snap distributions.
74%
#1029 fix: don't require a specific python interpreter for uv (#1003) craft-parts merged Merged and cherry-picked onto hotfix/2.4 to fix a Snapcraft regression. The update removes the requirement for a specific Python interpreter for uv. Approved by two reviewers with passing CI checks.
73%