Desde o último Radar, ganhamos mais experiência com uv, e o feedback dos nossos times tem sido extremamente positivo. O uv é uma ferramenta de gerenciamento de pacotes e projetos Python de última geração, escrita em Rust, com uma proposta de valor principal: é extremamente rápido. Ele supera outros gerenciadores de pacotes Python por uma grande margem em benchmarks, acelerando os ciclos de compilação e teste e melhorando significativamente a experiência das desenvolvedoras. Além do desempenho, o uv oferece um conjunto de ferramentas unificado, substituindo efetivamente ferramentas como Poetry, pyenv e pipx. No entanto, nossas preocupações com ferramentas de gerenciamento de pacotes permanecem: um ecossistema forte, uma comunidade madura e suporte de longo prazo são fundamentais. Como o uv ainda é relativamente novo, movê-lo para o anel de Adoção é uma decisão ousada. No entanto, muitas equipes de dados estão ansiosas para deixar de usar o sistema legado de gerenciamento de pacotes do Python, e nossas desenvolvedoras de linha de frente recomendam consistentemente o uv como a melhor ferramenta disponível hoje.
Rust é uma boa indicação para escrever ferramentas de linha de comando devido a sua rápida performance de inicialização, e acompanhamos pessoas reescrevendo algumas toolchains com a linguagem. Nós mencionamos o Ruff, um linter Python escrito em Rust, no Radar anterior. Para esta edição, nós avaliamos uv, uma ferramenta de gerenciamento de pacotes Python escrita em Rust. A proposta de valor da uv é serextremamente rápida e ela supera outras ferramentas de gerenciamento de pacotes Python por uma grande margem em seus benchmarks. No entanto, durante nossa avaliação para o Radar, nós discutimos se otimizar em segundos para ferramentas de construção é uma melhoria significativa. Comparado ao desempenho, o mais importante para um sistema de gerenciamento de pacotes é o ecossistema, uma comunidade madura e suporte a longo prazo. Dito isso, o feedback da equipe do projeto nos mostrou que essa melhoria pequena de velocidade pode ser um grande benefício para melhorar os ciclos de feedback e a experiência geral da pessoa desenvolvedora, uma vez que temos a tendência de manualmente tornar o cache de CI/CD muito complexo para conseguir este pequeno ganho de performance. uv simplifica nosso ambiente de gerenciamento Python. Considerando que ainda há muito espaço para melhorias no gerenciamento de pacotes e ambientes para desenvolvimento Python, nós achamos que a uv é uma opção que vale a pena avaliar.
