Some MAXScript callback registration functions can take a Python function as the callback argument. These include registerTimeCallback(), registerRedrawViewsCallback(), and nodeEventCallback(). Others take a string rather than a function as an argument, and thus cannot take a Python function. These functions include DialogMonitorOPS.RegisterNofication() and callbacks.addScript().
One work-around is to assign the Python function to a variable in pymxs.runtime. Here is a simple example to illustrate the idea:
import pymxs rt = pymxs.runtime def myCallback(): print "Callback fired!" # connect to the MXS runtime rt.pyCallback = myCallback # register ourselves as a callback # note that the pyCallback() is in fact a maxscript call rt.callbacks.addScript(rt.Name('nodeCreated'), 'pyCallback()')