Yet Another Python Pkg Manager: uv
I am frustrated and delighted to have started using yet another Python
package manager: uv
. While I could tout the usability or speed of uv
,
what I find most remarkable is that it’s new to this world.
Python has been around since Guido started working on it in 1991, but
it’s definition of “batteries included” hasn’t included a package
manager. Instead, Python has developed official tooling (pip
,
virtualenv
) that could be kludged together, and generations of
third-party package managers have evolved (pipenv
, poetry
,
hatch
, rye
, pdm
, etc).
I switched to uv
because it drops in to my existing workflow, but,
to be frank, I’ve little faith it’s going to stick longterm. As a
third party library implemented in an entirely different language,
uv
likely to be superseded when the next hot thing in Python package
management rolls around. I wish Python would bless a full-feature
package manager similar to Node adopting npm
, but I won’t hold my
breath. (hatch
someday?)
Either way, shoutout to Astral for their “next-gen” Rust-based Python
tooling. Both uv
and ruff
provide modern, light-speed solutions to
niches largely unfilled since the advent of Python.