The Python X Library is intended to be a fully functional X client library for Python programs. It is written entirely in Python, in contrast to earlier X libraries for Python (the ancient X extension and the newer plxlib) which were interfaces to the C Xlib.

This is possible to do since X client programs communicate with the X server via the X protocol. The communication takes place over TCP/IP, Unix sockets, DECnet or any other suitable streaming network protocol. The C Xlib is merely an interface to this protocol, providing functions suited for a C environment.

There are three advantages of choosing to implement a pure Python library:

More information, downloadable archives and Subversion access can be found at the project page at Sourceforge.

Maintainer still wanted!

Python Xlib is partially maintained by interested developers - bugfixes and feature patches will be applied and released. However, if anyone wishes to take on a more complete maintenance and new development role, please join the mailing list and introduce yourself!

Project status

The low-level protocol and a rudimentary object oriented interface is complete, implementing client-side X11R6. This should be usable for writing applications. It runs at least on Linux using XFree86 as the server, but should run on most Unices.

A resource database has been implemented and there is a framework for adding X extension code. Several extensions have been implemented (RECORD, SHAPE, Xinerama and XTEST) - patches for additions are very welcome.

There are most likely bugs, as only a rather small subset of all the requests and methods have been tested. The code is released anyway to let other interested Python hackers have a look (and hopefully help out with debugging and coding :).