diff --git a/examples/simple/example_encoder.py b/examples/simple/example_encoder.py
new file mode 100755
index 0000000000000000000000000000000000000000..49933736ce30341090bfc6b5b6b196d6ed6161f9
--- /dev/null
+++ b/examples/simple/example_encoder.py
@@ -0,0 +1,19 @@
+#!/usr/bin/python
+
+import labcomm
+import sys
+import simple
+
+if __name__ == '__main__':
+    encoder = labcomm.Encoder(labcomm.StreamWriter(open(sys.argv[1], 'w')))
+    encoder.add_decl(simple.theTwoInts.signature)
+    encoder.add_decl(simple.IntString.signature)
+    foo = simple.theTwoInts()
+    foo.a = 13
+    foo.b = 37
+    encoder.encode(foo, simple.theTwoInts.signature)
+
+    bar = simple.IntString()
+    bar.x = 1742
+    bar.s = "A string from Python"
+    encoder.encode(bar, simple.IntString.signature)
diff --git a/examples/simple/run.sh b/examples/simple/run.sh
index 182039ae18706bcf99a6b64f1555fe1f57972f4c..f1ed3eeb6a4cd4bcf4ba43d1ee9440cf8e4d80d1 100644
--- a/examples/simple/run.sh
+++ b/examples/simple/run.sh
@@ -2,6 +2,10 @@ export LD_LIBRARY_PATH=../../lib/c/
 
 java -cp .:../../lib/java:gen Encoder encoded_data
 ./example_decoder encoded_data
+
+PYTHONPATH=../../lib/python:gen ./example_encoder.py encoded_data
+java -cp .:../../lib/java:gen Decoder encoded_data
+
 ./example_encoder encoded_data
 java -cp .:../../lib/java:gen Decoder encoded_data