Acelerando Ambientes Python e Django com uv: Da Instalação ao Deploy
Como o uv (da Astral) revolucionou o gerenciamento de dependências e ambientes virtuais em Python, substituindo pip, poetry e pyenv com velocidade extrema.

Se você trabalha com Python profissionalmente, certamente já sentiu o atrito de esperar minutos para um pip install ou poetry install rodar, especialmente em pipelines de CI/CD ou dentro de containers Docker.
O uv, desenvolvido pela Astral (mesma criadora do Ruff), foi escrito em Rust e funciona como um gerenciador de pacotes e ambientes Python de altíssima velocidade — com ganhos que chegam a ser 10x a 100x mais rápidos que o pip tradicional.
Neste artigo, compartilho como estruturei meus fluxos de trabalho com Django utilizando uv no dia a dia.
1. Comparativo de Performance na Prática
Antes de olhar os comandos, veja o benchmark mensurado em um projeto Django real contendo 48 dependências (incluindo Celery, Django REST Framework, Psycopg e testes com pytest):
Benchmark Real
Tempo de Instalação Limpa de Dependências (Cold Cache)
Ambiente Linux x86_64 com conexão de 500Mbps (menor é melhor)
A diferença de 41.8 segundos para 1.4 segundos transforma completamente o uso diário em containers locais e nas esteiras de automação.

2. Inicializando um Projeto Django com uv
Para criar um novo projeto com Python 3.12:
# Baixar o interpretador e criar ambiente virtual em segundosuv venv --python 3.12
# Ativar o ambiente (Linux/Mac)source .venv/bin/activate# No Windows:.venv\Scripts\activate
# Instalar Django e Django REST Frameworkuv pip install django djangorestframework psycopg[binary]3. Otimização de CI/CD e Docker
O maior ganho prático que mensurei foi nas esteiras de integração contínua (GitHub Actions).
Em vez de esperarmos 1 a 2 minutos apenas instalando dependências de teste (pytest, coverage, factory-boy), o comando:
uv pip sync requirements.txtcompleta em menos de 3 segundos no cache do runner.
Exemplo de Dockerfile enxuto com uv
FROM python:3.12-slim-bookwormCOPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv
WORKDIR /app
# Copia arquivos de dependênciaCOPY pyproject.toml uv.lock ./
# Instalação com cache montado do DockerRUN --mount=type=cache,target=/root/.cache/uv \ uv sync --frozen --no-dev
COPY . .
CMD ["uv", "run", "gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000"]Conclusão
Adotar o uv nos meus projetos Django trouxe uma melhoria palpável de produtividade diária: menos tempo de espera, locks confiáveis e deploys mais rápidos.
Se você ainda utiliza pip puro ou sofre com a lentidão do poetry lock, recomendo fortemente testar o uv.