Skip to main content

Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.

Project description

lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries. It provides safe and convenient access to these libraries using the ElementTree API.

It extends the ElementTree API significantly to offer support for XPath, RelaxNG, XML Schema, XSLT, C14N and much more.

To contact the project, go to the project home page or see our bug tracker at

In case you want to use the current in-development version of lxml, you can get it from the subversion repository at . Running easy_install lxml==dev will install it from

After an official release of a new stable series, current bug fixes become available at . Running easy_install lxml==2.0bugfix will install this version from

2.0.3 (2008-03-26)

Features added

  • soupparser.parse() allows passing keyword arguments on to BeautifulSoup.
  • fromstring() method in lxml.html.soupparser.

Bugs fixed

  • lxml.html.diff didn’t treat empty tags properly (e.g., <br>).
  • Handle entity replacements correctly in target parser.
  • Crash when using iterparse() with XML Schema validation.
  • The BeautifulSoup parser ( did not replace entities, which made them turn up in text content.
  • Attribute assignment of custom PyTypes in objectify could fail to correctly serialise the value to a string.

Other changes

  • lxml.html.ElementSoup was replaced by a new module lxml.html.soupparser with a more consistent API. The old module remains for compatibility with ElementTree’s own ElementSoup module.
  • Setting the XSLT_CONFIG and XML2_CONFIG environment variables at build time will let pick up the xml2-config and xslt-config scripts from the supplied path name.
  • Passing --with-xml2-config=/path/to/xml2-config to will override the xml2-config script that is used to determine the C compiler options. The same applies for the --with-xslt-config option.

Project details

Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
lxml-2.0.3-py2.4-win32.egg (3.2 MB) Copy SHA256 hash SHA256 Egg 2.4
lxml-2.0.3-py2.5-win32.egg (3.2 MB) Copy SHA256 hash SHA256 Egg 2.5
lxml-2.0.3.tar.gz (2.0 MB) Copy SHA256 hash SHA256 Source None
lxml-2.0.3.win32-py2.4.exe (3.2 MB) Copy SHA256 hash SHA256 Windows Installer 2.4
lxml-2.0.3.win32-py2.5.exe (3.2 MB) Copy SHA256 hash SHA256 Windows Installer 2.5

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page