summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2013-04-12 07:56:46 +0200
committerStefan Behnel <stefan_ml@behnel.de>2013-04-12 07:56:46 +0200
commitd93470704e513b1517e2b63be72c563847034efc (patch)
treef61cf2ac523b6ce7c0ac3935f45ecd8f1f55a309
parent108e2f4558ab35d08227c6bbcf1e878bc268471b (diff)
parent76c9042511bfee787efad2d2f5cbdb850c01fbd6 (diff)
downloadpython-lxml-d93470704e513b1517e2b63be72c563847034efc.tar.gz
merge
-rw-r--r--CHANGES.txt4
-rw-r--r--INSTALL.txt17
-rw-r--r--benchmark/bench_etree.py4
-rw-r--r--doc/FAQ.txt25
-rw-r--r--doc/build.txt4
-rw-r--r--doc/main.txt10
-rw-r--r--version.txt2
7 files changed, 37 insertions, 29 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 5e737fe6..166b8159 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,8 +2,8 @@
lxml changelog
==============
-Under development
-=================
+3.1.2 (2013-04-12)
+==================
Features added
--------------
diff --git a/INSTALL.txt b/INSTALL.txt
index d47ff6ca..13bd1bfa 100644
--- a/INSTALL.txt
+++ b/INSTALL.txt
@@ -49,9 +49,8 @@ so newer versions will give you better compliance with the W3C spec.
Installation
------------
-Unless you are on MS Windows, the best way to install lxml is to
-get the pip_ package management tool and run the following as
-super-user (or administrator)::
+The best way to install lxml is to get the pip_ package management
+tool and run the following as super-user (or administrator)::
pip install lxml
@@ -59,15 +58,17 @@ To install a specific version, either download the distribution
manually and let pip install that, or pass the desired version
to pip::
- pip install lxml==2.3
+ pip install lxml==3.1.2
.. _pip: http://pypi.python.org/pypi/pip
-* For **MS Windows**, we no longer provide binary distributions. Also
- see the related `FAQ entry <FAQ.html#where-are-the-binary-builds>`_.
+* For **MS Windows**, recent lxml releases feature community donated
+ binary distributions, although you might still want to take a look
+ at the related `FAQ entry <FAQ.html#where-are-the-binary-builds>`_.
If you fail to build lxml on your MS Windows system from the signed
- and tested sources that we release, consider using the `unofficial
- Windows binaries <http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml>`_
+ and tested sources that we release, consider using the binary builds
+ from PyPI or the `unofficial Windows binaries
+ <http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml>`_
that Christoph Gohlke generously provides.
* On **Linux** (and most other well-behaved operating systems),
diff --git a/benchmark/bench_etree.py b/benchmark/bench_etree.py
index 8d4eb4b2..1e4c0f77 100644
--- a/benchmark/bench_etree.py
+++ b/benchmark/bench_etree.py
@@ -357,6 +357,10 @@ class BenchMark(benchbase.TreeBenchMark):
list(root.iter(self.SEARCH_TAG))
@nochange
+ def bench_iter_tag_one_at_a_time(self, root):
+ list(islice(root.iter(self.SEARCH_TAG), 2**30, None))
+
+ @nochange
def bench_iter_tag_none(self, root):
list(root.iter("{ThisShould}NeverExist"))
diff --git a/doc/FAQ.txt b/doc/FAQ.txt
index f37211d1..76079bff 100644
--- a/doc/FAQ.txt
+++ b/doc/FAQ.txt
@@ -418,23 +418,22 @@ Two of the major design issues of this operating system make it
non-trivial for its users to build lxml: the lack of a pre-installed
standard compiler and the missing package management.
-We previously provided Windows binaries through PyPI, but no
-longer do so due to the high maintenance overhead they introduce and
-the difficulty in supporting different system configurations.
-Christoph Gohlke generously provides `unofficial lxml binary builds
-for Windows <http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml>`_ that
-are usually very up to date. Consider using them if you prefer a
+For recent lxml releases, PyPI provides community donated Windows binaries.
+Besides that, Christoph Gohlke generously provides `unofficial lxml binary
+builds for Windows <http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml>`_
+that are usually very up to date. Consider using them if you prefer a
binary build over a signed official source release.
Why do I get errors about missing UCS4 symbols when installing lxml?
--------------------------------------------------------------------
-Most likely, you use a Python installation that was configured for internal
-use of UCS2 unicode, meaning 16-bit unicode. The lxml egg distributions are
-generally compiled on platforms that use UCS4, a 32-bit unicode encoding, as
-this is used on the majority of platforms. Sadly, both are not compatible, so
-the eggs can only support the one they were compiled with.
+You are using a Python installation that was configured for a different
+internal Unicode representation than the lxml package you are trying to
+install. CPython versions before 3.3 allowed to switch between two types
+at build time: the 32 bit encoding UCS4 and the 16 bit encoding UCS2.
+Sadly, both are not compatible, so eggs and other binary distributions
+can only support the one they were compiled with.
This means that you have to compile lxml from sources for your system. Note
that you do not need Cython for this, the lxml source distribution is directly
@@ -456,7 +455,7 @@ required for performance reasons.
However, to avoid writing plain C-code and caring too much about the
details of built-in types and reference counting, lxml is written in
-Cython_, a Python-like language that is translated into C-code.
+Cython_, a superset of the Python language that translates to C-code.
Chances are that if you know Python, you can write `code that Cython
accepts`_. Again, the C-ish style used in the lxml code is just for
performance optimisations. If you want to contribute, don't bother
@@ -464,7 +463,7 @@ with the details, a Python implementation of your contribution is
better than none. And keep in mind that lxml's flexible API often
favours an implementation of features in pure Python, without
bothering with C-code at all. For example, the ``lxml.html`` package
-is entirely written in Python.
+is written entirely in Python.
Please contact the `mailing list`_ if you need any help.
diff --git a/doc/build.txt b/doc/build.txt
index a2fa3d71..4d12d9ac 100644
--- a/doc/build.txt
+++ b/doc/build.txt
@@ -44,8 +44,8 @@ working Cython installation. You can use pip_ to install it::
pip install "Cython>=0.18"
-lxml currently requires Cython 0.17.3, later release versions should
-work as well.
+lxml currently requires at least Cython 0.18, later release versions
+should work as well.
Github, git and hg
diff --git a/doc/main.txt b/doc/main.txt
index fa521af5..ee921d81 100644
--- a/doc/main.txt
+++ b/doc/main.txt
@@ -158,8 +158,8 @@ that compiles on various platforms. The source distribution is signed
with `this key <pubkey.asc>`_. Binary builds are not available from
PyPI due to the increased maintenance overhead.
-The latest version is `lxml 3.1.1`_, released 2013-03-29
-(`changes for 3.1.1`_). `Older versions <#old-versions>`_
+The latest version is `lxml 3.1.2`_, released 2013-04-12
+(`changes for 3.1.2`_). `Older versions <#old-versions>`_
are listed below.
Please take a look at the
@@ -239,7 +239,9 @@ See the web sites of lxml
`3.0 <http://lxml.de/3.0/>`_
and the `latest in-development version <http://lxml.de/dev/>`_.
-.. _`PDF documentation`: lxmldoc-3.1.1.pdf
+.. _`PDF documentation`: lxmldoc-3.1.2.pdf
+
+* `lxml 3.1.1`_, released 2013-03-29 (`changes for 3.1.1`_)
* `lxml 3.1.0`_, released 2013-02-10 (`changes for 3.1.0`_)
@@ -271,6 +273,7 @@ and the `latest in-development version <http://lxml.de/dev/>`_.
* `older releases <http://lxml.de/2.3/#old-versions>`_
+.. _`lxml 3.1.2`: /files/lxml-3.1.2.tgz
.. _`lxml 3.1.1`: /files/lxml-3.1.1.tgz
.. _`lxml 3.1.0`: /files/lxml-3.1.0.tgz
.. _`lxml 3.1beta1`: /files/lxml-3.1beta1.tgz
@@ -288,6 +291,7 @@ and the `latest in-development version <http://lxml.de/dev/>`_.
.. _`lxml 2.3.1`: /files/lxml-2.3.1.tgz
.. _`lxml 2.3`: /files/lxml-2.3.tgz
+.. _`changes for 3.1.2`: /changes-3.1.2.html
.. _`changes for 3.1.1`: /changes-3.1.1.html
.. _`changes for 3.1.0`: /changes-3.1.0.html
.. _`changes for 3.1beta1`: /changes-3.1beta1.html
diff --git a/version.txt b/version.txt
index 94ff29cc..ef538c28 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-3.1.1
+3.1.2