I’ve been thinking a lot about Python lately. Not the language itself but the ecosystem around it. The tooling. The way we set up projects, manage dependencies, and structure code. And I think we’re in the middle of a growing pain that nobody’s really naming.
For years, the Python setup story was: venv, pip, requirements.txt, maybe a setup.py if you were feeling fancy. It worked. It was also fragile, slow, and full of weird edge cases that you just learned to live with. Activation scripts that don’t work in every shell. Dependency resolution that makes you wait. Import paths that break the moment you move a file.
Then tools like uv showed up, and suddenly the whole foundation shifted. One tool that handles Python installation, virtual environments, dependency management, and running code, and it just works. No activate. No freeze. No requirements.txt wrangling. Just uv add and uv run and get back to the actual work.
I’ve been making videos about this shift for my Pipe Dreams series — building a full data pipeline from scratch with modern Python tooling. Three videos in and the pattern is already clear: every “standard” tool I reach for has a simpler, faster replacement that didn’t exist two years ago.
pip→uvrequests→httpxlogging→loguru
These aren’t niche alternatives anymore. They’re better defaults. But the tutorials, the Stack Overflow answers, the bootcamp curricula, they’re all still teaching the old way. That’s the growing pain. The ecosystem moved, and the education hasn’t caught up yet, because it is hard to know what is here to stay and what is just the next shiny thing.
Pipe Dreams — Three episodes done. uv for project setup, httpx for API calls, loguru for logging. Next up is the data layer. The series is 84 videos planned, which sounds insane, and it probably is.
Ondoriya — My fantasy world population simulation. Been working on an SDK for it so the data is actually accessible in a structured way instead of just raw API calls. This feeds into the pipeline series eventually — real data, real problems.
Visual Board — Slow progress but progress. The project management tool nobody asked for but I’m building anyway. $29/month flat rate for 20 users, because per-seat pricing is a scam.
YouTube — Also put out videos on Python classes (when to actually use them) and import resolution (why your imports break and how uv fixes it). Both landed in The Boring Important Stuff playlist — the fundamentals that make everything else work.
If you’re starting a new Python project today, use uv init —-package instead of python -m venv. Just try it once. You’ll never go back.
curl -LsSf https://astral.sh/uv/install.sh | sh
uv init --package my-project
cd my-project
uv add httpx
uv run my-projectThat’s it. No activate. No freeze. No wondering which Python you’re pointing at.
This is Lab Notes — a mid-month dispatch from whatever I’m building, breaking, or thinking about. Part of Branch Off Main, a newsletter by Daniel Wallace.
// made with blueberry lemonade
No posts

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.