Python Integration 5.5.3 crashes on use of object that can't be converted to string

I am having a critical issue and need to know if this is just a 5.5.x thing or if this affects the whole 5.x release.

I am attempting to use paramiko in a Python Script node under 5.5.3. The conda environment is configured with Python 3.11 and knime-python-* v.5.5.0. This is running on osx-arm64.

Executing code to create this object:

key_filehandle = open("path_to_ecdsa_key","r")
priv_key = paramiko.ECDSAKey.from_private_key(key_filehandle)

which creates an object priv_key of type ECDSAKey, and causes the node to fail with the following:

py4j.Py4JException: An exception was raised by the Python Proxy. Return Message: Traceback (most recent call last):

File “/Applications/KNIME 5.5.3.app/Contents/Eclipse/plugins/org.knime.python3.scripting.nodes_5.5.1.v202507241235/src/main/python/_knime_scripting_launcher.py”, line 282, in object_to_string

string = str(obj)

TypeError: _str_ returned non-string (type bytes)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

File “/Applications/KNIME 5.5.3.app/Contents/Eclipse/plugins/org.knime.python3.scripting.nodes_5.5.1.v202507241235/src/main/python/_knime_scripting_launcher.py”, line 192, in execute

“data”: self.\_getVariablesInWorkspace(),

File “/Applications/KNIME 5.5.3.app/Contents/Eclipse/plugins/org.knime.python3.scripting.nodes_5.5.1.v202507241235/src/main/python/_knime_scripting_launcher.py”, line 307, in _getVariablesInWorkspace

var_value = object_to_string(value)

File “/Applications/KNIME 5.5.3.app/Contents/Eclipse/plugins/org.knime.python3.scripting.nodes_5.5.1.v202507241235/src/main/python/_knime_scripting_launcher.py”, line 289, in object_to_string

raise KnimeUserError(

knime.scripting._backend.KnimeUserError: It was not possible to represent ECDSAKey as a string for the workspace.

The same code, using the same Python version and the same paramiko version runs just fine in the Python Script node under 4.7.8 and the variable pane shows the variable priv_key of type ECDSAKey.

Why is 5.5.3 attempting to coerce ECDSAKey to type string unprompted? Indeed, outside of KNIME if you attempt to execute str(paramiko.ECDSAKey.from_private_key(key_file)) it will throw

TypeError: _str_ returned non-string (type bytes)

What gives? This also causes the node to fail when running on a KNIME server executor.

4.7.8 Screenshot:

This behavior carries forward into every 5.x version I tested. Both Windows (64-bit) and osx-arm64.

It seems to be triggered when the python runtime environment finishes executing, and the framework attempts to collect all of the variables into the node’s status.

The only workaround seems to be to del any variable that can’t be coerced to string using the str() function prior to the end of the script.

Can we get this fixed as 5.5.4/5.8.4LTS, please?