Question

Would it be possible to write a twisted-powered application that opens an interactive shell, e.g. to tweak the business objects served via the twisted protocol layer?

My current problem is that the reactor.run() blocks the application, and the IPython.embed() is only run after the reactor has finished.

Was it helpful?

Solution

Unless you specifically need extras that are only in ipython, you really should check out manhole (twistedmatrix example code)

It lets you access a python interactive shell that is natively running in the twisted reactor. Normally the shell is accessed via telnet or ssh, but if you wanted to be creative you could wire it up any way you want.

OTHER TIPS

... Meanwhile I found an answer to my question: http://twistedmatrix.com/documents/current/core/howto/threading.html

def interact():
   import IPython
   IPython.embed()

reactor.callInThread(interact)
reactor.run()
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top