How can I call a specific event manually from my own code?
There's a simple, straightforward way to do it with recent versions of wxPython (see http://wiki.wxpython.org/CustomEventClasses):
# create event class
import wx.lib.newevent
SomeNewEvent, EVT_SOME_NEW_EVENT = wx.lib.newevent.NewEvent()
# post it, with arbitrary data attached
wx.PostEvent(target, SomeNewEvent(attr1=foo, attr2=bar))
# bind it as usual
target.Bind(EVT_SOME_NEW_EVENT, target.handler)