Brains Up AnalyticsBRAINSUPAnalytics
PythonData EngineeringFerramentas

uv: o gerenciador Python que todo Data Engineer precisa conhecer

Descubra como o uv, da Astral, substituiu pip, venv e pyenv nos nossos projetos Databricks e Azure — com ganho de 10 a 100× de velocidade.

Por Dione Fraga · Databricks Certified Professional30 de junho de 20263 min de leitura

Se você ainda usa pip install no dia a dia de Data Engineering, você está deixando tempo e confiabilidade na mesa. O uv, criado pela Astral (os mesmos do linter Ruff), é a ferramenta que mudou meu fluxo de trabalho em 2026 — e provavelmente vai mudar o seu também.

O problema clássico dos ambientes Python

Quem trabalha com pipelines Python sabe a dor: instalar um stack típico de Data Engineering (polars, dbt-databricks, azure-storage-blob, pyarrow) com pip leva entre 45 e 60 segundos numa máquina limpa. Em CI/CD, esse tempo se multiplica a cada build.

Além disso, gerenciar versões do Python entre projetos diferentes, manter requirements.txt atualizado e garantir que o ambiente de dev seja idêntico ao de produção são desafios constantes — mesmo usando Poetry ou Conda.

O que é o uv?

O uv é um gerenciador de pacotes e projetos Python escrito em Rust, desenvolvido pela Astral. Em uma única ferramenta, ele substitui:

  • pip — para instalar pacotes
  • venv — para criar ambientes virtuais
  • pyenv — para gerenciar versões do Python
  • pip-compile / pip-tools — para lock de dependências

A performance é o diferencial principal: 10 a 100× mais rápido que pip, graças ao uso de cache inteligente e paralelismo via Rust.

Instalação

curl -Ls https://astral.sh/uv | sh

Isso é tudo. O uv instala-se como um binário único, sem dependências externas.

Fluxo de trabalho para Data Engineering

Criar um novo projeto

uv init meu_pipeline
cd meu_pipeline

O uv cria automaticamente:

  • pyproject.toml — configuração do projeto
  • .python-version — versão do Python fixada
  • main.py — arquivo inicial

Adicionar dependências

uv add polars dbt-databricks azure-storage-blob pyarrow

O uv resolve e instala tudo em paralelo. No primeiro uso, com cache frio, o ganho já é visível. Com cache quente (builds subsequentes), o tempo cai para menos de 1 segundo.

Um arquivo uv.lock é gerado automaticamente com todas as versões exatas — incluindo dependências transitivas. Esse arquivo deve ser versionado no Git para garantir reprodutibilidade total.

Executar scripts

uv run python etl.py

O uv verifica o ambiente virtual automaticamente antes de executar. Se o ambiente não existir ou estiver desatualizado, ele cria/atualiza antes de rodar.

Gerenciar versões do Python

uv python install 3.12
uv python pin 3.12

Sem precisar do pyenv ou de configuração manual de PATH.

Uso em projetos Databricks e Azure

Nos nossos projetos com Databricks e Azure Data Factory, o uv trouxe benefícios específicos:

Ambientes locais de desenvolvimento: Com uv sync, qualquer desenvolvedor replica o ambiente exato do projeto com um único comando — sem README de setup, sem makefile.

CI/CD: No GitHub Actions e Azure DevOps, o uv reduz o tempo de setup do ambiente de 2-3 minutos para menos de 20 segundos.

Scripts ETL isolados: O uv suporta dependências inline em scripts:

# /// script
# dependencies = ["polars", "azure-storage-blob"]
# ///

import polars as pl
# ...

Rodando com uv run etl_script.py, o uv instala as dependências do script automaticamente, sem poluir o ambiente global.

Limitações importantes

O uv não substitui o Conda para projetos que dependem de bibliotecas nativas do sistema (CUDA, cuDNN, ffmpeg). Para pipelines de ML com GPU ou processamento de vídeo, o Conda ainda é necessário para as dependências de sistema.

Para Data Engineering puro (ETL, orquestração, transformação com Polars/DuckDB/dbt), o uv cobre 100% dos casos de uso.

Conclusão

O uv é a evolução natural do ecossistema Python para Data Engineers. Com velocidade superior, lock de dependências automático e uma interface unificada que substitui várias ferramentas, ele elimina uma classe inteira de problemas de ambiente que consomem tempo nos projetos.

Se você trabalha com Python em projetos de dados — especialmente com Databricks, Azure ou pipelines ETL — vale dedicar 15 minutos para testar o uv no seu próximo projeto.


Documentação oficial: docs.astral.sh/uv

Artigos relacionados

Gostou? Veja os e-books para conteúdo aprofundado.

E-books