Yes, it creates a separate environment for each script. No, it doesn’t create a lot of bloat. There’s a separate cache and the packages are hard-linked into the environments, so it’s extremely fast and efficient.
The venv is created and then discarded once the script finishes execution. This is well suited to one-off scripts like what is demonstrated in the article.
In a larger project you can manage venvs like this using `uv venv`, where you end up with a familiar .venv folder.