lxml is a Pythonic binding for the libxml2 and libxslt libraries. It is unique in that it combines the speed and feature completeness of these libraries with the simplicity of a native Python API. Lxml requires BeautifulSoup. Lxml can optionally use Cython and pysetuptools.