UV 0.12.0

UV 0.12.0


28 de julho de 2026 – Link Blog

UV 0.12.0. Algumas mudanças interessantes nesta versão do uvem particular ao projeto padrão produzido pelo uv init comando.

uv init é o uv atalho para criar um novo projeto. A versão anterior do uvversão 0.11.x, produziu este diretório quando você executou uv init uv-init.

Aqui está o que você obtém com UV 0,12. Eu tenho um repositório GitHub que captura automaticamente a saída de uv initentão você também pode ver a diferença completa:

Visualização de diferenças do GitHub. uv-init/main.py é um __name__== antigo"__principal__" arquivo que foi totalmente excluído. O pyproject.toml agora tem uma lista de autores e um novo bloco project.scripts definindo uv-init como uv_init:main - e um novo bloco de sistema de construção que usa uv_build como back-end de construção. Um novo arquivo src/uv_init/__init__.py contém um método main() com uma anotação de tipo -> None que imprime Hello do uv-init.” src=”https://static.simonwillison.net/static/2026/uv-diff.webp”/></p>
<p><code>uv init</code>  agora o padrão é um <code>src/</code> embalagem moldada, em vez de deixar cair <code>main.py</code> na raiz do projeto. Ele também configura o backend uv_build para construir rodas e <code>.tar.gz</code> arquivos de distribuição quando você executa <code>uv build</code>. Por fim, ele configura <code>uv-init</code> como um alias de script que, quando executado com <code>uv run uv-init</code>executa um novo <code>main()</code> funcionar em <code>src/uv_init/__init__.py</code>.</p>
<p>Até agora evitei usar o layout src em meus próprios projetos por inércia. Acho que é hora de mudar.</p>
<p>Eu me pergunto quando <code>uv</code> será considerado pronto para uma versão 1.0?</p>
</div>
</div>
<div class='code-block code-block-3' style='margin: 8px auto; text-align: center; display: block; clear: both;'>
<script type= atOptions = { 'key' : '9a05bd4dc1226da99f4238dd1250ff7b', 'format' : 'iframe', 'height' : 250, 'width' : 300, 'params' : {} };



Source link

Postagens Similares

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *