diff --git a/tutorial/py/PythonClient.py b/tutorial/py/PythonClient.py
new file mode 100755
index 0000000..96ca03a
--- /dev/null
+++ b/tutorial/py/PythonClient.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+
+import sys
+sys.path.append('../gen-py')
+
+from tutorial import Calculator
+from tutorial.ttypes import *
+
+from thrift.transport import TSocket
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol
+
+# Make socket
+transport = TSocket.TSocket('localhost', 9090)
+
+# Buffering is critical. Raw sockets are very slow
+transport = TTransport.TBufferedTransport(transport)
+
+# Wrap in a protocol
+protocol = TBinaryProtocol.TBinaryProtocol(transport)
+
+# Create a client to use the protocol encoder
+client = Calculator.Client(protocol)
+
+# Connect!
+transport.open()
+
+client.ping()
+print 'ping()'
+
+sum = client.add(1,1)
+print '1+1=%d' % (sum)
+
+work = Work()
+
+work.op = Operation.DIVIDE
+work.num1 = 1
+work.num2 = 0
+
+try:
+  quotient = client.calculate(1, work)
+  print 'Whoa? You know how to divide by zero?'
+except InvalidOperation, io:
+  print 'InvalidOperation: %s' % (io.__str__())
+
+work.op = Operation.SUBTRACT
+work.num1 = 15
+work.num2 = 10
+
+diff = client.calculate(1, work)
+print '15-10=%d' % (diff)
+
+log = client.getStruct(1)
+print 'Check log: %s' % (log.value)
+
+# Close!
+transport.close()
+
