migrate-to-uv は何をしますか?
このスキルは、PythonパッケージをPEP-517スタイル(setup.cfg 使用)から uv を用いた pyproject.toml 形式に移行する方法を説明します。
使用するタイミング
ユーザーがPythonパッケージのリポジトリ構造を uv 準拠の形式に移行するようリクエストした場合に使用します。
手順
setup.cfgの内容をpyproject.tomlに移動し、setup.cfgを削除します。- バージョン3.11を指定した
.python-versionファイルを追加します。 uvCLIを使用してrequirements-dev.txtから依存関係をpyproject.tomlにインポートします(例:uv add -r requirements-dev.txt)。- ビルドシステムを
uv_buildに切り替え、開発依存関係からbuildを削除します。 - Commitizenのバージョンプロバイダーを
uvに設定します。 - 開発依存関係から
pylint、flake8、isort、blackを削除し、代わりにruffを追加します。関連する設定ファイル(pylintrc、.flake8およびsetup.cfgやpyproject.toml内の設定)をすべて削除します。 - 以下のガイドに従って
ruffを設定し、インポートを強制的に1行にします。 pytest.iniの設定をpyproject.tomlに移動します。black、pylint、isort、flake8のpre-commitフックをruffに置き換えます。- 依存関係から
pre-commitを削除し、代わりにprekを追加します。 - コードベースに対して
ruff formatとruff check --fixを実行します。 - CI / CDパイプラインを
uvを使用するように更新します。
ruffを設定してインポートを強制的に1行にする
[tool.ruff.lint.isort]
force-single-line = true
[tool.ruff.lint]
select = ["F", "I"]