especially when doing data science
500MB for Ray, another 500MB for Polars (though that was a bug IIRC), a few more megs for whatever binaries to read out those weird weather files (NetCDF and Grib2).
especially when doing data science
500MB for Ray, another 500MB for Polars (though that was a bug IIRC), a few more megs for whatever binaries to read out those weird weather files (NetCDF and Grib2).
Downside: "^1.2.3"
as default versioning for libraries. You just pinned a version? Oh great, now I can't upgrade another library because you had to pin something in yours...
That non-standard syntax has been a PITA for the last few years. That being said: They created that syntax for regular applications (and not for libs) in a time when the pyproject.toml
syntax was not anywhere near finalization.
I bet it’s darn amazing,
It is. In this older article (by Anna-Lena Popkes) uv is still not in the middle, but I would claim it's the new King of Project Management, when it comes to Python.
uv init --name <some name> --package --app
and you're off to the races.
Are you cloning a repo that's uv
-enabled? Just uv sync
and you're done!
Heck, you can now add dependencies to a script and just uv run --script script.py
(IIRC) and you don't need to install anything - uv
will take care of it all, including a needed Python version.
Only downside is that it's not 1.0 yet, so the API can change at any update. That is the last hurdle for me.
pyproject.toml
track the dependencies and dev-dependencies you actually care aboutuv.lock
file that contains each and every lib that's needed.uv sync
and uv run <application>
is pretty much all you need to get goingpip3 freeze > requirements.txt
I hate this. Because now I have a list of your dependencies, but also the dependencies of the dependencies, and I now have regular dependencies and dev-dependencies mixed up. If I'm new to Python I would have NO idea which libraries would be the important ones because it's a jumbled mess.
I've come to love uv
(coming from poetry
, coming from pip
with a requirements/base.txt
and requirements/dev.txt
- gotta keep regular dependencies and dev-dependencies separate).
uv sync
uv run <application>
That's it. I don't even need to install a compatible Python version, as uv
takes care of that for me. It'll automatically create a local .venv/
, and it's blazingly fast.
Python’s tooling is a mess.
Not only that. It's a historic mess. Over the years, growing a better and better toolset left a lot of projects in a very messy state. So many answers on Stack Overflow that mention easy_install
- I still don't know what it is, but I guess it was some kind of proto uv
.
Didn't Obama also kick out more illegal immigrants than a bunch of presidents before him? Maybe I'm misremembering, but I do remember nobody giving a shit about illegal immigrants being kicked out. Then Trump came and people freaked out, as if it didn't happen under Obama as well.
Shit was weird.
It's why John Carmack (created Wolfenstein, Doom, Rage, and made the engine that drives Half Life, Call of Duty and many more) is so revered. He's straight up a tech wizard.
We live in a patriarchy
I don't even know what this means anymore.
Oh hell yeah, Category Theory! LET'S GOOOOO!
I really like those new icons - Yeah, they're kinda flat, but they actually have colour.
They've basically taken peak 2005 icons, and improved on them.
Very nice.