Was macht migrate-to-uv?
Diese Skill-Anleitung beschreibt, wie ein Python-Paket vom PEP-517-Stil
mit setup.cfg auf pyproject.toml mit uv umgestellt wird.
Wann verwenden
Diese Anleitung sollte verwendet werden, wenn der Benutzer die Migration einer Python-Paket-Repository-Struktur in ein mit uv kompatibles Format anfordert.
Anleitung
- Verschieben Sie den Inhalt von
setup.cfginpyproject.tomlund löschen Siesetup.cfg - Fügen Sie eine
.python-versionhinzu, die die Version als 3.11 angibt - Importieren Sie die Abhängigkeiten aus
requirements-dev.txtinpyproject.tomlmit demuv-CLI (d. h.uv add -r requirements-dev.txt) - Wechseln Sie das Build-System zu
uv_buildund entfernen Siebuildaus den Entwicklungsabhängigkeiten. - Konfigurieren Sie den Versionsanbieter für Commitizen auf
uv - Entfernen Sie
pylint,flake8,isort,blackaus den Entwicklungsabhängigkeiten und ersetzen Sie sie durchruff. Entfernen Sie alle zugehörigen Konfigurationsdateien, d. h.pylintrc,.flake8sowie jegliche Konfiguration insetup.cfgund/oderpyproject.toml - Konfigurieren Sie
ruff, um Einzelzeilenimporte zu erzwingen, gemäß der nachstehenden Anleitung. - Verschieben Sie die Konfiguration aus
pytest.ininachpyproject.toml - Ersetzen Sie die Pre-Commit-Hooks für
black,pylint,isort,flake8durchruff - Entfernen Sie
pre-commitaus den Abhängigkeiten und ersetzen Sie es durchprek - Führen Sie
ruff formatundruff check --fixauf dem Codebestand aus. - Aktualisieren Sie alle CI/CD-Pipelines, um
uvzu verwenden.
Konfigurieren von ruff zur Erzwingung von Einzelzeilenimporten
[tool.ruff.lint.isort]
force-single-line = true
[tool.ruff.lint]
select = ["F", "I"]