Member-only story
Why I finally ditched Poetry for uv
Chris Karvouniaris6 min read·Just now--
Astral’s blazing-fast package manager is eating the whole Python tooling ecosystem.
Intro
Let’s take a quick look back at Python packaging and how it has evolved throughout the years. If you’ve been around Python for a while, you’ve probably lived through a few eras of packaging.
First it was:
setup.pyrequirements.txtpip installpython -m venv- maybe
virtualenv - maybe
pip-tools - maybe
pyenv
Everything worked, but nothing really worked together. Locking wasn’t official. Environments were manual. Reproducibility required discipline. CI setups were fragile. Dependency conflicts were common.
Then Poetry came in and brought peace.
It gave us much:
pyproject.tomlas the single source of truth- Proper lock files
- Built-in virtualenv management
- A clean CLI
- A unified workflow