lxml 5.2.1__cp310-cp310-win32.whl → 5.2.2__cp310-cp310-win32.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
lxml/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # this is a package
2
2
 
3
- __version__ = "5.2.1"
3
+ __version__ = "5.2.2"
4
4
 
5
5
 
6
6
  def get_include():
Binary file
Binary file
Binary file
lxml/etree.h CHANGED
@@ -13,7 +13,7 @@ struct LxmlElementBase;
13
13
  struct LxmlElementClassLookup;
14
14
  struct LxmlFallbackElementClassLookup;
15
15
 
16
- /* "lxml/etree.pyx":333
16
+ /* "lxml/etree.pyx":353
17
17
  *
18
18
  * # type of a function that steps from node to node
19
19
  * ctypedef public xmlNode* (*_node_to_node_function)(xmlNode*) # <<<<<<<<<<<<<<
@@ -22,7 +22,7 @@ struct LxmlFallbackElementClassLookup;
22
22
  */
23
23
  typedef xmlNode *(*_node_to_node_function)(xmlNode *);
24
24
 
25
- /* "lxml/etree.pyx":349
25
+ /* "lxml/etree.pyx":369
26
26
  * @cython.final
27
27
  * @cython.freelist(8)
28
28
  * cdef public class _Document [ type LxmlDocumentType, object LxmlDocument ]: # <<<<<<<<<<<<<<
@@ -38,7 +38,7 @@ struct LxmlDocument {
38
38
  struct __pyx_obj_4lxml_5etree__BaseParser *_parser;
39
39
  };
40
40
 
41
- /* "lxml/etree.pyx":698
41
+ /* "lxml/etree.pyx":718
42
42
  *
43
43
  * @cython.no_gc_clear
44
44
  * cdef public class _Element [ type LxmlElementType, object LxmlElement ]: # <<<<<<<<<<<<<<
@@ -52,7 +52,7 @@ struct LxmlElement {
52
52
  PyObject *_tag;
53
53
  };
54
54
 
55
- /* "lxml/etree.pyx":1872
55
+ /* "lxml/etree.pyx":1892
56
56
  *
57
57
  *
58
58
  * cdef public class _ElementTree [ type LxmlElementTreeType, # <<<<<<<<<<<<<<
@@ -66,7 +66,7 @@ struct LxmlElementTree {
66
66
  struct LxmlElement *_context_node;
67
67
  };
68
68
 
69
- /* "lxml/etree.pyx":2646
69
+ /* "lxml/etree.pyx":2666
70
70
  *
71
71
  *
72
72
  * cdef public class _ElementTagMatcher [ object LxmlElementTagMatcher, # <<<<<<<<<<<<<<
@@ -82,7 +82,7 @@ struct LxmlElementTagMatcher {
82
82
  char *_name;
83
83
  };
84
84
 
85
- /* "lxml/etree.pyx":2677
85
+ /* "lxml/etree.pyx":2697
86
86
  * self._name = NULL
87
87
  *
88
88
  * cdef public class _ElementIterator(_ElementTagMatcher) [ # <<<<<<<<<<<<<<
lxml/etree.pyx CHANGED
@@ -232,7 +232,7 @@ cdef class C14NError(LxmlError):
232
232
  """
233
233
 
234
234
  # version information
235
- cdef __unpackDottedVersion(version):
235
+ cdef tuple __unpackDottedVersion(version):
236
236
  version_list = []
237
237
  l = (version.decode("ascii").replace('-', '.').split('.') + [0]*4)[:4]
238
238
  for item in l:
@@ -255,11 +255,11 @@ cdef __unpackDottedVersion(version):
255
255
  version_list.append(item)
256
256
  return tuple(version_list)
257
257
 
258
- cdef __unpackIntVersion(int c_version):
258
+ cdef tuple __unpackIntVersion(int c_version, int base=100):
259
259
  return (
260
- ((c_version // (100*100)) % 100),
261
- ((c_version // 100) % 100),
262
- (c_version % 100)
260
+ ((c_version // (base*base)) % base),
261
+ ((c_version // base) % base),
262
+ (c_version % base)
263
263
  )
264
264
 
265
265
  cdef int _LIBXML_VERSION_INT
@@ -276,6 +276,26 @@ LXML_VERSION = __unpackDottedVersion(tree.LXML_VERSION_STRING)
276
276
 
277
277
  __version__ = tree.LXML_VERSION_STRING.decode("ascii")
278
278
 
279
+ cdef extern from *:
280
+ """
281
+ #ifdef ZLIB_VERNUM
282
+ #define __lxml_zlib_version (ZLIB_VERNUM >> 4)
283
+ #else
284
+ #define __lxml_zlib_version 0
285
+ #endif
286
+ #ifdef _LIBICONV_VERSION
287
+ #define __lxml_iconv_version (_LIBICONV_VERSION << 8)
288
+ #else
289
+ #define __lxml_iconv_version 0
290
+ #endif
291
+ """
292
+ # zlib isn't included automatically by libxml2's headers
293
+ #long ZLIB_HEX_VERSION "__lxml_zlib_version"
294
+ long LIBICONV_HEX_VERSION "__lxml_iconv_version"
295
+
296
+ #ZLIB_COMPILED_VERSION = __unpackIntVersion(ZLIB_HEX_VERSION, base=0x10)
297
+ ICONV_COMPILED_VERSION = __unpackIntVersion(LIBICONV_HEX_VERSION, base=0x100)[:2]
298
+
279
299
 
280
300
  # class for temporary storage of Python references,
281
301
  # used e.g. for XPath results
Binary file
@@ -1,3 +1,3 @@
1
1
  #ifndef LXML_VERSION_STRING
2
- #define LXML_VERSION_STRING "5.2.1"
2
+ #define LXML_VERSION_STRING "5.2.2"
3
3
  #endif
lxml/lxml.etree.h CHANGED
@@ -13,7 +13,7 @@ struct LxmlElementBase;
13
13
  struct LxmlElementClassLookup;
14
14
  struct LxmlFallbackElementClassLookup;
15
15
 
16
- /* "lxml/etree.pyx":333
16
+ /* "lxml/etree.pyx":353
17
17
  *
18
18
  * # type of a function that steps from node to node
19
19
  * ctypedef public xmlNode* (*_node_to_node_function)(xmlNode*) # <<<<<<<<<<<<<<
@@ -22,7 +22,7 @@ struct LxmlFallbackElementClassLookup;
22
22
  */
