28 de julio de 2026 - Blog Link

uv 0.12.0. Esta versión de uv introduce cambios importantes, especialmente en el proyecto predeterminado que genera el comando uv init.

uv init es el acceso directo de uv para crear un nuevo proyecto. La versión anterior, 0.11.x, generaba este directorio al ejecutar el comando.

A continuación, se detalla lo que se obtiene con uv 0.12. Existe un repositorio en GitHub que rastrea automáticamente las salidas de uv init, permitiendo consultar el diff completo:

La imagen superior muestra cómo uv-init/main.py, un antiguo archivo con la estructura __name__=="__main__", ha sido eliminado completamente. Además, el archivo pyproject.toml ahora incluye una lista de autores y un nuevo bloque project.scripts que define uv-init como uv_.

uv init utiliza ahora por defecto una estructura de paquete tipo src/, en lugar de colocar el archivo main.py en la raíz del proyecto. También configura el backend uv_build para la creación de archivos wheel y distribuciones .tar.gz al ejecutar uv build. Finalmente, establece uv-init como un alias de script que, al ejecutarse con uv run uv-init, invoca una nueva función main() ubicada en src/uv_init/__init__.py.

Hasta el momento, el autor había evitado utilizar el layout src en sus propios proyectos por simple inercia, pero considera que es momento de realizar la migración definitiva.

Queda la duda de cuándo uv será considerado lo suficientemente maduro para alcanzar su versión 1.0.

Vía Simon Willison.