lxml 5.2.1__cp311-cp311-macosx_10_9_universal2.whl → 5.2.2__cp311-cp311-macosx_10_9_universal2.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
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,24 +1,24 @@
1
- lxml-5.2.1.dist-info/RECORD,,
2
- lxml-5.2.1.dist-info/WHEEL,sha256=eupBwbXGAhwNAPJSvj5BiShZwdZO8jnQ5yHfv-9aUGw,115
3
- lxml-5.2.1.dist-info/top_level.txt,sha256=NjD988wqaKq512nshNdLt-uDxsjkp4Bh51m6N-dhUrk,5
4
- lxml-5.2.1.dist-info/LICENSE.txt,sha256=ae20RcEzWoMS1MCScYR-mVbYTw2fck0SU0DMP612eyo,1488
5
- lxml-5.2.1.dist-info/LICENSES.txt,sha256=QdSd1AaqDhVIptXyGjDWv2OLPNlutyid00jYPtLkA5I,1514
6
- lxml-5.2.1.dist-info/METADATA,sha256=gOuJgh--uI1YuhrzK8UoTG-oBMJJB1tljdEWH-Y9_Aw,3444
1
+ lxml-5.2.2.dist-info/RECORD,,
2
+ lxml-5.2.2.dist-info/WHEEL,sha256=eupBwbXGAhwNAPJSvj5BiShZwdZO8jnQ5yHfv-9aUGw,115
3
+ lxml-5.2.2.dist-info/top_level.txt,sha256=NjD988wqaKq512nshNdLt-uDxsjkp4Bh51m6N-dhUrk,5
4
+ lxml-5.2.2.dist-info/LICENSE.txt,sha256=ae20RcEzWoMS1MCScYR-mVbYTw2fck0SU0DMP612eyo,1488
5
+ lxml-5.2.2.dist-info/LICENSES.txt,sha256=QdSd1AaqDhVIptXyGjDWv2OLPNlutyid00jYPtLkA5I,1514
6
+ lxml-5.2.2.dist-info/METADATA,sha256=Eoy02foYKZC4NytS5XkjJC_ni-KmgMp-MEld0m556KM,3428
7
7
  lxml/public-api.pxi,sha256=XoP6_cJOEoQIItvE1RiYCKYD1ry4AobaOr4XLo0KSE4,6666
8
8
  lxml/xmlid.pxi,sha256=5zf9oR6bsCtavGiOmilNyHqYwgG_bnrIabSd2SURtm0,6073
9
9
  lxml/cleanup.pxi,sha256=ZNEpbv7qx_ICPzsxhCaMUHCOfiznOoZ_u3jlYXHAuh4,8454
10
- lxml/objectify.cpython-311-darwin.so,sha256=rKMJunTm2jyVWDOyUHTaBAcvnsuXw7Oufpnx2sQVCYE,5601916
10
+ lxml/objectify.cpython-311-darwin.so,sha256=aJZpp0k1D_vs7cFvaI08gn0gp9RPSt1GfjVUIjaR5EQ,5378320
11
11
  lxml/_elementpath.py,sha256=5-PzX8ZIxPIvESKDGVL829sejYkvx991FSQyM-J0LqE,10888
12
12
  lxml/xslt.pxi,sha256=R2fpAf0P7GA1Dhjg0-fGVUbxCk8bBAshuoAs4ODwqlc,36023
13
13
  lxml/xpath.pxi,sha256=aqW24V817dUxps4Gnc8h7Tm3QVlITKvxU5_9WgJUIFg,19132
14
14
  lxml/debug.pxi,sha256=zhxiMeNnKtkjn_FWboHk1T-Vtcg_vEGV8jfYK0XyXHM,3282
15
- lxml/serializer.pxi,sha256=3wqS0zC0Pgh5ev-8Mn3YB6sVeJVH_j7wjpzSEDVTdvM,67951
15
+ lxml/serializer.pxi,sha256=OQ378sWrl0v3Cv1qomE3T0K2x6WMTukkguQ4XLvA_gI,67962
16
16
  lxml/classlookup.pxi,sha256=Tax8Vhbm5C6UCjgmRFsYjW0pFHxIuTthH1MOgASDLgc,22435
17
17
  lxml/saxparser.pxi,sha256=9nJEnVFFFx7vueUJ3fSeDjxG4gLgrXsDBWVkD_f8U1Q,33322
