##// END OF EJS Templates
Merge pull request #910 from minrk/pypynumpy...
Merge pull request #910 from minrk/pypynumpy %whos no longer imports numpy unconditionally, and no longer supports Numeric. The import check explicitly looks for the ndarray object, rather than just numpy itself, which would fail in environments with broken numpy, such as PyPy. closes gh-904

File last commit:

r4872:34c10438
r5198:4c90e861 merge
Show More
ipy_server.py
37 lines | 1023 B | text/x-python | PythonLexer
""" Simple TCP socket server that executes statements in IPython instance.
Usage:
import ipy_server
ipy_server.serve_thread(16455)
Now, to execute the statements in this ipython instance, open a TCP socket
(port 16455), write out the statements, and close the socket.
You can use e.g. "telnet localhost 16455" or a script to do this.
This is a bit like 'M-x server-start" or gnuserv in the emacs world.
"""
from IPython.core import ipapi
ip = ipapi.get()
import SocketServer
# user-accessible port
PORT = 8099
class IPythonRequestHandler(SocketServer.StreamRequestHandler):
def handle(self):
#print "connection from", self.client_address
inp = self.rfile.read().replace('\r\n','\n')
#print "Execute",inp
ip.runlines(inp)
def serve(port = PORT):
server = SocketServer.TCPServer(("", port), IPythonRequestHandler)
print "ipy_server on TCP port", port
server.serve_forever()
def serve_thread(port = PORT):
import thread
thread.start_new_thread(serve, (port,))