Hi consider the script below, which is using twisted, twisted_http and quixote: from quixote.server.twisted_http import Server from twisted.internet import reactor import sys,quixote quixote.enable_ptl() _q_exports=[] def _q_index(request): request.response.set_content_type("text/plain") return "This is the _q_index function .\n" class MyApp(): def start(self): Server(sys.modules["__main__"],9999) app = MyApp() app.start() reactor.run() Having fiddled around a bit, I found that using sys.modules["__main__'] was a way to pass to the Publisher the current script namespace. This seemed a bit hackish to me, if it were a class you could use from quixote.server.twisted_http import Server from twisted.internet import reactor import sys,quixote quixote.enable_ptl() class MyApp2: _q_exports =[] def _q_index(self,request): request.response.set_content_type("text/plain") return "This is the _q_index method .\n" def start(self): Server(self,9999) app = MyApp() app.start() reactor.run() Does anyone have any better solutions? (Note this is very silly example, in the real case I have twisted code which does a load of various things, and afterwards must now start serving quixote and periodically update the various things it did before serving quixote). Don't ask why this has to be all in one script!!!! Jon