> Code from this PR [1] by David Laban.
That leverages the features of uv run with embedding script dependencies [2].
[1] https://github.com/alsuren/sixdofone/pull/8 [2] https://docs.astral.sh/uv/concepts/projects/run/#running-scr...
https://peps.python.org/pep-0723/
I've been very slowly migrating scripts to work with this, and `pipx run`. glad to know uv has also picked it up.
Startup times has to be slower, but probably only for the first run?
There's a some level of violation of the "Principle Of Least Surprise", depending on the setting. For some it will be the reverse, the script they got just works, without any setup or package installation. For others we'll wonder why it just started downloading a bunch of packages we already have.
Probably not the greatest idea for production environments, where you should not or can not just pull in packages from the internet.
It's really cool that it works, but I think I'd recommended using it highly selectively.
What's the advantage of this that makes it worth despite these constraints, compared to e.g. using pyinstaller [1] to build and distribute a single executable file with the python interpreter and all the dependencies of your project bundled in it in the exact versions you chose in your development virtual environment?