The lxml XML toolkit for Python
Clone or download
scoder Clarify docstring: passing 'unicode' as encoding name into tostring()…
… is more common than passing the unicode/str function.
Latest commit 2ea6f97 Nov 16, 2018
Failed to load latest commit information.
benchmark Keep parentheses Aug 26, 2018
doc Merge pull request #276 from AndreyErmilov/master Oct 14, 2018
samples [svn r3984] r4817@delle: sbehnel | 2008-10-18 21:34:58 +0200 Oct 18, 2008
src/lxml Clarify docstring: passing 'unicode' as encoding name into tostring()… Nov 16, 2018
tools Do not try to run tests in wheel building script since it leads to pr… Sep 9, 2018
.appveyor.yml Drop support for EOL Python 3.3 Aug 26, 2018
.gitignore Properly integrate the compilation of and some lxml.h… Aug 11, 2017
.hgignore Properly integrate the compilation of and some lxml.h… Aug 11, 2017
.hgtags Added tag lxml-4.2.4 for changeset 1220d40cbfe3 Aug 3, 2018
.travis.yml Drop support for EOL Python 3.3 Aug 26, 2018
CHANGES.txt LP#1799755: Fix ABC imports from collections package to resolve a Dep… Oct 24, 2018
CREDITS.txt credits Oct 9, 2012 Revert "Replace mutable default argument" Aug 26, 2018
IDEAS.txt update ideas file and remove things that were already done Dec 26, 2016
INSTALL.txt Drop support for EOL Python 3.3 Aug 26, 2018
LICENSES.txt remove embedded copy of the doctest module Mar 17, 2017 LP#1792388: Add missing test file to sdist. Sep 13, 2018
Makefile Use latest libxml2 version in binary wheels of next release. Mar 10, 2018
README.rst Minor doc cleanups. Jun 20, 2018
TODO.txt add TODO May 24, 2014 [svn r4455] ignore more signals when checking for crashes Aug 8, 2010 Provide more information on download errors in static build script. Sep 15, 2018
requirements.txt Update 'official' Cython dependency. Sep 17, 2017 Drop support for EOL Python 3.3 Aug 26, 2018 Do not statically link compiled Python modules against libxml2 & frie… Jul 30, 2018 Remove redundant code for Python <= 2.6 Aug 25, 2018
tox.ini Drop support for EOL Python 3.3 Aug 26, 2018 Simplify error constant setup. The MSVC work-around of splitting the … Nov 4, 2017
valgrind-python.supp update valgrind suppressions file Mar 23, 2013
version.txt Increase master version to 4.3.0a0. Jun 22, 2018 Avoid rebuilds if the version header file did not change. Mar 10, 2018


What is lxml?

lxml is the most feature-rich and easy-to-use library for processing XML and HTML in the Python language. It's also very fast and memory friendly, just so you know.

For an introduction and further documentation, see doc/main.txt.

For installation information, see INSTALL.txt.

For issue tracker, see

Support the project

lxml has been downloaded from the Python Package Index millions of times and is also available directly in many package distributions, e.g. for Linux or MacOS-X.

Most people who use lxml do so because they like using it. You can show us that you like it by blogging about your experience with it and linking to the project website.

If you are using lxml for your work and feel like giving a bit of your own benefit back to support the project, consider sending us money through PayPal that we can use for fixing bugs in the software and improving its features and documentation. Please read the Legal Notice below, at the bottom of this page. Thank you for your support.

Donate to the lxml project

Please contact Stefan Behnel for other ways to support the lxml project, as well as commercial consulting, customisations and trainings on lxml and fast Python XML processing.

Travis-CI and AppVeyor support the lxml project with their build and CI servers. Jetbrains supports the lxml project by donating free licenses of their PyCharm IDE.

Legal Notice for Donations

Any donation that you make to the lxml project is voluntary and is not a fee for any services, goods, or advantages. By making a donation to the lxml project, you acknowledge that we have the right to use the money you donate in any lawful way and for any lawful purpose we see fit and we are not obligated to disclose the way and purpose to any party unless required by applicable law. Although lxml is free software, to the best of our knowledge the lxml project does not have any tax exempt status. The lxml project is neither a registered non-profit corporation nor a registered charity in any country. Your donation may or may not be tax-deductible; please consult your tax advisor in this matter. We will not publish or disclose your name and/or e-mail address without your consent, unless required by applicable law. Your donation is non-refundable.