Post

Apaixonado pelo uv

Apaixonado pelo uv

Esqueça tudo o que ensino neste artigo!

O que estou prestes a apresentar a você é uma virada de jogo para o seu projeto: uv.

Por que você Deveria Usar uv?

Já no início, a documentação deixa claro porque o uv se destaca entre outras ferramentas. Para mim os principais destaques são:

  • uv combina as funcionalidades de pip, poetry, pyenv, virtualenv e muito mais, em uma única ferramenta.
  • É 10 a 100 vezes mais rápido que o pip, reduzindo o tempo gasto no gerenciamento de dependências.

Aqui está um gráfico de desempenho da documentação uv que demonstra sua vantagem de velocidade:

uv-performance

E como utilizar/iniciar?

Instalação

Você pode instalar ouvde várias maneiras:

  • Linux/MacOs
1
curl -LsSf https://astral.sh/uv/install.sh | eh
  • Windows
1
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
  • Usando pip
1
pip install uv

Inicialização do Projeto

Para criar um novo projeto, execute:

1
uv init

Este comando cria 04 arquivos:

  • .python-version: Especifica a versão Python do projeto.
  • hello.py: Um script Python inicial simples.
  • pyproject.toml: configura dependências do projeto, build settings e metadados.
  • README.md: Um modelo para documentar o propósito e uso do seu projeto.

Ambiente Virtual

Para configurar um ambiente virtual, execute:

1
uv venv

Ative o venv:

1
.venv\Scripts\activate

Adicionando Dependências

Para adicionar dependências, basta usar:

1
uv add typer
  • Ao adicionar uma dependência, é criado automaticamente um arquivo chamado uv.lock. O arquivo uv.lock é usado para registrar informações sobre dependências do projeto e suas versões exatas.

Se você quiser separar dependências por ambiente, use a flag:

1
uv add pytest --dev

Você pode adicionar várias bibliotecas de uma só vez:

1
uv add fastapi jupyter pandas

Você pode remover dependências usando:

1
uv remove fastapi

Rodar

Exemplo de execução de testes com pytest:

1
uv run pytest

Exemplo de execução do hello.py:

1
2
C:\portfolio\uv-article>uv run .\hello.py      
Hello from uv-article!

Gerenciar versões do Python

Para verificar a versão atual do Python em seu ambiente:

1
uv execute python --version

Instale uma versão específica do Python ou várias versões:

1
2
3
uv python install 3.12.3

uv python install 3.9 3.10 3.11

Recrie seu venv e instale a versão python:

1
uv venv --python 3.12.3

Você também pode usar a sync para recriar seu ambiente virtual também:

1
uv sync
  • Este comando instala a versão especificada do Python e atualiza suas dependências conforme necessário.
  • Você pode simplesmente alterar a versão do python em .python-version e executar o uv sync para recriar o .venv

Formatação de código com Ruff

Para verificar a formatação do código com ruff, execute:

1
uv run ruff check

To format your code with ruff, run:

1
uv run ruff format
  • Ruff é um linter python.

Você pode fazer muito mais com uv, eu escrevi alguns comandos básicos e principais.

Como criei um artigo sobre boas práticas, não havia como não trazer um sobre uv. Honestamente, "uv is all you need all you need is uv".

Se você quiser saber mais sobre o uv e seus comandos, consulte a documentação original..

Obrigado por ler até aqui!

Fazendo o que precisa ser feito.

Esta postagem está licenciada sob CC BY 4.0 pelo autor.