Data Engineering Central

Data Engineering Central

Share this post

Data Engineering Central
Data Engineering Central
Replace Python's pip with uv?

Replace Python's pip with uv?

Anonymous Rust Dev

Daniel Beach's avatar
Daniel Beach
Feb 19, 2025
∙ Paid
15

Share this post

Data Engineering Central
Data Engineering Central
Replace Python's pip with uv?
1
1
Share

It's your friendly neighborhood Anonymous Rust Dev, back to offend your sensibilities once again...

Among its strengths, Python includes a language that is so "easy" to learn that it's given to children as their introduction to programming. Its ease of writing and a comprehensive ecosystem of third-party libraries allow it to handle almost any conceivable need.

But you have to get those libraries somehow. Some options are available, including the perennial favorite pip (which you generally get for free these days just by having Python). So why would we want to have a conversation about the cool new kid on the block, uv?

Well, I am the resident Rust evangelist, so of course, I'm going to gravitate toward the Rust-based option, right? Well, before Rust, I came from a NodeJS environment and have seen something similar in that world—NPM, the out-of-the-box king, has been threatened by Yarn and PNPM. And guess what? At the end of the day, the original ruler keeps his throne, though not without some attrition.

So, for all my desire to see a Rust-based project succeed, I know in my heart of hearts that the incumbent option tends to hold its position tightly. A morbid curiosity demands that I find out for myself whether I have yet another feather in my cap that I can brandish at the Python crowd to woo them over, or if my hopes in the Rust-based option are misplaced.

Thanks for reading Data Engineering Central! This post is public so feel free to share it.

Share

What is UV?

Actually, I don't even know where it gets the name. Does it cause skin cancer? Are we just taking more random characters from the alphabet?

For the curious, the authors mostly just ran out of good names.

More importantly, though, what is it, and what problem does it solve? Well, if you're here, you probably already know, but let's consider what the official docs have to say on the matter:

  • 🚀 A single tool to replace pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, and more.

  • ⚡ 10-100x faster than pip.

  • 🗂️ Provides comprehensive project management, with a universal lockfile.

  • ❇️ Runs scripts, with support for inline dependency metadata.

  • 🐍 Installs and manages Python versions.

  • 🛠️ Runs and installs tools published as Python packages.

  • 🔩 Includes a pip-compatible interface for a performance boost with a familiar CLI.

  • 🏢 Supports Cargo-style workspaces for scalable projects.

  • 💾 Disk-space efficient, with a global cache for dependency deduplication.

  • ⏬ Installable without Rust or Python via curl or pip.

  • 🖥️ Supports macOS, Linux, and Windows.

This post is for paid subscribers

Already a paid subscriber? Sign in
© 2025 dataengineeringdude
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share