Hi Ramon,
I'm glad you found it useful!
Keep in mind, python nodes input and output ports are type specific, so make sure to delete the standard ports that come when you create a python node (unless you are just dealing with floats) and create new ones based on the data you will be feeding into it, e.g. in our case, "link"
I just checked the dropbox file and realised (now that I have a tiny bit more scripting exp.) why its not updating the spline after modifying the tangent, the object needs to be sent an update message, in this case, the spline object is Input1, so just need to add this line of code:
Input1.Message(c4d.MSG_UPDATE)
if this was a script and not in the python node in xpresso, you would additionally need to add this line of code
c4d.EventAdd()
This also applies when using the Python Tag, I think automatically sends this message every frame.
Also, I know earlier I said you need an Object Index node to pass the reference into the python node, I don't think that is the case, I think you can directly feed object into the inlet. So no need for the Object Index node in the example scene file.