¿Qué hace migrate-to-uv?
Este skill documenta cómo migrar un paquete Python desde el estilo PEP-517 que usa setup.cfg a usar pyproject.toml con uv.
Cuándo usarlo
Debe usarse cada vez que el usuario solicite migrar la estructura de un repositorio de paquete Python a un formato compatible con uv.
Instrucciones
- Mover el contenido de
setup.cfgapyproject.tomly eliminarsetup.cfg. - Agregar un archivo
.python-versionque especifique la versión 3.11. - Importar las dependencias desde
requirements-dev.txtapyproject.tomlusando la CLI deuv(ej.uv add -r requirements-dev.txt). - Cambiar el sistema de construcción para usar
uv_buildy eliminarbuildde las dependencias de desarrollo. - Configurar el proveedor de versiones para Commitizen como
uv. - Eliminar
pylint,flake8,isort,blackde las dependencias de desarrollo y reemplazarlos conruff. Eliminar todos los archivos de configuración asociados, comopylintrc,.flake8, así como cualquier configuración ensetup.cfgy/opyproject.toml. - Configurar
ruffpara forzar importaciones en una sola línea usando la guía a continuación. - Mover la configuración de
pytest.iniapyproject.toml. - Reemplazar los hooks de pre-commit para
black,pylint,isort,flake8conruff. - Eliminar
pre-commitde las dependencias y reemplazarlo conprek. - Ejecutar
ruff formatyruff check --fixsobre el código. - Actualizar los pipelines de CI/CD para que usen
uv.
Configurar ruff para forzar importaciones en una sola línea
[tool.ruff.lint.isort]
force-single-line = true
[tool.ruff.lint]
select = ["F", "I"]