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 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 streaming network protocol. The C Xlib is merely an interface to this protocol, providing functions suitable for a C environment. Python3 is an optional dependency and python3-six is required if built with python3 support. setuptools-scm is only required as a build dependency and can be skipped if you would rather have it automatically grabbed from pypi.python.org during the build process.