
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Overview
Migrate from pip/setup.cfg to uv tooling, and replace flake8/black with ruff
Complexity: Low
Target branch: unstable
Context
Kolibri Studio was previously migrated to uv, but only a partial migration. Currently, Studio still uses compiled requirements files using uv pip compile. We'd like to fully transition Studio to uv and its uv.lock tracking for dependencies.
The Change
- Convert
setup.cfg and comiled requirements.txt and requirements-dev.txt to pyproject.toml with PEP 735 dependency groups
- Replace flake8/black/reorder-python-imports with ruff
- Replace pre-commit with prek
- Add yamlfmt and actionlint to pre-commit hooks
- Update
pre-commit CI workflow for prek replacement
- Configure
exclude-newer = "7 days" in [tool.uv] for supply chain safety
- Add
uv-lock pre-commit hook (from astral-sh/uv-pre-commit) to keep uv.lock in sync
- Update developer documentation
Acceptance Criteria
References
AI usage
This issue is a revised copy of another issue drafted by Claude Code, based on the Kolibri uv migration work.
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Overview
Migrate from pip/setup.cfg to uv tooling, and replace flake8/black with ruff
Complexity: Low
Target branch: unstable
Context
Kolibri Studio was previously migrated to uv, but only a partial migration. Currently, Studio still uses compiled requirements files using
uv pip compile. We'd like to fully transition Studio to uv and itsuv.locktracking for dependencies.The Change
setup.cfgand comiledrequirements.txtandrequirements-dev.txttopyproject.tomlwith PEP 735 dependency groupspre-commitCI workflow for prek replacementexclude-newer = "7 days"in[tool.uv]for supply chain safetyuv-lockpre-commit hook (fromastral-sh/uv-pre-commit) to keepuv.lockin syncAcceptance Criteria
pyproject.tomlreplacessetup.cfgas the single source of project metadata and configurationuv.lockreplacesrequirements*.inandrequirements*.txtexclude-newercooldown configured in pyproject.tomluv-lockpre-commit hook added to.pre-commit-config.yamlReferences
AI usage
This issue is a revised copy of another issue drafted by Claude Code, based on the Kolibri uv migration work.