summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2016-12-26 16:42:11 +0100
committerStefan Behnel <stefan_ml@behnel.de>2016-12-26 16:42:11 +0100
commit1ecda0b8bf4a08604e157ba3b1b5527523af6566 (patch)
tree32daa50a6cbbaad0379b6d31bb03262428ed91d0
parentd5ef57e4dc7a68c59a37f54d530d71e5f1ec8531 (diff)
parent43c202b299d7ce474087e9930d2c77d3ceeb7d1a (diff)
downloadpython-lxml-1ecda0b8bf4a08604e157ba3b1b5527523af6566.tar.gz
merge lxml-3.7 branch into master
-rw-r--r--.appveyor.yml22
-rw-r--r--IDEAS.txt13
-rw-r--r--doc/FAQ.txt38
3 files changed, 42 insertions, 31 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index 4b3dff21..2f6a2f09 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -1,17 +1,21 @@
+version: 1.0.{build}
+
environment:
matrix:
- - python: 27
- - python: 35
- - python: 35-x64
+ - python: 27
+ - python: 35
+ - python: 35-x64
install:
- - "SET PATH=C:\\Python%PYTHON%;c:\\Python%PYTHON%\\scripts;%PATH%"
- - python -m pip install -U pip wheel setuptools
- - pip install -r requirements.txt
+ - cmd: >-
+ SET PATH=C:\\Python%PYTHON%;c:\\Python%PYTHON%\\scripts;%PATH%
+ python -m pip install -U pip wheel setuptools
+ pip install -r requirements.txt
-build: false
+build_script:
+ - cmd: >-
+ python -u setup.py clean
+ python -u setup.py bdist_wheel --static-deps
test_script:
- - python -u setup.py clean
- - python -u setup.py bdist_wheel --static-deps
- ps: Get-ChildItem dist\*.whl | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
diff --git a/IDEAS.txt b/IDEAS.txt
index 1ee41348..f93a0f33 100644
--- a/IDEAS.txt
+++ b/IDEAS.txt
@@ -16,18 +16,10 @@ Things to try out when life permits
* maybe embed the lzma C sources in the distro
http://www.7-zip.org/sdk.html
-* generating XML using the ``with`` statement
-
- http://comments.gmane.org/gmane.comp.python.general/579950?set_lines=100000
-
* parse-time validation against a user provided DTD
* currently only works for XML Schema
-* somehow integrate RelaxNG compact notation (rnc versus rng)
-
- * currently not supported by libxml2 (patch exists)
-
* support subclassing XSLTAccessControl to provide custom per-URL
access check methods
@@ -42,11 +34,6 @@ Things to try out when life permits
* Disadvantage: the tree has to be built manually. In the current
SAX based implementation, libxml2 does it for us.
-* rewrite iterparse() to accept a parser as argument instead of being
- one
-
- * disadvantage: iterparse() can't deal with all parser options
-
* provide an HTMLParser wrapper that handles broken encodings in broken
HTML better, e.g. using BeautifulSoup's "unicode dammit" analyser
diff --git a/doc/FAQ.txt b/doc/FAQ.txt
index 28decd0b..cda01497 100644
--- a/doc/FAQ.txt
+++ b/doc/FAQ.txt
@@ -31,6 +31,7 @@ ElementTree_.
2.1 Which version of libxml2 and libxslt should I use or require?
2.2 Where are the binary builds?
2.3 Why do I get errors about missing UCS4 symbols when installing lxml?
+ 2.4 My C compiler crashes on installation
3 Contributing
3.1 Why is lxml not written in Python?
3.2 How can I contribute?
@@ -423,12 +424,17 @@ see when (or if) a specific bug has been fixed.
Where are the binary builds?
----------------------------
-Binary builds are most often requested by users of Microsoft Windows.
-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.
+Thanks to the help by Joar Wandborg, we try to make "manylinux" binary
+builds for Linux available shortly after each source release, as they
+are very frequently used by continuous integration and/or build servers.
+
+Thanks for the help by Maximilian Hils and the Appveyor build service,
+we also try to serve the frequent requests for binary builds available
+for Microsoft Windows in a timely fashion, since users of that platform
+usually fail to build lxml themselves. Two of the major design issues
+of this operating system make this non-trivial for its users: the lack
+of a pre-installed standard compiler and the missing package management.
-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
@@ -451,6 +457,20 @@ compilable on both platform types. See the `build instructions`_ on how to do
this.
+My C compiler crashes on installation
+-------------------------------------
+
+lxml consists of a relatively large amount of (Cython) generated C code
+in a single source module. Compiling this module requires a lot of free
+memory, usually more than half a GB, which can pose problems especially on
+shared/cloud build systems.
+
+If your C compiler crashes while building lxml from sources, consider
+using one of the binary wheels that we provide. The "manylinux" binaries
+should generally work well on most build systems and install substantially
+faster than a source build.
+
+
Contributing
============
@@ -477,7 +497,7 @@ is written entirely in Python.
Please contact the `mailing list`_ if you need any help.
-.. _Cython: http://www.cython.org/
+.. _Cython: http://cython.org/
.. _`code that Cython accepts`: http://docs.cython.org/docs/tutorial.html
@@ -485,9 +505,9 @@ How can I contribute?
---------------------
If you find something that you would like lxml to do (or do better),
-then please tell us about it on the `mailing list`_. Patches are
-always appreciated, especially when accompanied by unit tests and
-documentation (doctests would be great). See the ``tests``
+then please tell us about it on the `mailing list`_. Pull requests
+on github are always appreciated, especially when accompanied by unit
+tests and documentation (doctests would be great). See the ``tests``
subdirectories in the lxml source tree (below the ``src`` directory)
and the ReST_ `text files`_ in the ``doc`` directory.