23
23
  typedef xmlNode *(*_node_to_node_function)(xmlNode *);
24
24
 
25
- /* "lxml/etree.pyx":349
25
+ /* "lxml/etree.pyx":369
26
26
  * @cython.final
27
27
  * @cython.freelist(8)
28
28
  * cdef public class _Document [ type LxmlDocumentType, object LxmlDocument ]: # <<<<<<<<<<<<<<
@@ -38,7 +38,7 @@ struct LxmlDocument {
38
38
  struct __pyx_obj_4lxml_5etree__BaseParser *_parser;
39
39
  };
40
40
 
41
- /* "lxml/etree.pyx":698
41
+ /* "lxml/etree.pyx":718
42
42
  *
43
43
  * @cython.no_gc_clear
44
44
  * cdef public class _Element [ type LxmlElementType, object LxmlElement ]: # <<<<<<<<<<<<<<
@@ -52,7 +52,7 @@ struct LxmlElement {
52
52
  PyObject *_tag;
53
53
  };
54
54
 
55
- /* "lxml/etree.pyx":1872
55
+ /* "lxml/etree.pyx":1892
56
56
  *
57
57
  *
58
58
  * cdef public class _ElementTree [ type LxmlElementTreeType, # <<<<<<<<<<<<<<
@@ -66,7 +66,7 @@ struct LxmlElementTree {
66
66
  struct LxmlElement *_context_node;
67
67
  };
68
68
 
69
- /* "lxml/etree.pyx":2646
69
+ /* "lxml/etree.pyx":2666
70
70
  *
71
71
  *
72
72
  * cdef public class _ElementTagMatcher [ object LxmlElementTagMatcher, # <<<<<<<<<<<<<<
@@ -82,7 +82,7 @@ struct LxmlElementTagMatcher {
82
82
  char *_name;
83
83
  };
84
84
 
85
- /* "lxml/etree.pyx":2677
85
+ /* "lxml/etree.pyx":2697
86
86
  * self._name = NULL
87
87
  *
88
88
  * cdef public class _ElementIterator(_ElementTagMatcher) [ # <<<<<<<<<<<<<<
Binary file
lxml/sax.cp310-win32.pyd CHANGED
Binary file
lxml/serializer.pxi CHANGED
@@ -572,7 +572,7 @@ cdef _write_attr_string(tree.xmlOutputBuffer* buf, const char *string):
572
572
  # output to file-like objects
573
573
 
574
574
  cdef object io_open
575
- from io import open
575
+ from io import open as io_open
576
576
 
577
577
  cdef object gzip
578
578
  import gzip
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lxml
3
- Version: 5.2.1
3
+ Version: 5.2.2
4
4
  Summary: Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
5
5
  Home-page: https://lxml.de/
6
6
  Author: lxml dev team
@@ -71,19 +71,18 @@ https://github.com/lxml/lxml/tarball/lxml-5.2#egg=lxml-5.2bugfix
71
71
  as soon as a maintenance branch has been established. Note that this
72
72
  requires Cython to be installed at an appropriate version for the build.
73
73
 
74
- 5.2.1 (2024-04-02)
74
+ 5.2.2 (2024-05-12)
75
75
  ==================
76
76
 
77
77
  Bugs fixed
78
78
  ----------
79
79
 
80
- * LP#2059910: The minimum CPU architecture for the Linux x86 binary wheels was set back to
81
- "core2", but with SSE 4.2 enabled.
80
+ * GH#417: The ``test_feed_parser`` test could fail if ``lxml_html_clean`` was not installed.
81
+ It is now skipped in that case.
82
82
 
83
- * LP#2059977: ``Element.iterfind("//absolute_path")`` failed with a ``SyntaxError``
84
- where it should have issued a warning.
83
+ * LP#2059910: The minimum CPU architecture for the Linux x86 binary wheels was set back to
84
+ "core2", without SSE 4.2.
85
85
 
86
- * GH#416: The documentation build was using the non-standard ``which`` command.
87
- Patch by Michał Górny.
86
+ * If libxml2 uses iconv, the compile time version is available as `etree.ICONV_COMPILED_VERSION`.
88
87
 
89
88
 
@@ -1,9 +1,9 @@
1
1
  lxml/ElementInclude.py,sha256=pEvLKSyhNWtZTRr6liUJD-1mIqmbxbcurxcqZv7vNHg,8804
2
- lxml/__init__.py,sha256=tzYdqsFAQjFVtpQ0r5v4iCKYBxYL3QCUaYNNBsKYgRc,596
3
- lxml/_elementpath.cp310-win32.pyd,sha256=myKdIjBWsfnYcabr5hbbTB6EL1plXZiTxfHWsXqVYoQ,126976
2
+ lxml/__init__.py,sha256=6wbRk_JquV5fyRilFwHJur0zVZmu_b_HWoRfsd84Nyo,596
3
+ lxml/_elementpath.cp310-win32.pyd,sha256=o7LRFm7E7eSmhJrdS6NY2sfZUG3wdOv0Vj3tsYSv_FA,126976
4
4
  lxml/_elementpath.py,sha256=waZwwmgKbOlNaztLRUOXWBnHnZdQwDWwv7M0GgHwJ44,11229
5
5
  lxml/apihelpers.pxi,sha256=4S__cOXO4gq5tsr453GJPeRdbqI5B830SFYsxyUPok0,65403
6
- lxml/builder.cp310-win32.pyd,sha256=-2JDZEYRAPq1ZzaHcHjwh-YyfOxnFIWmYzAU3AAdfwU,70144
6
+ lxml/builder.cp310-win32.pyd,sha256=91q-J5nYdex19omMUvPyrbhE6ImNSDnjfVh36zd-ruQ,70144
7
7
  lxml/builder.py,sha256=5P0LKYgwJws2fmKAZOr9gkqsBtY-lUC9LDF2W5B5Aik,8332
8
8
  lxml/classlookup.pxi,sha256=rRtWHz9AajMqkm7RiG_PkOCsaQTRkgK757pRj3RvCxA,23015
9
9
  lxml/cleanup.pxi,sha256=Zll_xQcmMBkUQtkWugiJ7TDQWPR0IHKjD5OesmQ0dB8,8669
@@ -12,16 +12,16 @@ lxml/debug.pxi,sha256=HdUEKw8hU1Wzz4nO3hheqrauZlPATsv7N4QPQxCdth4,3372
12
12
  lxml/docloader.pxi,sha256=tP6b_zZ5s0-Zj2kf2mFksI8U5whArwOVDOVuaZcbgtM,5950
13
13
  lxml/doctestcompare.py,sha256=1r23O3Ki1BypqzkVWh97FEdRq-ENvmFEWuABOWdE0Lo,18219
14
14
  lxml/dtd.pxi,sha256=-M93Bx2WbDuyjTW1Btl2eG0U7q7YtkAU9sz9ZQ_5pa4,15706
15
- lxml/etree.cp310-win32.pyd,sha256=cHLRpR3y6W4C2YrxsAbuKKQeXV9ADSOoiRztWnHQ63A,3467264
16
- lxml/etree.h,sha256=NPhL2CztGkHk3YgMx2j7pkimDavjx_8CTmCRrdMxslM,9912
17
- lxml/etree.pyx,sha256=NYTMRlUmCau1qaPlc9OEe7lsGUq6MVLkic8gZmjBEkg,137597
15
+ lxml/etree.cp310-win32.pyd,sha256=i2wDcyoDhbCJgiPp0DAfwsm_SO_9ZHN6PvUsBDrIyH8,3467264
16
+ lxml/etree.h,sha256=kF0YtzECn-SGPPgu_M6JgpgpBIrgDqcCMEBnuQKjF38,9912
17
+ lxml/etree.pyx,sha256=bZkrvxMwKIvtMcQ6QTvv7RKkOyLXMtXuZOd6OGe4hmg,138288
18
18
  lxml/etree_api.h,sha256=XDHi7lgGoIcyoS8hB27di8OAb0RC6ubGs3ETzd3KDSE,17063
19
19
  lxml/extensions.pxi,sha256=s3IkovN6q7I1lvAEs3rh7F-8TtTjTGXRSkptYV9012I,32921
20
20
  lxml/iterparse.pxi,sha256=u-fbcHXv9WPz6aOnexe4Vwv5zHJz0-Gc8ScOL-qhcpQ,16965
21
- lxml/lxml.etree.h,sha256=1pHssiGfgydjVlSwEGghrwF4_y2kyELiSojvGEhFHzw,10160
21
+ lxml/lxml.etree.h,sha256=FEl_Zkc6PXXCCnmDJc9MES_KnkD4c2aixnreKfgl9hc,10160
22
22
  lxml/lxml.etree_api.h,sha256=vBxFPTxggSL251E5RupQ5ylcFTgKBxQJtF9dnmaofzI,17263
23
23
  lxml/nsclasses.pxi,sha256=9TiZjPbP73H8VN0Xu1RmuRB7G-D0pTTSqLPbdTJQt5U,9410
24
- lxml/objectify.cp310-win32.pyd,sha256=6Ia3cB1iV1La33Dp_dYYE4qIrqSMm2FstsxRfC7CtGE,1575424
24
+ lxml/objectify.cp310-win32.pyd,sha256=xfWPgRGLO32Q5Q00Sd7SFGezqKzT_-dz33CS8r4mpWA,1575424
25
25
  lxml/objectify.pyx,sha256=IngqdSCtxUav_NklHutFR92AuuNfr9nYchEY3Zprchc,77880
26
26
  lxml/objectpath.pxi,sha256=og7LX-a88RrgJI3lUAtuJ8Hvx4RpNf57k7pmafzCuCA,11782
27
27
  lxml/parser.pxi,sha256=i4OJWLw7PbCMteTM5n-ur7LOhgy3cTNus5h_iy5-Dfo,83860
@@ -31,11 +31,11 @@ lxml/public-api.pxi,sha256=NT9BUTPhf0ZxLKm61xKT4SVmWxbb5aImmNIeTJdXNRs,6844
31
31
  lxml/pyclasslookup.py,sha256=jDGYrbxuKE3Hl07PbILX_ptLkQaXYrpJSgvil4hIs3s,95
32
32
  lxml/readonlytree.pxi,sha256=W3RXFM2aUGM8ZswTBP5EUW-wT1n6x7fpEGloQQa5cPE,19541
33
33
  lxml/relaxng.pxi,sha256=rjTfl-rBYlHqQv4nfxVK8KZR59KqKWQp9lZv3aKYXVk,6504
34
- lxml/sax.cp310-win32.pyd,sha256=AX8L-lXZBfqhIGmLcHyT5e082583Ww9PCgrqYCbC3GM,111104
34
+ lxml/sax.cp310-win32.pyd,sha256=FuhKGyzd-84rxAzUd1CCkjk8PRf9hTmIegg7OjtXp6U,111104
35
35
  lxml/sax.py,sha256=8YlAeeVyPL-ksvIDkOZ7HlXSvwByoiMaIujzN4nTjQw,9578
36
36
  lxml/saxparser.pxi,sha256=HWkubajdSI7_SwKO1vu0uOHTljXU6NZhhBfEdEd06R8,34197
37
37
  lxml/schematron.pxi,sha256=STQpiSEjL81MVePjobPhhWYJEH2KucWW519NFiWpSG8,6076
38
- lxml/serializer.pxi,sha256=IfNpjhXOaQY-AVNtSawXUwKv05z9z3gmGO-yUC1HS_8,69822
38
+ lxml/serializer.pxi,sha256=-htCl2tPkKak3MUEWejwHoqlK72lKZ5bX3U_CTw-4Q4,69833
39
39
  lxml/usedoctest.py,sha256=cn3rXeL3F-ISj-HXNL9g4EwciH60b9NcZjXIRAF31iM,243
40
40
  lxml/xinclude.pxi,sha256=DTre_KYISt1rzbf_qS75ix-ZbruSBnefIfNs4AqvF-M,2523
41
41
  lxml/xmlerror.pxi,sha256=VFEO6Tn2RMVjKF9SXE15piak23lMaNrvE2pqT0hxfFw,51508
@@ -52,7 +52,7 @@ lxml/html/_setmixin.py,sha256=6cUyIeiMIn5zUytcWHsdWZXyMJXVsfJVVQoAIIe9h7Q,1244
52
52
  lxml/html/builder.py,sha256=X4-ZNqczoi9h035AN-4BmfSYDfsVyKpXXGsYPUFAh48,4625
53
53
  lxml/html/clean.py,sha256=B_rsm3Mz7pn_Z8LnkXeSocL257--sqWJGaxBp2LlmB8,524
54
54
  lxml/html/defs.py,sha256=w_8kGoMweUNZxTjQ9UlMeUo8wyTTvzjDG4ub24j8RRg,4371
55
- lxml/html/diff.cp310-win32.pyd,sha256=Dt-HkLvY8nIICqXkhkM2STxGEy0dDF7O0Mz2CbeSo50,252928
55
+ lxml/html/diff.cp310-win32.pyd,sha256=fMCz81_gNRgAfVAj9QPFeANtmqTn4ytRuY0icmZJ1hs,252928
56
56
  lxml/html/diff.py,sha256=Nygvg_a29fblqyj07CeCtl9_OV3AWPFTBjwqEOk8-PM,31271
57
57
  lxml/html/formfill.py,sha256=8yXFIO4DNVY-HG8q4O4OtxIQ8qmLpXYQ8T1rFUTkK8c,9980
58
58
  lxml/html/html5parser.py,sha256=iupCVDO_6I1PNWstkE6omdDh-rEc0KMaIXo1OCP9noM,8894
@@ -66,7 +66,7 @@ lxml/includes/dtdvalid.pxd,sha256=VOt94bqe417bxvfkfbtbsd5kVnwQj4oYSHMfnV2pcsM,70
66
66
  lxml/includes/etree_defs.h,sha256=XXz1CliDqEBPvxGNtnmYEwE6D1Xtdib1sMk9JvvkHDM,14624
67
67
  lxml/includes/etreepublic.pxd,sha256=s2HRJSuZhwlDi3oHsSBPChA4dgTnWjWWMzBb3VxrtJw,10421
68
68
  lxml/includes/htmlparser.pxd,sha256=UEV2wIp8RHekwUAcPWMQe8KBfEv39u0c3LHOsdvRr0k,2858
69
- lxml/includes/lxml-version.h,sha256=mC7fdlttvjzautEbr-o-68YHVS5tRvZJLPoqsjmXNy4,74
69
+ lxml/includes/lxml-version.h,sha256=Uu2FTYF-mVpj8ake-y7I3CDZ-mAs8vmfUBZOKzMIBfg,74
70
70
  lxml/includes/relaxng.pxd,sha256=H5W5XObI5YtRpULeiRy6K6ldUZC0tDQauAFZ7PJSqE4,2679
71
71
  lxml/includes/schematron.pxd,sha256=JmKDG9ElNPXJ7rZzOpQjPaIdzIZ1pzMEOT_GjZRK98U,1638
72
72
  lxml/includes/tree.pxd,sha256=Uo6hPybaSgh6P9YdQfpr0mftCrSyYZ_w_Z0FyCtOr1c,20885
@@ -167,9 +167,9 @@ lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl
167
167
  lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl,sha256=Vo1F576odRkdLBmuEEWrLa5LF3SMTX9B6EEGnxUbv_8,73560
168
168
  lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl,sha256=UI7xHx0leNXS9BaU6cyQ4CHeflufKmAE-zjOrihuH-E,20970
169
169
  lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt,sha256=OGLiFswuLJEW5EPYKOeoauuCJFEtVa6jyzBE1OcJI98,3310
170
- lxml-5.2.1.dist-info/LICENSE.txt,sha256=tircdrXghpYNqK2q-tqeBOMqrzXhzLFM71dCQFqu0nw,1517
171
- lxml-5.2.1.dist-info/LICENSES.txt,sha256=zlP1CNDLiL20Yh4jbKNIgaP6GAX5ffzPOJYBKKTi6tk,1543
172
- lxml-5.2.1.dist-info/METADATA,sha256=VmZHKN68I3oth5F5GL2yItClDMbCa-6Hxne8JLsILsc,3533
173
- lxml-5.2.1.dist-info/WHEEL,sha256=RyLtD17TRXemRgS90DEnpEXWZB9e6GGH4dvD03N_Jp0,98
174
- lxml-5.2.1.dist-info/top_level.txt,sha256=NjD988wqaKq512nshNdLt-uDxsjkp4Bh51m6N-dhUrk,5
175
- lxml-5.2.1.dist-info/RECORD,,
170
+ lxml-5.2.2.dist-info/LICENSE.txt,sha256=tircdrXghpYNqK2q-tqeBOMqrzXhzLFM71dCQFqu0nw,1517
171
+ lxml-5.2.2.dist-info/LICENSES.txt,sha256=zlP1CNDLiL20Yh4jbKNIgaP6GAX5ffzPOJYBKKTi6tk,1543
172
+ lxml-5.2.2.dist-info/METADATA,sha256=nRwbPPQWYDKxuxgbXS69076Pef-JyLNoigy--EakYxY,3516
173
+ lxml-5.2.2.dist-info/WHEEL,sha256=RyLtD17TRXemRgS90DEnpEXWZB9e6GGH4dvD03N_Jp0,98
174
+ lxml-5.2.2.dist-info/top_level.txt,sha256=NjD988wqaKq512nshNdLt-uDxsjkp4Bh51m6N-dhUrk,5
175
+ lxml-5.2.2.dist-info/RECORD,,
File without changes