How does uv solve the “write once, run anywhere” problem like go?
(I’m not being sarcastic, I don’t know that much about uv and perhaps am lacking the mental model for understanding this)
How does uv solve the “write once, run anywhere” problem like go?
(I’m not being sarcastic, I don’t know that much about uv and perhaps am lacking the mental model for understanding this)
Here's an examply Python script from the uv website[0]:
#!/usr/bin/env -S uv run --script
#
# /// script
# requires-python = ">=3.12"
# dependencies = ["httpx"]
# ///
import httpx
print(httpx.get("https://example.com"))
This will auto-install Python 3.12 (or greater) in a per-script virtual environment, along with the httpx package from pypi & immediately execute the script, on any system that has uv.[0] https://docs.astral.sh/uv/guides/scripts/#using-a-shebang-to...
I've been using it for so long now that I recently couldn't remember how to use Python without it, when one of our BI guys needed some help. Which was ridiculously embarrassing.
I don't think it really compares to Go though. It's not as straight forward if you work on different python distributions. It's also not as easy to work with something like micro Python compared to targeting a specific embedded platform with Go.