I had written a pyrex based binding to some elements of Xlib, but I decided to make it pure python to avoid the compilation step. Luckily a kind person had created pyxlib-ctypes http://code.google.com/p/pyxlib-ctypes/ which is a pure Python binding to the underlying X functions.
I needed a few more features due to XComposite for writing crazy desktop compositors in pure Python and also some XFixes functionality so we can really hide the mouse cursor.
As such I am publishing my amendments to it on Github - you can check it out here: https://github.com/garrybodsworth/pyxlib-ctypes it literally has the bare minimum I needed and could probably be extended for greater coverage. It is used in production and seems to be working very happily.