diff options
author | Stefan Behnel <stefan_ml@behnel.de> | 2016-12-26 16:42:11 +0100 |
---|---|---|
committer | Stefan Behnel <stefan_ml@behnel.de> | 2016-12-26 16:42:11 +0100 |
commit | 1ecda0b8bf4a08604e157ba3b1b5527523af6566 (patch) | |
tree | 32daa50a6cbbaad0379b6d31bb03262428ed91d0 | |
parent | d5ef57e4dc7a68c59a37f54d530d71e5f1ec8531 (diff) | |
parent | 43c202b299d7ce474087e9930d2c77d3ceeb7d1a (diff) | |
download | python-lxml-1ecda0b8bf4a08604e157ba3b1b5527523af6566.tar.gz |
merge lxml-3.7 branch into master
-rw-r--r-- | .appveyor.yml | 22 | ||||
-rw-r--r-- | IDEAS.txt | 13 | ||||
-rw-r--r-- | doc/FAQ.txt | 38 |
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 } @@ -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. |