Note
Originally this compared hatch, poetry, and rye, but uv
recently announced their release of a package manager too. So uv
was added to the comparison here. Going forward, Astral will take stewardship of rye
(see this announcement and this blog post) and it will kinda get "merged" into uv
. The tl;dr is you should choose uv
for your project management tool.
Each subdirectory has a Python project example for Hatch, Rye, Poetry, and uv.
Hatch | Rye | Poetry | uv |
---|---|---|---|
The READMEs contain step-by-step instructions for dev setup, creating the project, adding dependencies, running tests, and adding GitHub workflow actions:
There is a GitHub Action for each sub-project in workflows. Note that the actions are minimal examples for the sake of keeping things simple (no caching, sys/env matrix, coverage, etc.).