18
18
  lxml/sax.py,sha256=8e9Ef4Cfbwr7AHMGCBBZcotBkOehQtdaCxsVCgWM5_c,9303
19
- lxml/etree.cpython-311-darwin.so,sha256=XnpQuo_n3YaONUrlpMe0KTUmPsY_RnVvnptGTPNenvs,10068408
19
+ lxml/etree.cpython-311-darwin.so,sha256=lBS-RJy45o0C2W5dF3_3hxs-0K6ILTfx2lMooaga3HM,9244256
20
20
  lxml/pyclasslookup.py,sha256=gLD1HM2HtITYYiGzjEOewSwbB7XkVx_NZv_quCt79Oc,92
21
- lxml/__init__.py,sha256=muWa7ZIKDJW7z7hAmmliO3nRMLRFeGHBjo7qnnf2mIk,574
21
+ lxml/__init__.py,sha256=4yaU1-HfwsVESfRytVX_ANAhtFAmFLhzBtZNkXaaAew,574
22
22
  lxml/objectpath.pxi,sha256=s5TNG2-EbaWWKLFAiX303B95zK_Ui8ausB__3QvFFGw,11450
23
23
  lxml/relaxng.pxi,sha256=3OQ-fZMzP-KF5vM6HTozT_9ee3J0DJnpj9RcHC8LoMw,6339
24
24
  lxml/etree_api.h,sha256=XDHi7lgGoIcyoS8hB27di8OAb0RC6ubGs3ETzd3KDSE,17063
@@ -34,22 +34,22 @@ lxml/doctestcompare.py,sha256=40EDnkwpcvW86qNa86990OXF42xdHaosSZoiBsEjkzU,17731
34
34
  lxml/usedoctest.py,sha256=qRgZKQVcAZcl-zN0AIXVJnOsETUXz2nPXkxuzs1lGgk,230
35
35
  lxml/readonlytree.pxi,sha256=ddRYczhHieJ4XUvWvTPW9N9oQ8vuKtv7lC1mtE1qvH8,18976
36
36
  lxml/cssselect.py,sha256=_wZdX-B9p5MeIYABmENIYRWEkwXwX-7jO8Dkf-1rUZU,3306
37
- lxml/etree.pyx,sha256=dHJaEezpj2bZrsiUZgh5ypC79L3FPxMXRiHnGlBkOx8,133885
37
+ lxml/etree.pyx,sha256=LFQbkC_uIMFUS0F5O5tj0Wmog-MsFcF6VBdP8H2yqdQ,134556
38
38
  lxml/extensions.pxi,sha256=58O6mBbDeWnkiIsRd9T7mLodylo7typz2dbjpJryAyY,32088
39
39
  lxml/xmlschema.pxi,sha256=mumNoHni5S3BQPtcmOHRd61KRaVWu4eOie2wQeB0e6E,8490
40
40
  lxml/schematron.pxi,sha256=hFn1p4egpvvz-Tkk2AH7cbVOavTC-A7mzHABHrGh7g4,5908
41
- lxml/builder.cpython-311-darwin.so,sha256=LGsv_P_S5htl6PtnOMjlr1bENvvV4AQzkm-ShiV0RcU,307562
42
- lxml/sax.cpython-311-darwin.so,sha256=pVRx1yboysVknG3HtHwtXWV0Rlk9vNf5GxWG6NQ0Mb4,429926
43
- lxml/lxml.etree.h,sha256=NPhL2CztGkHk3YgMx2j7pkimDavjx_8CTmCRrdMxslM,9912
41
+ lxml/builder.cpython-311-darwin.so,sha256=Uo2JQ9c3tYM-Ozuq90lPhnGj67VqPQiyzgvWTErhjGI,289840
42
+ lxml/sax.cpython-311-darwin.so,sha256=mZ6PB7XoUTHCwD-zEGR6oXFdVZcGhPj69bvypaxRqlY,410016
43
+ lxml/lxml.etree.h,sha256=kF0YtzECn-SGPPgu_M6JgpgpBIrgDqcCMEBnuQKjF38,9912
44
44
  lxml/docloader.pxi,sha256=bYSZAxxbBEfVzfLXTUWFRfOyUTfV23L7i9hR2dgtSNY,5772
45
45
  lxml/nsclasses.pxi,sha256=5pzNBhBtlqObPdThL9QIGRs1Dxj1qnr0PyXuTCURqTg,9129
