Migrate to uv, setuptools-scm, prek, and ruff#14457
Draft
rtibbles wants to merge 8 commits intolearningequality:developfrom
Draft
Migrate to uv, setuptools-scm, prek, and ruff#14457rtibbles wants to merge 8 commits intolearningequality:developfrom
rtibbles wants to merge 8 commits intolearningequality:developfrom
Conversation
Contributor
Build Artifacts
Smoke test screenshot |
c290799 to
f66bbd4
Compare
895c776 to
c05f5d3
Compare
This was referenced Mar 29, 2026
758b254 to
a1ce5a1
Compare
f9046ba to
515a761
Compare
This was referenced Mar 31, 2026
This was referenced Apr 1, 2026
3 tasks
515a761 to
669bacb
Compare
669bacb to
7361603
Compare
7361603 to
33a300a
Compare
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.