Migrate to uv, setuptools-scm, prek, and ruff - #14457
Merged
rtibbles merged 9 commits intoJun 5, 2026
Merged
Conversation
Contributor
Build Artifacts
Smoke test screenshot |
rtibbles
force-pushed
the
uv_or_not_uv_that_is_the_question
branch
from
March 26, 2026 23:17
c290799 to
f66bbd4
Compare
rtibbles
force-pushed
the
uv_or_not_uv_that_is_the_question
branch
18 times, most recently
from
March 29, 2026 04:48
895c776 to
c05f5d3
Compare
rtibbles
force-pushed
the
uv_or_not_uv_that_is_the_question
branch
3 times, most recently
from
May 27, 2026 23:37
5d17e6f to
e52d676
Compare
rtibbles
marked this pull request as ready for review
May 27, 2026 23:47
Member
Author
|
Note that the required Python 3.8 build will never complete as its name has changed. |
rtibbles
force-pushed
the
uv_or_not_uv_that_is_the_question
branch
2 times, most recently
from
May 29, 2026 16:09
efda606 to
5928d42
Compare
akolson
self-requested a review
June 2, 2026 09:39
12 tasks
rtibbles
force-pushed
the
uv_or_not_uv_that_is_the_question
branch
from
June 3, 2026 20:23
5928d42 to
74b5d73
Compare
rtibbles
force-pushed
the
uv_or_not_uv_that_is_the_question
branch
from
June 4, 2026 21:29
74b5d73 to
3329dd6
Compare
kolibri-format/cli.js requires minimatch directly but never declared it, relying on it being hoisted into a parent node_modules. Declare it explicitly and bump the package version.
rtibbles
force-pushed
the
uv_or_not_uv_that_is_the_question
branch
from
June 5, 2026 03:35
3329dd6 to
7aec0cf
Compare
Member
|
Qn: is there any reason why the "Python unit tests for EOL Python versions (3.8)" build step is still hanging? |
Member
Author
|
Answer to question:
|
This was referenced Jun 5, 2026
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.
Summary
Migrate Kolibri's Python tooling from pip/tox/setup.py to uv, and replace flake8+black with ruff.
uv sync --group devfor venv creation, Python version management, and dependency installationkolibri/utils/version.pygeneration logic)uv pip install --python-version 3.6for staticdeps — no Python 3.6 runtime neededuvxfor isolated pex execution — no separate venv or requirements file neededdocker/build_whl.dockerfileandrequirements/build.txt— uv handles the isolation that previously required DockerReferences
Reviewer guidance
Verified locally:
make distproduces wheel and tarballmake pexbuilds PEX usinguvx(isolated from dev venv)For review:
Python unit tests for EOL Python versions (3.8)required check has moved to the modern job — branch protection will need updatingAI usage
This PR was authored collaboratively with Claude Code. Claude implemented the migration based on a brainstormed design, with each decision reviewed and approved interactively.