46
- lxml/etree.h,sha256=NPhL2CztGkHk3YgMx2j7pkimDavjx_8CTmCRrdMxslM,9912
46
+ lxml/etree.h,sha256=kF0YtzECn-SGPPgu_M6JgpgpBIrgDqcCMEBnuQKjF38,9912
47
47
  lxml/parsertarget.pxi,sha256=v1PidxRaG5giwXcTDkpBI7PDFmsZuOcK0y9LdkQaY8M,6326
48
48
  lxml/ElementInclude.py,sha256=PSLeZFvCa76WHJulPLxcZXJtCI2-4dK2CtqPRiYOAQg,8560
49
49
  lxml/xsltext.pxi,sha256=TImDiAPlAezC07P7RY1N9YChA7AuKFH-G53hXdel9yc,11088
50
50
  lxml/lxml.etree_api.h,sha256=10b-ePscCH-tL0k-Ve4JD109sxsFJQnNcLXet_7U8wc,17068
51
51
  lxml/proxy.pxi,sha256=TPfavn4-ufhVlr-GKciz2qXCTUFtvGdxO-F-h30yIws,23697
52
- lxml/_elementpath.cpython-311-darwin.so,sha256=Bln3YEvsjvw1oJHoNuBE2hEFZiJ374fhvn6xh77q-OM,474991
52
+ lxml/_elementpath.cpython-311-darwin.so,sha256=iQXmw_7ROIWkwVL_DX2D1_F_l4mQc5H4fwi6HZypQVo,435448
53
53
  lxml/isoschematron/__init__.py,sha256=D9LF5IXdj08t7QXajHFT3LtIW3-DCbXZw1ZjJZlpn-4,13270
54
54
  lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl,sha256=QweRrIIM-zFcgg98GXA2CaWfIbgVE0XKEeYSfvv67A0,4563
55
55
  lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl,sha256=ObebsB8Wt-d3uIA_U5NU85TpnQ3PxPX38TdOAqosMac,3172
@@ -64,7 +64,7 @@ lxml/includes/xmlerror.pxd,sha256=pNP5juL4hRHdVdXUWzMspbdtgPqJdHLDu4jns3ItvrI,58
64
64
  lxml/includes/c14n.pxd,sha256=DBQcOJ0c_YS245ohMb8fmuEC1kFyv1LrNY_8Mf-syZg,1110
65
65
  lxml/includes/xmlschema.pxd,sha256=OLZPd2WDJyopiXJJyo-dAyyYHaeSYFiMAI4tqIiv-Ik,1702
66
66
  lxml/includes/__init__.pxd,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
- lxml/includes/lxml-version.h,sha256=2fN0JTHAnzy65wnMxsss7l72xTYbVKZiJMDuIOQaai0,71
67
+ lxml/includes/lxml-version.h,sha256=Ss9KftoD6dlQuVvmQGRKRM0IUuPI1MWiRGCsjaBft68,71
68
68
  lxml/includes/schematron.pxd,sha256=Hob7xh-K-MKqp7WiG8thMagf5EkQzmgfi4ds0EF91JA,1604
69
69
  lxml/includes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
70
  lxml/includes/tree.pxd,sha256=Z5mHkABQPlnwu81WTTq7R4fz17rJAkamOvXf_Jp-nxg,20391
@@ -169,4 +169,4 @@ lxml/html/ElementSoup.py,sha256=s_dLobLMuKn2DhexR-iDXdZrMFg1RjLy1feHsIeZMpw,320
169
169
  lxml/html/_html5builder.py,sha256=NLaT-Ev-aBgJpeQl-6ZbJChLZK5GV-znDkHOJD5VQC4,3230
170
170
  lxml/html/usedoctest.py,sha256=tPlmVz4KK1GRKV5DJLrdVECeqsT9PlDzSqqTodVi5s0,249
171
171
  lxml/html/diff.py,sha256=n2jMJW8D2OYfG-SKbdmpSjZ3Lwk516WwJfMn6yvQiuM,30393
172
- lxml/html/diff.cpython-311-darwin.so,sha256=bBABtEFN-6kiYQ9QHNmekO2NwtY0LvtyFL3QC9saNbo,848247
172
+ lxml/html/diff.cpython-311-darwin.so,sha256=DjFkhyYLcsUKVl3kWr5mrURSetRjbuWVzXTFlrcyvEA,741104
File without changes