[New Feature Preview] Python 3 Support Issue Thread

Hi @c.poupin. You posted quite a few things there, let me go one by one.

Autocompletion
As you noticed, autocompletion for the CPython3 engine currently relies on the same mechanism used for the IronPython2 engine. Having an autocompletion engine specific for the new engine is currently on the works, but it didn’t make it to Dynamo 2.8.

Ref and Out
These two actually work with PythonNET but the way they do is not like in Iron Python and unexpected in my opinion. The ref/out parameters need to be provided but they are considered as inputs only. The output is actually obtained from the result of the function call, which is surprisingly a Python tuple. Here are a couple of examples showing this:

Out parameter in Dictionary.TryGetValue

Ref parameter in Interlocked.Exchange

COM interop
For this one I don’t have a better workaround than yours, so I will have to cheat :slight_smile:
Here is an example using Dynamo’s own .NET classes to help interact with Excel. Unfortunately
some of these functions are not public, but the idea can be used with a custom library that is part of a package for instance. That helps overcome the limitations regarding COM interop in PythonNET.

Thank you so much for the feedback @c.poupin. We will update our documentation with the issues you provided so that people can use it as reference in case they find themselves against them.

6 Likes