Skip to main content

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

Project description

lxml is a Pythonic 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.

1.1alpha (2006-06-27)

Features added

  • Module level iterwalk() function as ‘iterparse’ for trees
  • ElementTree compatible iterparse() module function
  • Element.nsmap property returns a mapping of all namespace prefixes known at the Element to their namespace URI
  • Reentrant threading support in RelaxNG, XMLSchema and XSLT
  • Threading support in parsers and serializers:
    • All in-memory operations (tostring, parse(StringIO), etc.) free the GIL
    • File operations (on file names) free the GIL
    • Reading from file-like objects frees the GIL and reacquires it for reading
    • Serialisation to file-like objects is single-threaded (high lock overhead)
  • Element iteration over XPath axes:
    • Element.iterdescendants() iterates over the descendants of an element
    • Element.iterancestors() iterates over the ancestors of an element (from parent to parent)
    • Element.itersiblings() iterates over either the following or preceding siblings of an element
    • Element.iterchildren() iterates over the children of an element in either direction
    • All iterators support the tag keyword argument to restrict the generated elements
  • Element.getnext() and Element.getprevious() return the direct siblings of an element

Bugs fixed

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-1.1alpha-py2.3-linux-i686.egg (176.1 kB) Copy SHA256 hash SHA256 Egg 2.3
lxml-1.1alpha-py2.4-freebsd-6.1-RELEASE-i386.egg (194.3 kB) Copy SHA256 hash SHA256 Egg 2.4
lxml-1.1alpha-py2.4-linux-i686.egg (176.0 kB) Copy SHA256 hash SHA256 Egg 2.4
lxml-1.1alpha-py2.4-linux-x86_64.egg (186.8 kB) Copy SHA256 hash SHA256 Egg 2.4
lxml-1.1alpha-py2.4-static-win32.egg (1.3 MB) Copy SHA256 hash SHA256 Egg 2.4
lxml-1.1alpha-py2.4-win32.egg (164.7 kB) Copy SHA256 hash SHA256 Egg 2.4
lxml-1.1alpha.tar.gz (412.5 kB) Copy SHA256 hash SHA256 Source None
lxml-1.1alpha.win32-py2.4.exe (222.1 kB) Copy SHA256 hash SHA256 Windows Installer 2.4
lxml-1.1alpha.win32-static-py2.4.exe (1.3 MB) Copy SHA256 hash SHA256 Windows Installer 2.4

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