It’s fantastic that Python 3 is now supported in Rhino/Grasshopper! It’s super handy, and I’d love to keep using the latest and greatest from Python in Rhino/Grasshopper. Therefore I’m curious about what you’re planning for the future of Python 3 in Rhino/Grasshopper, because Python 3.9 reaches its end of life in October this year (2025).
This means that security issues found in Python 3.9 will not be patched after October 2025 and that many important Python packages will drop support for Python 3.9 after its end of life. For example, the latest version of numpy dropped support for Python 3.9 with release 2.1 (18 Aug 2024).
For my Python projects and scripts I’ve been using uv since October, and I’m absolutely loving it!
Would it be an idea to integrate uv in Rhino/Grasshopper?
There aren’t even any plans to my knowledge to deprecate Python 2.7 in Rhino. There are even two different Iron Python 2.7 Grasshopper components to choose from.
Integrating Python 3.9 into Rhino 8 was a lot more complicated, and needed a heck of a lot more work from Ehsan and the whole team, than installing uv via the one liner. If uv ever embeds Python in .Net out of the box, especially with Python.NET, then this is a lot more feasible. But astral.sh have bigger ambitions than that.
I’d welcome more attention to security in Rhino. But arbitrary code execution is already a feature (not a bug) of so much material shared in the community (and on this very forum), and third party plug-ins, deprecating Python 3.9 won’t improve matters in the slightest.
If on the other hand, Grasshopper turned the solver off by default for externally downloaded files, that would be an enormous low-maintenance improvement to users’ security, for any component, in all Python versions (as well as C# and even VB).
I have a series of tickets for improvements to Python 3 in Rhino 9.x which I will be working on this throughout this year alongside other general improvements. Upgrading python 3 runtime is one of the major tickets