Rye vs Poetry: Which Python Project Manager for CI?
Rye bundles Python-version management and uv-powered installs into one fast tool; Poetry is the established dependency-and-packaging manager.
Rye (from Astral) is an all-in-one Python project manager that also installs Python interpreters and uses uv for fast resolution and installs. Poetry is the widely adopted project manager built around dependency resolution, poetry.lock, and packaging.
| Rye | Poetry | |
|---|---|---|
| Python version management | Yes (installs Pythons) | No (separate tool) |
| Install engine | uv (Rust, fast) | Poetry resolver |
| Lockfile | requirements.lock | poetry.lock |
| Packaging/publish | Yes | Yes |
| Maturity | Newer, fast-moving | Established |
In CI
Rye can install the Python interpreter itself and uses uv for very fast installs, which removes a setup step and shortens the slowest part of many Python pipelines. Poetry is more mature with broader documentation and a stable workflow. Both give deterministic installs from a lockfile; Rye is the bigger speed play, Poetry the more battle-tested default.
Cache it
Cache the dependency cache keyed on the lockfile and install from it for reproducibility. Installs run on CI runners; with uv under the hood Rye is fast, and faster managed runners compound the gain on heavy installs.
The verdict
Want Python version management plus uv-fast installs in one tool: Rye. Want the established, widely documented manager: Poetry. Both lock dependencies - if install speed dominates, Rye (and uv) is the bigger lever.