Follow us
Breaking
Software

The performance gap between uv and Poetry

uv version 0.12.12 delivers dependency resolution speeds that significantly outpace Poetry, resolving dependencies in just 1.4 seconds compared to Poetry's 22.3 seconds. This Rust-based tool achieves high performance through parallelized I/O and a global module cache.

Share

uv version 0.12.12, released September 9, 2026, delivers dependency resolution speeds that outpace Poetry. In a benchmark from Danilchenko.dev, uv resolved dependencies in 1.4 seconds while Poetry took 22.3 seconds. The resolver speed gap remains the most significant factor for developers. uv uses a Rust-based resolver that parallelizes network I/O and version-constraint solving. Poetry relies on a single-threaded, backtracking-based resolver written in Python. This difference allows uv to complete cold installs from a lock file in approximately 3 seconds, while Poetry takes 11 seconds according to Cuttlesoft. Cuttlesoft also found that lockfile generation on uv takes 8 seconds compared to 22 seconds for Poetry. For a project with 80 packages, Techplained clocked uv at 8 seconds for a cold install against 50 seconds for Poetry in June 2026. These speed improvements come from a global module cache and the use of Copy-on-Write and hardlinks on supported filesystems. uv also creates virtual environments 80 times faster than python -m venv and 7 times faster than virtualenv.

The adoption of uv is accelerating as teams migrate from older tools like pip, pip-tools, and Poetry. The calcipy project switched from Poetry to uv to address slow dependency resolution and installation. This migration, completed in PR #134, improved resolution speeds by 10 to 100 times. Astral, the creator of the Ruff linter, manages uv and also holds stewardship of Rye. While Poetry provides an established workflow for managing complex dependency groups and publishing libraries to PyPI, uv provides a single, Rust-based binary that handles installation, resolution, and Python version management with significantly higher performance. uv tracks the CPython release cycle closely, having shipped support for Python 3.14 on the day of its release. uv has 2.6 times more GitHub stars than Poetry and pulls 75 million monthly downloads from PyPI, surpassing Poetry’s 66 million. This momentum follows the vision of a single tool that replaces pip, pip-tools, pipx, pyenv, and virtualenv.

The choice between tools depends on specific project requirements. uv acts as a drop-in replacement for pip and pip-tools. It manages Python versions through the uv python command, which installs specific CPython builds without requiring a system package manager. However, uv lacks support for some legacy features, such as .egg distributions. You already know that CI/CD pipelines stall when package managers struggle with resolution.

Tool Capability uv (v0.12.12) Poetry (v2.4.3)
Resolution Speed 1.4 seconds 22.3 seconds
Cold Install 3 seconds 11 seconds
Lockfile Generation 8 seconds 22 seconds
Monthly PyPI Downloads 75 million 66 million

Poetry remains a strong option for library authors. It manages dependency groups like dev, test, and docs with sophistication. It also provides a workflow for building and publishing packages to PyPI. Developers often stick with Poetry because migrating large, working dependency trees carries risk. Will the Python community eventually consolidate around a single Rust-based tool? I recommend uv for teams prioritizing speed and minimal CI/CD overhead.

Share

Technewsdaily

Senior tech writer covering AI, gadgets and cybersecurity. Breaking down the news that matters, every day.