migrate-to-uv
이 스킬은 Python 패키지를 setup.cfg를 사용하는 PEP-517 스타일에서 pyproject.toml과 uv를 사용하는 형식으로 마이그레이션하는 방법을 설명합니다.
사용 시기
사용자가 Python 패키지 저장소 구조를 uv와 호환되는 형식으로 마이그레이션해 달라고 요청할 때마다 사용합니다.
지침
setup.cfg의 내용을pyproject.toml로 옮기고setup.cfg를 삭제합니다.- 버전을 3.11로 지정하는
.python-version파일을 추가합니다. uvCLI(예:uv add -r requirements-dev.txt)를 사용하여requirements-dev.txt의 의존성을pyproject.toml로 가져옵니다.- 빌드 시스템을
uv_build로 전환하고,build를 dev 의존성에서 제거합니다. - Commitizen의 버전 제공자를
uv로 설정합니다. - dev 의존성에서
pylint,flake8,isort,black을 제거하고ruff로 대체합니다. 모든 관련 설정 파일(pylintrc,.flake8)과setup.cfg및/또는pyproject.toml에 있는 관련 설정을 제거합니다. - 아래 지침에 따라
ruff가 한 줄 가져오기를 강제하도록 설정합니다. pytest.ini의 설정을pyproject.toml로 옮깁니다.black,pylint,isort,flake8에 대한 pre-commit 훅을ruff로 교체합니다.- 의존성에서
pre-commit을 제거하고prek로 대체합니다. - 코드베이스에서
ruff format과ruff check --fix를 실행합니다. - CI/CD 파이프라인을
uv를 사용하도록 업데이트합니다.
ruff가 한 줄 가져오기를 강제하도록 설정
[tool.ruff.lint.isort]
force-single-line = true
[tool.ruff.lint]
select = ["F", "I"]