Skip to content
Latchkey

PDM vs uv: ferramentas de projeto Python baseadas em padrões

O PDM é um gerenciador de projeto Python orientado a padrões; o uv é o novato mais rápido em Rust. Ambos usam pyproject.toml e produzem lockfiles.

O PDM enfatiza a adesão às PEPs de empacotamento do Python e ofereceu suporte inicial ao PEP 582 (__pypackages__). O uv foca em velocidade bruta e um toolchain unificado. A escolha muitas vezes se resume a pureza de padrões versus velocidade de pipeline.

PDMuv
LinguagemPythonRust
Configuraçãopyproject.tomlpyproject.toml
Lockfilepdm.lockuv.lock
PEP 582 (__pypackages__)SuportadoNão é o foco
Velocidade de instalação/resoluçãoBoaMuito rápida

Onde o PDM ganha

O PDM acompanha de perto os padrões de empacotamento do Python e suporta diretórios de pacotes locais no estilo PEP 582, que alguns times preferem a virtualenvs. Se você valoriza o alinhamento com padrões e uma ferramenta nativa em Python que pode estender, o PDM é uma escolha forte e madura.

Onde o uv ganha

O uv geralmente é mais rápido na resolução e instalação, e agrupa gerenciamento de versões do Python e execução em um único binário. Para CI onde o tempo de instalação é um custo recorrente, o uv normalmente economiza mais tempo de relógio de parede.

Em CI

Ambos são determinísticos quando você faz commit do lockfile e faz cache pelo seu hash. Decida primeiro o encaixe de padrões/recursos (por exemplo PEP 582), depois a velocidade: para a maioria dos pipelines o uv é mais rápido, para times focados em padrões o PDM é atraente.

O veredito

Escolha o PDM se a adesão a padrões ou os fluxos com PEP 582 importam para você; escolha o uv quando a velocidade de instalação e um único toolchain rápido vencem. Ambos são reproduzíveis e baseados em pyproject, então qualquer um é defensável.

Guias relacionados