Progress on python 3 implementation?

Hi,
I recently got stuck on a problem with Enums when I translated a script to Python 3.
The problem couldnt be resolved then. I was just curious if there is news on the development of Python 3 implementation for Dynamo?
Wouter Hilhorst

Hee @wouter.hilhorst
Do you read the blog section of the forum?

Python 3 is implemented, and has been for awhile using the CPython engine. The reasoning for this is that IronPython 2.7 had significant security concerns in that it is no longer maintained.

CPython is quite a bit different than Iron Python in that it’s running natively rather than converting between the languages. As a result there are some things which would have to change in CPython for the previous calls to work. Note that those changes fall on the CPython developers, not the Dynamo team.

That team has a significant list of items to tackle, with much bigger issues than Dynamo (this is a case where a niche part of AEC is a VERY small fish in a MASSIVE sea), so you may want to consider moving over to using C# and developing zero touch nodes if you aren’t ok with deploying Iron Python 2.7 due to the security risks associated.

I know the Dynamo team is also watching the work of the IronPython 3 development team, to see how their work pans out once they are out into the wild. Last I knew they are in an Alpha stage, with beta hopefully coming soon. Once out of beta the tool might be something which could be consumed, or even pulled in as a new package (similar to how IronPython 2.7 is brought in now). But again, this is work which has to happen elsewhere for the Dynamo team to take any action.

Hope this helps clear things up.

the 3.4 beta version is already published, the final version (3.4) should arrive later this year, a 3.6 version is also in preparation.

Personally, to date I use the 2 engines, IronPython for its better support .Net integration, CPython3/PythonNet for data analysis, currently for me the 2 engines are complementary

Indeed there are some people who have chosen this way.

It seems more logical to implement ironpython 3 in Revit.

Not only on Revit :wink:

In the future, perhaps. At the moment, well implementing a beta software in production is never a good idea as that tends to break far more than it fixes.

In the meantime, it’s best to work what we have via the options above.

1 Like