lxml 5.3.2__cp310-cp310-win32.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.
Files changed (175) hide show
  1. lxml/ElementInclude.py +244 -0
  2. lxml/__init__.py +22 -0
  3. lxml/_elementpath.cp310-win32.pyd +0 -0
  4. lxml/_elementpath.py +341 -0
  5. lxml/apihelpers.pxi +1793 -0
  6. lxml/builder.cp310-win32.pyd +0 -0
  7. lxml/builder.py +232 -0
  8. lxml/classlookup.pxi +580 -0
  9. lxml/cleanup.pxi +215 -0
  10. lxml/cssselect.py +101 -0
  11. lxml/debug.pxi +90 -0
  12. lxml/docloader.pxi +178 -0
  13. lxml/doctestcompare.py +488 -0
  14. lxml/dtd.pxi +479 -0
  15. lxml/etree.cp310-win32.pyd +0 -0
  16. lxml/etree.h +248 -0
  17. lxml/etree.pyx +3732 -0
  18. lxml/etree_api.h +195 -0
  19. lxml/extensions.pxi +833 -0
  20. lxml/html/ElementSoup.py +10 -0
  21. lxml/html/__init__.py +1923 -0
  22. lxml/html/_diffcommand.py +86 -0
  23. lxml/html/_html5builder.py +100 -0
  24. lxml/html/_setmixin.py +56 -0
  25. lxml/html/builder.py +133 -0
  26. lxml/html/clean.py +21 -0
  27. lxml/html/defs.py +135 -0
  28. lxml/html/diff.cp310-win32.pyd +0 -0
  29. lxml/html/diff.py +878 -0
  30. lxml/html/formfill.py +299 -0
  31. lxml/html/html5parser.py +260 -0
  32. lxml/html/soupparser.py +314 -0
  33. lxml/html/usedoctest.py +13 -0
  34. lxml/includes/__init__.pxd +0 -0
  35. lxml/includes/__init__.py +0 -0
  36. lxml/includes/c14n.pxd +25 -0
  37. lxml/includes/config.pxd +3 -0
  38. lxml/includes/dtdvalid.pxd +18 -0
  39. lxml/includes/etree_defs.h +379 -0
  40. lxml/includes/etreepublic.pxd +237 -0
  41. lxml/includes/extlibs/__init__.py +0 -0
  42. lxml/includes/extlibs/zconf.h +543 -0
  43. lxml/includes/extlibs/zlib.h +1938 -0
  44. lxml/includes/htmlparser.pxd +56 -0
  45. lxml/includes/libexslt/__init__.py +0 -0
  46. lxml/includes/libexslt/exslt.h +108 -0
  47. lxml/includes/libexslt/exsltconfig.h +70 -0
  48. lxml/includes/libexslt/exsltexports.h +63 -0
  49. lxml/includes/libexslt/libexslt.h +29 -0
  50. lxml/includes/libxml/HTMLparser.h +320 -0
  51. lxml/includes/libxml/HTMLtree.h +147 -0
  52. lxml/includes/libxml/SAX.h +204 -0
  53. lxml/includes/libxml/SAX2.h +173 -0
  54. lxml/includes/libxml/__init__.py +0 -0
  55. lxml/includes/libxml/c14n.h +128 -0
  56. lxml/includes/libxml/catalog.h +182 -0
  57. lxml/includes/libxml/chvalid.h +230 -0
  58. lxml/includes/libxml/debugXML.h +217 -0
  59. lxml/includes/libxml/dict.h +81 -0
  60. lxml/includes/libxml/encoding.h +233 -0
  61. lxml/includes/libxml/entities.h +151 -0
  62. lxml/includes/libxml/globals.h +529 -0
  63. lxml/includes/libxml/hash.h +236 -0
  64. lxml/includes/libxml/list.h +137 -0
  65. lxml/includes/libxml/nanoftp.h +186 -0
  66. lxml/includes/libxml/nanohttp.h +81 -0
  67. lxml/includes/libxml/parser.h +1265 -0
  68. lxml/includes/libxml/parserInternals.h +662 -0
  69. lxml/includes/libxml/pattern.h +100 -0
  70. lxml/includes/libxml/relaxng.h +218 -0
  71. lxml/includes/libxml/schemasInternals.h +958 -0
  72. lxml/includes/libxml/schematron.h +142 -0
  73. lxml/includes/libxml/threads.h +94 -0
  74. lxml/includes/libxml/tree.h +1314 -0
  75. lxml/includes/libxml/uri.h +94 -0
  76. lxml/includes/libxml/valid.h +448 -0
  77. lxml/includes/libxml/xinclude.h +129 -0
  78. lxml/includes/libxml/xlink.h +189 -0
  79. lxml/includes/libxml/xmlIO.h +369 -0
  80. lxml/includes/libxml/xmlautomata.h +146 -0
  81. lxml/includes/libxml/xmlerror.h +919 -0
  82. lxml/includes/libxml/xmlexports.h +50 -0
  83. lxml/includes/libxml/xmlmemory.h +228 -0
  84. lxml/includes/libxml/xmlmodule.h +57 -0
  85. lxml/includes/libxml/xmlreader.h +428 -0
  86. lxml/includes/libxml/xmlregexp.h +222 -0
  87. lxml/includes/libxml/xmlsave.h +88 -0
  88. lxml/includes/libxml/xmlschemas.h +246 -0
  89. lxml/includes/libxml/xmlschemastypes.h +152 -0
  90. lxml/includes/libxml/xmlstring.h +140 -0
  91. lxml/includes/libxml/xmlunicode.h +202 -0
  92. lxml/includes/libxml/xmlversion.h +526 -0
  93. lxml/includes/libxml/xmlwriter.h +488 -0
  94. lxml/includes/libxml/xpath.h +575 -0
  95. lxml/includes/libxml/xpathInternals.h +632 -0
  96. lxml/includes/libxml/xpointer.h +137 -0
  97. lxml/includes/libxslt/__init__.py +0 -0
  98. lxml/includes/libxslt/attributes.h +39 -0
  99. lxml/includes/libxslt/documents.h +93 -0
  100. lxml/includes/libxslt/extensions.h +262 -0
  101. lxml/includes/libxslt/extra.h +72 -0
  102. lxml/includes/libxslt/functions.h +78 -0
  103. lxml/includes/libxslt/imports.h +75 -0
  104. lxml/includes/libxslt/keys.h +53 -0
  105. lxml/includes/libxslt/libxslt.h +36 -0
  106. lxml/includes/libxslt/namespaces.h +68 -0
  107. lxml/includes/libxslt/numbersInternals.h +73 -0
  108. lxml/includes/libxslt/preproc.h +43 -0
  109. lxml/includes/libxslt/security.h +104 -0
  110. lxml/includes/libxslt/templates.h +77 -0
  111. lxml/includes/libxslt/transform.h +207 -0
  112. lxml/includes/libxslt/trio.h +216 -0
  113. lxml/includes/libxslt/triodef.h +220 -0
  114. lxml/includes/libxslt/variables.h +118 -0
  115. lxml/includes/libxslt/win32config.h +51 -0
  116. lxml/includes/libxslt/xslt.h +110 -0
  117. lxml/includes/libxslt/xsltInternals.h +1992 -0
  118. lxml/includes/libxslt/xsltconfig.h +179 -0
  119. lxml/includes/libxslt/xsltexports.h +64 -0
  120. lxml/includes/libxslt/xsltlocale.h +44 -0
  121. lxml/includes/libxslt/xsltutils.h +343 -0
  122. lxml/includes/lxml-version.h +3 -0
  123. lxml/includes/relaxng.pxd +64 -0
  124. lxml/includes/schematron.pxd +34 -0
  125. lxml/includes/tree.pxd +494 -0
  126. lxml/includes/uri.pxd +5 -0
  127. lxml/includes/xinclude.pxd +22 -0
  128. lxml/includes/xmlerror.pxd +852 -0
  129. lxml/includes/xmlparser.pxd +265 -0
  130. lxml/includes/xmlschema.pxd +35 -0
  131. lxml/includes/xpath.pxd +136 -0
  132. lxml/includes/xslt.pxd +190 -0
  133. lxml/isoschematron/__init__.py +348 -0
  134. lxml/isoschematron/resources/rng/iso-schematron.rng +709 -0
  135. lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl +75 -0
  136. lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl +77 -0
  137. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl +313 -0
  138. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl +1160 -0
  139. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl +55 -0
  140. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl +1796 -0
  141. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl +588 -0
  142. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt +84 -0
  143. lxml/iterparse.pxi +438 -0
  144. lxml/lxml.etree.h +248 -0
  145. lxml/lxml.etree_api.h +195 -0
  146. lxml/nsclasses.pxi +281 -0
  147. lxml/objectify.cp310-win32.pyd +0 -0
  148. lxml/objectify.pyx +2145 -0
  149. lxml/objectpath.pxi +332 -0
  150. lxml/parser.pxi +2000 -0
  151. lxml/parsertarget.pxi +180 -0
  152. lxml/proxy.pxi +619 -0
  153. lxml/public-api.pxi +178 -0
  154. lxml/pyclasslookup.py +3 -0
  155. lxml/readonlytree.pxi +565 -0
  156. lxml/relaxng.pxi +165 -0
  157. lxml/sax.cp310-win32.pyd +0 -0
  158. lxml/sax.py +275 -0
  159. lxml/saxparser.pxi +875 -0
  160. lxml/schematron.pxi +168 -0
  161. lxml/serializer.pxi +1781 -0
  162. lxml/usedoctest.py +13 -0
  163. lxml/xinclude.pxi +67 -0
  164. lxml/xmlerror.pxi +1654 -0
  165. lxml/xmlid.pxi +179 -0
  166. lxml/xmlschema.pxi +215 -0
  167. lxml/xpath.pxi +487 -0
  168. lxml/xslt.pxi +950 -0
  169. lxml/xsltext.pxi +242 -0
  170. lxml-5.3.2.dist-info/METADATA +100 -0
  171. lxml-5.3.2.dist-info/RECORD +175 -0
  172. lxml-5.3.2.dist-info/WHEEL +5 -0
  173. lxml-5.3.2.dist-info/licenses/LICENSE.txt +29 -0
  174. lxml-5.3.2.dist-info/licenses/LICENSES.txt +29 -0
  175. lxml-5.3.2.dist-info/top_level.txt +1 -0
lxml/xsltext.pxi ADDED
@@ -0,0 +1,242 @@
1
+ # XSLT extension elements
2
+
3
+ cdef class XSLTExtension:
4
+ """Base class of an XSLT extension element.
5
+ """
6
+ def execute(self, context, self_node, input_node, output_parent):
7
+ """execute(self, context, self_node, input_node, output_parent)
8
+ Execute this extension element.
9
+
10
+ Subclasses must override this method. They may append
11
+ elements to the `output_parent` element here, or set its text
12
+ content. To this end, the `input_node` provides read-only
13
+ access to the current node in the input document, and the
14
+ `self_node` points to the extension element in the stylesheet.
15
+
16
+ Note that the `output_parent` parameter may be `None` if there
17
+ is no parent element in the current context (e.g. no content
18
+ was added to the output tree yet).
19
+ """
20
+ pass
21
+
22
+ def apply_templates(self, _XSLTContext context not None, node, output_parent=None,
23
+ *, elements_only=False, remove_blank_text=False):
24
+ """apply_templates(self, context, node, output_parent=None, elements_only=False, remove_blank_text=False)
25
+
26
+ Call this method to retrieve the result of applying templates
27
+ to an element.
28
+
29
+ The return value is a list of elements or text strings that
30
+ were generated by the XSLT processor. If you pass
31
+ ``elements_only=True``, strings will be discarded from the result
32
+ list. The option ``remove_blank_text=True`` will only discard
33
+ strings that consist entirely of whitespace (e.g. formatting).
34
+ These options do not apply to Elements, only to bare string results.
35
+
36
+ If you pass an Element as `output_parent` parameter, the result
37
+ will instead be appended to the element (including attributes
38
+ etc.) and the return value will be `None`. This is a safe way
39
+ to generate content into the output document directly, without
40
+ having to take care of special values like text or attributes.
41
+ Note that the string discarding options will be ignored in this
42
+ case.
43
+ """
44
+ cdef xmlNode* c_parent
45
+ cdef xmlNode* c_node
46
+ cdef xmlNode* c_context_node
47
+ assert context._xsltCtxt is not NULL, "XSLT context not initialised"
48
+ c_context_node = _roNodeOf(node)
49
+ #assert c_context_node.doc is context._xsltContext.node.doc, \
50
+ # "switching input documents during transformation is not currently supported"
51
+
52
+ if output_parent is not None:
53
+ c_parent = _nonRoNodeOf(output_parent)
54
+ else:
55
+ c_parent = tree.xmlNewDocNode(
56
+ context._xsltCtxt.output, NULL, <unsigned char*>"fake-parent", NULL)
57
+
58
+ c_node = context._xsltCtxt.insert
59
+ context._xsltCtxt.insert = c_parent
60
+ xslt.xsltProcessOneNode(
61
+ context._xsltCtxt, c_context_node, NULL)
62
+ context._xsltCtxt.insert = c_node
63
+
64
+ if output_parent is not None:
65
+ return None
66
+
67
+ try:
68
+ return self._collectXSLTResultContent(
69
+ context, c_parent, elements_only, remove_blank_text)
70
+ finally:
71
+ # free all intermediate nodes that will not be freed by proxies
72
+ tree.xmlFreeNode(c_parent)
73
+
74
+ def process_children(self, _XSLTContext context not None, output_parent=None,
75
+ *, elements_only=False, remove_blank_text=False):
76
+ """process_children(self, context, output_parent=None, elements_only=False, remove_blank_text=False)
77
+
78
+ Call this method to process the XSLT content of the extension
79
+ element itself.
80
+
81
+ The return value is a list of elements or text strings that
82
+ were generated by the XSLT processor. If you pass
83
+ ``elements_only=True``, strings will be discarded from the result
84
+ list. The option ``remove_blank_text=True`` will only discard
85
+ strings that consist entirely of whitespace (e.g. formatting).
86
+ These options do not apply to Elements, only to bare string results.
87
+
88
+ If you pass an Element as `output_parent` parameter, the result
89
+ will instead be appended to the element (including attributes
90
+ etc.) and the return value will be `None`. This is a safe way
91
+ to generate content into the output document directly, without
92
+ having to take care of special values like text or attributes.
93
+ Note that the string discarding options will be ignored in this
94
+ case.
95
+ """
96
+ cdef xmlNode* c_parent
97
+ cdef xslt.xsltTransformContext* c_ctxt = context._xsltCtxt
98
+ cdef xmlNode* c_old_output_parent = c_ctxt.insert
99
+ assert context._xsltCtxt is not NULL, "XSLT context not initialised"
100
+
101
+ # output_parent node is used for adding results instead of
102
+ # elements list used in apply_templates, that's easier and allows to
103
+ # use attributes added to extension element with <xsl:attribute>.
104
+
105
+ if output_parent is not None:
106
+ c_parent = _nonRoNodeOf(output_parent)
107
+ else:
108
+ c_parent = tree.xmlNewDocNode(
109
+ context._xsltCtxt.output, NULL, <unsigned char*>"fake-parent", NULL)
110
+
111
+ c_ctxt.insert = c_parent
112
+ xslt.xsltApplyOneTemplate(c_ctxt,
113
+ c_ctxt.node, c_ctxt.inst.children, NULL, NULL)
114
+ c_ctxt.insert = c_old_output_parent
115
+
116
+ if output_parent is not None:
117
+ return None
118
+
119
+ try:
120
+ return self._collectXSLTResultContent(
121
+ context, c_parent, elements_only, remove_blank_text)
122
+ finally:
123
+ # free all intermediate nodes that will not be freed by proxies
124
+ tree.xmlFreeNode(c_parent)
125
+
126
+ cdef _collectXSLTResultContent(self, _XSLTContext context, xmlNode* c_parent,
127
+ bint elements_only, bint remove_blank_text):
128
+ cdef xmlNode* c_node
129
+ cdef xmlNode* c_next
130
+ cdef _ReadOnlyProxy proxy
131
+ cdef list results = [] # or maybe _collectAttributes(c_parent, 2) ?
132
+ c_node = c_parent.children
133
+ while c_node is not NULL:
134
+ c_next = c_node.next
135
+ if c_node.type == tree.XML_TEXT_NODE:
136
+ if not elements_only:
137
+ s = funicode(c_node.content)
138
+ if not remove_blank_text or s.strip():
139
+ results.append(s)
140
+ s = None
141
+ elif c_node.type == tree.XML_ELEMENT_NODE:
142
+ proxy = _newReadOnlyProxy(
143
+ context._extension_element_proxy, c_node)
144
+ results.append(proxy)
145
+ # unlink node and make sure it will be freed later on
146
+ tree.xmlUnlinkNode(c_node)
147
+ proxy.free_after_use()
148
+ else:
149
+ raise TypeError, \
150
+ f"unsupported XSLT result type: {c_node.type}"
151
+ c_node = c_next
152
+ return results
153
+
154
+
155
+ cdef _registerXSLTExtensions(xslt.xsltTransformContext* c_ctxt,
156
+ extension_dict):
157
+ for ns_utf, name_utf in extension_dict:
158
+ xslt.xsltRegisterExtElement(
159
+ c_ctxt, _xcstr(name_utf), _xcstr(ns_utf),
160
+ <xslt.xsltTransformFunction>_callExtensionElement)
161
+
162
+ cdef void _callExtensionElement(xslt.xsltTransformContext* c_ctxt,
163
+ xmlNode* c_context_node,
164
+ xmlNode* c_inst_node,
165
+ void* dummy) noexcept with gil:
166
+ cdef _XSLTContext context
167
+ cdef XSLTExtension extension
168
+ cdef python.PyObject* dict_result
169
+ cdef xmlNode* c_node
170
+ cdef _ReadOnlyProxy context_node = None, self_node = None
171
+ cdef object output_parent # not restricted to ro-nodes
172
+ c_uri = _getNs(c_inst_node)
173
+ if c_uri is NULL:
174
+ # not allowed, and should never happen
175
+ return
176
+ if c_ctxt.xpathCtxt.userData is NULL:
177
+ # just for safety, should never happen
178
+ return
179
+ context = <_XSLTContext>c_ctxt.xpathCtxt.userData
180
+ try:
181
+ try:
182
+ dict_result = python.PyDict_GetItem(
183
+ context._extension_elements, (c_uri, c_inst_node.name))
184
+ if dict_result is NULL:
185
+ raise KeyError, f"extension element {funicode(c_inst_node.name)} not found"
186
+ extension = <object>dict_result
187
+
188
+ try:
189
+ # build the context proxy nodes
190
+ self_node = _newReadOnlyProxy(None, c_inst_node)
191
+ if _isElement(c_ctxt.insert):
192
+ output_parent = _newAppendOnlyProxy(self_node, c_ctxt.insert)
193
+ else:
194
+ # may be the document node or other stuff
195
+ output_parent = _newOpaqueAppendOnlyNodeWrapper(c_ctxt.insert)
196
+ if c_context_node.type in (tree.XML_DOCUMENT_NODE,
197
+ tree.XML_HTML_DOCUMENT_NODE):
198
+ c_node = tree.xmlDocGetRootElement(<xmlDoc*>c_context_node)
199
+ if c_node is not NULL:
200
+ context_node = _newReadOnlyProxy(self_node, c_node)
201
+ else:
202
+ context_node = None
203
+ elif c_context_node.type in (tree.XML_ATTRIBUTE_NODE,
204
+ tree.XML_TEXT_NODE,
205
+ tree.XML_CDATA_SECTION_NODE):
206
+ # this isn't easy to support using read-only
207
+ # nodes, as the smart-string factory must
208
+ # instantiate the parent proxy somehow...
209
+ raise TypeError(f"Unsupported element type: {c_context_node.type}")
210
+ else:
211
+ context_node = _newReadOnlyProxy(self_node, c_context_node)
212
+
213
+ # run the XSLT extension
214
+ context._extension_element_proxy = self_node
215
+ extension.execute(context, self_node, context_node, output_parent)
216
+ finally:
217
+ context._extension_element_proxy = None
218
+ if self_node is not None:
219
+ _freeReadOnlyProxies(self_node)
220
+ except Exception as e:
221
+ try:
222
+ e = unicode(e).encode("UTF-8")
223
+ except:
224
+ e = repr(e).encode("UTF-8")
225
+ message = python.PyBytes_FromFormat(
226
+ "Error executing extension element '%s': %s",
227
+ c_inst_node.name, _cstr(e))
228
+ xslt.xsltTransformError(c_ctxt, NULL, c_inst_node, "%s", message)
229
+ context._exc._store_raised()
230
+ except:
231
+ # just in case
232
+ message = python.PyBytes_FromFormat(
233
+ "Error executing extension element '%s'", c_inst_node.name)
234
+ xslt.xsltTransformError(c_ctxt, NULL, c_inst_node, "%s", message)
235
+ context._exc._store_raised()
236
+ except:
237
+ # no Python functions here - everything can fail...
238
+ xslt.xsltTransformError(c_ctxt, NULL, c_inst_node,
239
+ "Error during XSLT extension element evaluation")
240
+ context._exc._store_raised()
241
+ finally:
242
+ return # swallow any further exceptions
@@ -0,0 +1,100 @@
1
+ Metadata-Version: 2.4
2
+ Name: lxml
3
+ Version: 5.3.2
4
+ Summary: Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
5
+ Home-page: https://lxml.de/
6
+ Author: lxml dev team
7
+ Author-email: lxml@lxml.de
8
+ Maintainer: lxml dev team
9
+ Maintainer-email: lxml@lxml.de
10
+ License: BSD-3-Clause
11
+ Project-URL: Source, https://github.com/lxml/lxml
12
+ Classifier: Development Status :: 5 - Production/Stable
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Intended Audience :: Information Technology
15
+ Classifier: License :: OSI Approved :: BSD License
16
+ Classifier: Programming Language :: Cython
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.6
19
+ Classifier: Programming Language :: Python :: 3.7
20
+ Classifier: Programming Language :: Python :: 3.8
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: C
26
+ Classifier: Operating System :: OS Independent
27
+ Classifier: Topic :: Text Processing :: Markup :: HTML
28
+ Classifier: Topic :: Text Processing :: Markup :: XML
29
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
+ Requires-Python: >=3.6
31
+ License-File: LICENSE.txt
32
+ License-File: LICENSES.txt
33
+ Provides-Extra: source
34
+ Requires-Dist: Cython<3.1.0,>=3.0.11; extra == "source"
35
+ Provides-Extra: cssselect
36
+ Requires-Dist: cssselect>=0.7; extra == "cssselect"
37
+ Provides-Extra: html5
38
+ Requires-Dist: html5lib; extra == "html5"
39
+ Provides-Extra: htmlsoup
40
+ Requires-Dist: BeautifulSoup4; extra == "htmlsoup"
41
+ Provides-Extra: html-clean
42
+ Requires-Dist: lxml_html_clean; extra == "html-clean"
43
+ Dynamic: author
44
+ Dynamic: author-email
45
+ Dynamic: classifier
46
+ Dynamic: description
47
+ Dynamic: home-page
48
+ Dynamic: license
49
+ Dynamic: license-file
50
+ Dynamic: maintainer
51
+ Dynamic: maintainer-email
52
+ Dynamic: project-url
53
+ Dynamic: provides-extra
54
+ Dynamic: requires-python
55
+ Dynamic: summary
56
+
57
+ lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries. It
58
+ provides safe and convenient access to these libraries using the ElementTree
59
+ API.
60
+
61
+ It extends the ElementTree API significantly to offer support for XPath,
62
+ RelaxNG, XML Schema, XSLT, C14N and much more.
63
+
64
+ To contact the project, go to the `project home page
65
+ <https://lxml.de/>`_ or see our bug tracker at
66
+ https://launchpad.net/lxml
67
+
68
+ In case you want to use the current in-development version of lxml,
69
+ you can get it from the github repository at
70
+ https://github.com/lxml/lxml . Note that this requires Cython to
71
+ build the sources, see the build instructions on the project home
72
+ page. To the same end, running ``easy_install lxml==dev`` will
73
+ install lxml from
74
+ https://github.com/lxml/lxml/tarball/master#egg=lxml-dev if you have
75
+ an appropriate version of Cython installed.
76
+
77
+
78
+ After an official release of a new stable series, bug fixes may become
79
+ available at
80
+ https://github.com/lxml/lxml/tree/lxml-5.3 .
81
+ Running ``easy_install lxml==5.3bugfix`` will install
82
+ the unreleased branch state from
83
+ https://github.com/lxml/lxml/tarball/lxml-5.3#egg=lxml-5.3bugfix
84
+ as soon as a maintenance branch has been established. Note that this
85
+ requires Cython to be installed at an appropriate version for the build.
86
+
87
+ 5.3.2 (2025-04-05)
88
+ ==================
89
+
90
+ This release resolves CVE-2025-24928 as described in
91
+ https://gitlab.gnome.org/GNOME/libxml2/-/issues/847
92
+
93
+ Bugs fixed
94
+ ----------
95
+
96
+ * Binary wheels use libxml2 2.12.10 and libxslt 1.1.42.
97
+
98
+ * Binary wheels for Windows use a patched libxml2 2.11.9 and libxslt 1.1.39.
99
+
100
+
@@ -0,0 +1,175 @@
1
+ lxml/ElementInclude.py,sha256=pEvLKSyhNWtZTRr6liUJD-1mIqmbxbcurxcqZv7vNHg,8804
2
+ lxml/__init__.py,sha256=K-so7SOYN41ZBfkU5o9OpsmfWZOFzCfexXSRiRg--eI,596
3
+ lxml/_elementpath.cp310-win32.pyd,sha256=91KSG0cB7ZQwUPHYpG7Hw8-hXskGF5nZddLlWDgTDOM,126976
4
+ lxml/_elementpath.py,sha256=waZwwmgKbOlNaztLRUOXWBnHnZdQwDWwv7M0GgHwJ44,11229
5
+ lxml/apihelpers.pxi,sha256=4S__cOXO4gq5tsr453GJPeRdbqI5B830SFYsxyUPok0,65403
6
+ lxml/builder.cp310-win32.pyd,sha256=Jkvvuv0npy_UDvq1lSa8yIIaC6__CIAYg-X1zwDBRlA,70144
7
+ lxml/builder.py,sha256=5P0LKYgwJws2fmKAZOr9gkqsBtY-lUC9LDF2W5B5Aik,8332
8
+ lxml/classlookup.pxi,sha256=rRtWHz9AajMqkm7RiG_PkOCsaQTRkgK757pRj3RvCxA,23015
9
+ lxml/cleanup.pxi,sha256=Zll_xQcmMBkUQtkWugiJ7TDQWPR0IHKjD5OesmQ0dB8,8669
10
+ lxml/cssselect.py,sha256=ur77NVsTk24-t_1AFo5EjfEqyheuw01BRG-_Ob5DDQY,3407
11
+ lxml/debug.pxi,sha256=HdUEKw8hU1Wzz4nO3hheqrauZlPATsv7N4QPQxCdth4,3372
12
+ lxml/docloader.pxi,sha256=tP6b_zZ5s0-Zj2kf2mFksI8U5whArwOVDOVuaZcbgtM,5950
13
+ lxml/doctestcompare.py,sha256=1r23O3Ki1BypqzkVWh97FEdRq-ENvmFEWuABOWdE0Lo,18219
14
+ lxml/dtd.pxi,sha256=hO4U0Ql3xzpqtV8XDZXkJncNEbb_ML8QkaYL8SBDTD0,15760
15
+ lxml/etree.cp310-win32.pyd,sha256=PdDtV9xogvFD1MYaBQ_tc66iQ9OIffG_CwnNfT-heig,3465728
16
+ lxml/etree.h,sha256=rrJ2b-3YWpNtCL_j2Wd2VhXtcv9EbDT6Ju3ldIb8fyQ,9912
17
+ lxml/etree.pyx,sha256=PtHstVcD9V2S0EO8F5ZvJL8L_qAF0vCWvqzTsxrUftM,138249
18
+ lxml/etree_api.h,sha256=8qTtQmUdvNqy2grAE8N4BSn-gIMPpiyoe5C4Geo5KzU,17063
19
+ lxml/extensions.pxi,sha256=s3IkovN6q7I1lvAEs3rh7F-8TtTjTGXRSkptYV9012I,32921
20
+ lxml/iterparse.pxi,sha256=Nd26kE2NVAg2_eyhlBVleWH69rdXK6dZkR4AgpkDsys,16959
21
+ lxml/lxml.etree.h,sha256=r4YsdJ2NXeFAvntYcLJnam5a3A33G_PaPMD6kzBKyXE,10160
22
+ lxml/lxml.etree_api.h,sha256=uPFmASmuydIVaFANd1WhYAsiLPRamC4gxuRlV7u4-g0,17263
23
+ lxml/nsclasses.pxi,sha256=9TiZjPbP73H8VN0Xu1RmuRB7G-D0pTTSqLPbdTJQt5U,9410
24
+ lxml/objectify.cp310-win32.pyd,sha256=JtSwvTsidBy59La7hRTDGZFkyGKBxSuc4fx80bU6BpE,1575424
25
+ lxml/objectify.pyx,sha256=IngqdSCtxUav_NklHutFR92AuuNfr9nYchEY3Zprchc,77880
26
+ lxml/objectpath.pxi,sha256=og7LX-a88RrgJI3lUAtuJ8Hvx4RpNf57k7pmafzCuCA,11782
27
+ lxml/parser.pxi,sha256=ZvW9H2aa96jnMDG0_lsbkwijRnOYqVUfiveji_EF7KM,84040
28
+ lxml/parsertarget.pxi,sha256=0gZ5eLJ2hQ8tSApFEQx1PfzaiPqRuaRxD_GwKODIzEc,6506
29
+ lxml/proxy.pxi,sha256=phoeHZwmrN6LF3W57V5J-72ZPhGxdpI0TxgzVlD5pyU,24316
30
+ lxml/public-api.pxi,sha256=NT9BUTPhf0ZxLKm61xKT4SVmWxbb5aImmNIeTJdXNRs,6844
31
+ lxml/pyclasslookup.py,sha256=jDGYrbxuKE3Hl07PbILX_ptLkQaXYrpJSgvil4hIs3s,95
32
+ lxml/readonlytree.pxi,sha256=W3RXFM2aUGM8ZswTBP5EUW-wT1n6x7fpEGloQQa5cPE,19541
33
+ lxml/relaxng.pxi,sha256=rjTfl-rBYlHqQv4nfxVK8KZR59KqKWQp9lZv3aKYXVk,6504
34
+ lxml/sax.cp310-win32.pyd,sha256=Q4xHToXUXsyrlX11MjSMSNDWGRFb5JD7IAyp6H8xnBM,111104
35
+ lxml/sax.py,sha256=8YlAeeVyPL-ksvIDkOZ7HlXSvwByoiMaIujzN4nTjQw,9578
36
+ lxml/saxparser.pxi,sha256=HWkubajdSI7_SwKO1vu0uOHTljXU6NZhhBfEdEd06R8,34197
37
+ lxml/schematron.pxi,sha256=STQpiSEjL81MVePjobPhhWYJEH2KucWW519NFiWpSG8,6076
38
+ lxml/serializer.pxi,sha256=YbLINzPWp3KeshHc0R5R-FoHBLT2Eu7zqF6byr0HOwE,67534
39
+ lxml/usedoctest.py,sha256=cn3rXeL3F-ISj-HXNL9g4EwciH60b9NcZjXIRAF31iM,243
40
+ lxml/xinclude.pxi,sha256=DTre_KYISt1rzbf_qS75ix-ZbruSBnefIfNs4AqvF-M,2523
41
+ lxml/xmlerror.pxi,sha256=VFEO6Tn2RMVjKF9SXE15piak23lMaNrvE2pqT0hxfFw,51508
42
+ lxml/xmlid.pxi,sha256=Ng7Wifv0XXknjPMO6kldgrOHfCsII46UBPCkUTk96Qk,6252
43
+ lxml/xmlschema.pxi,sha256=sJumEEbkuR-vj2vDAE8vDvbjBhgzt_LRX-IwQRFgLTU,8705
44
+ lxml/xpath.pxi,sha256=iT1S7CBo2dBn19y926ktwPgAKGRC5WFnRgrncA6GwpM,19619
45
+ lxml/xslt.pxi,sha256=WtlZ2izr9g6-lrejYZV0tQKDqN-dQVBzAE4YEhls-Ac,36973
46
+ lxml/xsltext.pxi,sha256=syKkmI6GMwE_f-XPYC8rGFXJ5F9KeQigxz52CsbF4PA,11330
47
+ lxml/html/ElementSoup.py,sha256=dQSpzuzUT3LKCGh71H4rccB5RCwoMpyayRY-qbtWBM0,330
48
+ lxml/html/__init__.py,sha256=FAipGsw63JJBS4YHDorF5OQTWotfgUYM1695bFw44Wo,66225
49
+ lxml/html/_diffcommand.py,sha256=MfccaYAAKCtzCRe_MCXihC3vnuPUKiJbmOx85Dt37To,2167
50
+ lxml/html/_html5builder.py,sha256=XfqNFDQ5HUOWTqubeOe1m5qmIut6I_3Egye75wer7tE,3330
51
+ lxml/html/_setmixin.py,sha256=6cUyIeiMIn5zUytcWHsdWZXyMJXVsfJVVQoAIIe9h7Q,1244
52
+ lxml/html/builder.py,sha256=X4-ZNqczoi9h035AN-4BmfSYDfsVyKpXXGsYPUFAh48,4625
53
+ lxml/html/clean.py,sha256=B_rsm3Mz7pn_Z8LnkXeSocL257--sqWJGaxBp2LlmB8,524
54
+ lxml/html/defs.py,sha256=w_8kGoMweUNZxTjQ9UlMeUo8wyTTvzjDG4ub24j8RRg,4371
55
+ lxml/html/diff.cp310-win32.pyd,sha256=P40q2ZuuxRZMoX80HbU4gZ7NKCGR4kzxP5zW0Wp6b6Q,252928
56
+ lxml/html/diff.py,sha256=Nygvg_a29fblqyj07CeCtl9_OV3AWPFTBjwqEOk8-PM,31271
57
+ lxml/html/formfill.py,sha256=8yXFIO4DNVY-HG8q4O4OtxIQ8qmLpXYQ8T1rFUTkK8c,9980
58
+ lxml/html/html5parser.py,sha256=iupCVDO_6I1PNWstkE6omdDh-rEc0KMaIXo1OCP9noM,8894
59
+ lxml/html/soupparser.py,sha256=fQ_ZjWcXwKTrbPD8lsPe9YNPsQmk2o9zCd1fJGFX0zY,10511
60
+ lxml/html/usedoctest.py,sha256=eP0SnLLZFfYHNIegfLWPeBqO-4yyKKjStjtUAUGJN6w,262
61
+ lxml/includes/__init__.pxd,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
+ lxml/includes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
+ lxml/includes/c14n.pxd,sha256=sO2g4HgndNGlhsSmMI767T8KfZcNtjpFilzZ3OD4eqU,1135
64
+ lxml/includes/config.pxd,sha256=ECKwhEax5IW2KFn1BQdwR2M0FbWciVRFMJW7pHxJSqI,99
65
+ lxml/includes/dtdvalid.pxd,sha256=VOt94bqe417bxvfkfbtbsd5kVnwQj4oYSHMfnV2pcsM,707
66
+ lxml/includes/etree_defs.h,sha256=XXz1CliDqEBPvxGNtnmYEwE6D1Xtdib1sMk9JvvkHDM,14624
67
+ lxml/includes/etreepublic.pxd,sha256=s2HRJSuZhwlDi3oHsSBPChA4dgTnWjWWMzBb3VxrtJw,10421
68
+ lxml/includes/htmlparser.pxd,sha256=UEV2wIp8RHekwUAcPWMQe8KBfEv39u0c3LHOsdvRr0k,2858
69
+ lxml/includes/lxml-version.h,sha256=HS2mBCCldzoEzmgNN-S217hznVp_H8UpoC30LcWr2Hs,74
70
+ lxml/includes/relaxng.pxd,sha256=H5W5XObI5YtRpULeiRy6K6ldUZC0tDQauAFZ7PJSqE4,2679
71
+ lxml/includes/schematron.pxd,sha256=JmKDG9ElNPXJ7rZzOpQjPaIdzIZ1pzMEOT_GjZRK98U,1638
72
+ lxml/includes/tree.pxd,sha256=Uo6hPybaSgh6P9YdQfpr0mftCrSyYZ_w_Z0FyCtOr1c,20885
73
+ lxml/includes/uri.pxd,sha256=UbTG4fvHaq6jkNkwLyx6aMbbCCXGDmrE3KjPirCtW30,150
74
+ lxml/includes/xinclude.pxd,sha256=n3SdzxwdcwJxeX8TQIRZ_6ozABwg6mrMEOXDFzs5f50,826
75
+ lxml/includes/xmlerror.pxd,sha256=cVZruvjdntAoE8jy2XFxSG1l6kvsY8u9BK2MkE8GFLs,58868
76
+ lxml/includes/xmlparser.pxd,sha256=1TlqfcESIvW9vTo9UYi6Ddvr8LY7mEBWxTNxuMYvuy8,11699
77
+ lxml/includes/xmlschema.pxd,sha256=q6cHPJpi3uhkf2MLUUd2h3nCDB_4a1B8cei8aTHbN84,1737
78
+ lxml/includes/xpath.pxd,sha256=LsDoWjO5xJUB-z0_BdsItEWHhLgLpX40IdNmbYzpdv4,5739
79
+ lxml/includes/xslt.pxd,sha256=GM_Hkk7vGnWMlWlLM9YCpkUeGgWk8Lvmr1KUy5kbZ-4,8431
80
+ lxml/includes/extlibs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
+ lxml/includes/extlibs/zconf.h,sha256=mzNGi-0o_nxNbownE4bGAiU0E1zkJB-O3SezPUEprCI,17043
82
+ lxml/includes/extlibs/zlib.h,sha256=iO_DwdWubbhw14FW91xs9ITbicLsGUbUwnFpHXrxcZU,98767
83
+ lxml/includes/libexslt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
+ lxml/includes/libexslt/exslt.h,sha256=KxVX0CeCh0MpfTcGSr3f58MiJjx3GsJIC5Mvzrxn5Rg,3222
85
+ lxml/includes/libexslt/exsltconfig.h,sha256=ErNzH5xEZ2GFluiT7m3sdqlL-MFZPpjvXC7KLRjSGpQ,1242
86
+ lxml/includes/libexslt/exsltexports.h,sha256=_lddLoUjOXa172aAYSFfQXkp8xv8Q2WZxkKAT64Ev7g,1140
87
+ lxml/includes/libexslt/libexslt.h,sha256=h5Y5ny1LzW297MMCfRX-wnfQG0fTXqkTCp255GQNPj0,679
88
+ lxml/includes/libxml/HTMLparser.h,sha256=5OM28DqXmI6L3mmSx6k4khVuKZrm-EbXmhY0f4XW-mA,9809
89
+ lxml/includes/libxml/HTMLtree.h,sha256=LftyEurOqreJZt4B5GK2pqvY_bY2ub4TUjCfcchPFaw,3649
90
+ lxml/includes/libxml/SAX.h,sha256=mr-5to3NiHgQAlE4G4W4N_ht4I_nTvtAYTGpRMu_77M,4661
91
+ lxml/includes/libxml/SAX2.h,sha256=HZpRkyyFRHq5ZLDlPwNB4MGWUfWwkTE_Tl1oT8e6QPc,4642
92
+ lxml/includes/libxml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
+ lxml/includes/libxml/c14n.h,sha256=s1cBw7nxLGlHr6yzCu_PLJTYvRfoklqCGLVb417GoiI,3213
94
+ lxml/includes/libxml/catalog.h,sha256=se6ihXDRMywC8crnX-JJ0vzgSSx3QbbBAbtZQbJRF1E,4800
95
+ lxml/includes/libxml/chvalid.h,sha256=EoJ333bExUTlA_uGQOe8qOnJyaLbcnQRHrkMf6fjKLg,5317
96
+ lxml/includes/libxml/debugXML.h,sha256=s5raCA9NLszcprZsButf--5JyTSoCFfX692IRsQ6uLU,5145
97
+ lxml/includes/libxml/dict.h,sha256=PhOIy6vHQ-xnKVAjq2isoFRqI889TCK1rY2QqA_d368,1821
98
+ lxml/includes/libxml/encoding.h,sha256=D0Bqw8d4Mgdp4lXaLWR9En0ddf8mXpyJ4GoMZw0m0f8,8142
99
+ lxml/includes/libxml/entities.h,sha256=h0Omy2DQ7bEEH4NYrW1i9hSpnzp44wNgafkk84ZYt_c,4701
100
+ lxml/includes/libxml/globals.h,sha256=r-QvCDlV-JS2aAyg-fXpXgTojOFHUq5JXxK55myXDdQ,14931
101
+ lxml/includes/libxml/hash.h,sha256=ocPVGr9GVFZiTiFhyfpXYWMtB1SGhisZIrkzL9LiJz0,6637
102
+ lxml/includes/libxml/list.h,sha256=67XDm5W0TNjyE9OnXd6Is2-Yy0_449Z6RpB9wnQV7IU,3277
103
+ lxml/includes/libxml/nanoftp.h,sha256=1jalOwOgke6kV8aeZPc9WxZnGwvKVXQ8eZZ-ZwDrzMI,4150
104
+ lxml/includes/libxml/nanohttp.h,sha256=wu425iErZ1xR3HbQyMZR2Eg9kpO8MFEk_Cx07AS0FlE,1950
105
+ lxml/includes/libxml/parser.h,sha256=p49DU9gzUrmNie1yZOPANhCsQEhtHnYTLg5NbBIMS6s,40871
106
+ lxml/includes/libxml/parserInternals.h,sha256=6NQSnQDVzr1XznNRGoplwER_HtTuKK_C2Ro44v6D8AE,17241
107
+ lxml/includes/libxml/pattern.h,sha256=jIudTB3owWWdT-7qrb438-wtubZSK42SvJdHTn5JWFY,2566
108
+ lxml/includes/libxml/relaxng.h,sha256=kaua77JEbe5ME4J050VBjCIzHn9zWRGc8sF-M6bhjIc,6019
109
+ lxml/includes/libxml/schemasInternals.h,sha256=lqk2rUS2tsBd7tomThyyKXQIgS7_PXV44VpeFGe4bZg,27166
110
+ lxml/includes/libxml/schematron.h,sha256=HvC46w3UA2RDqWsRyMOIOOqwVvxDPtXldh-QZMr2CpY,4368
111
+ lxml/includes/libxml/threads.h,sha256=zy4K-2uwaGVLoZIl1uGMnRZpW5JMm9wXSizhyribwhc,1969
112
+ lxml/includes/libxml/tree.h,sha256=fre4cjgWR17stTPeNcUU3zlgmQezlHxnVgNwhGADCo0,38200
113
+ lxml/includes/libxml/uri.h,sha256=O0k1yros9uPC6isZ-Txwz5MAStOcad78ry_26ZmRvB0,2638
114
+ lxml/includes/libxml/valid.h,sha256=l0sOgDDIexRXc5mAnYl6ft2eEMSih23uo0Mmd05tHhM,13229
115
+ lxml/includes/libxml/xinclude.h,sha256=1u5xjjL67l_d_AXjGmuGCz1ZdP9oHesGmYx8OO-cJQs,3016
116
+ lxml/includes/libxml/xlink.h,sha256=TC-rXTWm0KF6G8Ey9BixzcekaYHpyEcKaXwdKT9aK_I,5191
117
+ lxml/includes/libxml/xmlIO.h,sha256=bztkE3NwGsYXhRjIZIkaA1ePtz0HbpwJwyTxVlTpmNg,10572
118
+ lxml/includes/libxml/xmlautomata.h,sha256=urpN6NMU6e7uLth7qZV-5WxT9MuCE6jwhQni7p8OEVY,3933
119
+ lxml/includes/libxml/xmlerror.h,sha256=qk2j-7CIkGMVrXJif3EADFb9TmtCRq_8NXAEDb2QKrk,37020
120
+ lxml/includes/libxml/xmlexports.h,sha256=GL37xMLc2uhXfvkWWrt5uIvSkxRvmr9XpHRvkWynp3s,1042
121
+ lxml/includes/libxml/xmlmemory.h,sha256=gKMVgPLk16j3sEbYO__tjJ-Kh0opn5XYtqigcG4RZ4k,6053
122
+ lxml/includes/libxml/xmlmodule.h,sha256=I5cuHClvL8Iz3iBxAX8e84yagpGGCDuSYoUQqZ2WqIU,1195
123
+ lxml/includes/libxml/xmlreader.h,sha256=XKS9vP0ydJIZeI7KO6xQTgjmG_xgYDayC5pMP9nmFKA,12339
124
+ lxml/includes/libxml/xmlregexp.h,sha256=hcM2ksyoT0iPqUZZMUMRZoRS1WuxtPsi68r1dBgadqY,5440
125
+ lxml/includes/libxml/xmlsave.h,sha256=hmnMQ3JqAM58Jz-sOSDS4FAT5CkfaQ8vJnRxWwZC-PQ,2345
126
+ lxml/includes/libxml/xmlschemas.h,sha256=bjBJmjocL7FFTuk492AIirX0jfQKHThHl6wMuk7E-oI,7071
127
+ lxml/includes/libxml/xmlschemastypes.h,sha256=Pj2xcKIJG7KOCJGGcYaJ_7IzJidT6tPeO0NCKksHCOk,4735
128
+ lxml/includes/libxml/xmlstring.h,sha256=1LTc15iy5slT-vh83YV8qoeXauXdzY8C_UqDb5TQ_7k,5411
129
+ lxml/includes/libxml/xmlunicode.h,sha256=pthMXVs3mfsWggKJDAJW9vDool6vakoEpLtCm65PQSk,8867
130
+ lxml/includes/libxml/xmlversion.h,sha256=DYJmx3Le2xLkPj9dRgf6FAU-L089JvinKi0s3zN59mQ,9833
131
+ lxml/includes/libxml/xmlwriter.h,sha256=6hMXHg7kXzFxQNWacviidOZT4CfhUXjPiVHkkvw5QYg,21113
132
+ lxml/includes/libxml/xpath.h,sha256=pIgW7Kl2J-0PWSbqCOB0nPRmMsCez2FxBgDptyaz-H0,16994
133
+ lxml/includes/libxml/xpathInternals.h,sha256=1Yd4MvL4U3wPwueqJisdZShzxUyyuF62OBazVQM09Ac,19049
134
+ lxml/includes/libxml/xpointer.h,sha256=Okpv5iwcg3oyD5pHiYitYPVuPn9372L4WbimO2-YL-0,3753
135
+ lxml/includes/libxslt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
+ lxml/includes/libxslt/attributes.h,sha256=CyXb4ZVnJVw7_0MHcHXPcNRkLAVDTTSu6zoLKZQDWmY,996
137
+ lxml/includes/libxslt/documents.h,sha256=6GUS9iIUS1p_5veDfF1Umx1xsHxNhTu3KnEVgBnNdqU,2797
138
+ lxml/includes/libxslt/extensions.h,sha256=iJxPhwKNqRfiIn3i3L8tKifC8uIBPn11t46q-j6XzBo,7161
139
+ lxml/includes/libxslt/extra.h,sha256=iOuhGjFLi0scm2ebgA07ER-FH1_6HmPeHfSghmXu5Xw,1712
140
+ lxml/includes/libxslt/functions.h,sha256=JK5nzaB8OrCCQlxBct6MMQp8K8c_Gd614Oq82fcGvaU,2050
141
+ lxml/includes/libxslt/imports.h,sha256=udGr3UW9dg3eEiddSDVWOUCvwljGyfM57RH2QgvZw1s,1915
142
+ lxml/includes/libxslt/keys.h,sha256=y3dY_lZ3kfYUB6Xw83ORnDoS68eJp0oGUEfDthYWtMI,1208
143
+ lxml/includes/libxslt/libxslt.h,sha256=QqaLpZIb4TcrGX0XIvKJQo04WjNZfh1Pe1lkw0biQEY,872
144
+ lxml/includes/libxslt/namespaces.h,sha256=k78ED1fUDe4G35uVhro5aqJ73aTfQ-xn45z-QkjZoWk,1734
145
+ lxml/includes/libxslt/numbersInternals.h,sha256=28Z_BOHCnJET76THaXsWkt_dR8K__YOIgdYvc4Q8_hA,2092
146
+ lxml/includes/libxslt/preproc.h,sha256=xhnTXIXM6CNIP4SsXJq9zrqqYOY4rnrDUny4jWvVt6g,939
147
+ lxml/includes/libxslt/security.h,sha256=1aSHQYnDTqlYB73RAobqfcLWsmCCRb52F_yHmyNcDZ0,2756
148
+ lxml/includes/libxslt/templates.h,sha256=CMZbbisqWm9ymU-HRp2hja0M2qwxiAgVjwBjZSF4BCc,2345
149
+ lxml/includes/libxslt/transform.h,sha256=DiUJicoml0QxgdbXCerCnKQuyben6PiCy6VG9nQrhso,6518
150
+ lxml/includes/libxslt/trio.h,sha256=kn-98NsJU9_hQ8I8l2-n8J5LmWH_0K0klXHR3hKtc0o,7415
151
+ lxml/includes/libxslt/triodef.h,sha256=XgbUXOc4472RCcmHqh-NMgMMLcykrubuI-9rNEkf3Jo,6912
152
+ lxml/includes/libxslt/variables.h,sha256=7cL1EOpzphzZJD39Qn9enHZzakeyEw7Hfz9n1IeQ0cY,3261
153
+ lxml/includes/libxslt/win32config.h,sha256=mJY4lc-u7nLtqHeIHFnJwpPbiNjkN7GZobaZjDmdCx0,1164
154
+ lxml/includes/libxslt/xslt.h,sha256=j6nZHxyY3U505GbtO_aeLMrJ9xE2uux45XOlyT0oeYY,2074
155
+ lxml/includes/libxslt/xsltInternals.h,sha256=RtgEYBm8nLxBrLpV0AEb7j2xKIV9SzaWeL28uPhY3zI,59886
156
+ lxml/includes/libxslt/xsltconfig.h,sha256=xIsNA5sg1jT91U7MDQFvMSYhpY5LenQ9lMbQoecw1vA,3819
157
+ lxml/includes/libxslt/xsltexports.h,sha256=GdcJL2oHi344GornuG2iAT27yqI48L9eim0ScAj9ywg,1188
158
+ lxml/includes/libxslt/xsltlocale.h,sha256=uAGe_73hvCZP5mDvHCHgcMvbdJ7FbHHSzCDInfuDub8,986
159
+ lxml/includes/libxslt/xsltutils.h,sha256=KD208ptsQHrHB1Du4biZU2iZM0Yb6M7c2SPJtjo46JE,9428
160
+ lxml/isoschematron/__init__.py,sha256=Ci8JiaKxfvu-hMRh7IP27TFhM03iEQ8CJoNsdXjLoM8,13622
161
+ lxml/isoschematron/resources/rng/iso-schematron.rng,sha256=cCM4qpfuTYAVtukjxlobPMlJ8nZ-au7DgONS2g4rYO4,19046
162
+ lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl,sha256=gy-E6xR2p35SK9wXFThraPJEI9NdoITNHd4xmqy7oxY,3247
163
+ lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl,sha256=QweRrIIM-zFcgg98GXA2CaWfIbgVE0XKEeYSfvv67A0,4563
164
+ lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl,sha256=SSUZkAkWhFYG_YNHvW9UU6X8tmMOH1vdpRmzqu0l4QM,12015
165
+ lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl,sha256=ZZ-d72rxQlACfrs4EmaDYxaRbxd0gPa-DPLRlVV6QRg,41116
166
+ lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl,sha256=NQal4z3EuZ_5QVoMFbJqma2SKg4-hzm_Db283-0l0kU,2069
167
+ lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl,sha256=Vo1F576odRkdLBmuEEWrLa5LF3SMTX9B6EEGnxUbv_8,73560
168
+ lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl,sha256=UI7xHx0leNXS9BaU6cyQ4CHeflufKmAE-zjOrihuH-E,20970
169
+ lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt,sha256=OGLiFswuLJEW5EPYKOeoauuCJFEtVa6jyzBE1OcJI98,3310
170
+ lxml-5.3.2.dist-info/licenses/LICENSE.txt,sha256=tircdrXghpYNqK2q-tqeBOMqrzXhzLFM71dCQFqu0nw,1517
171
+ lxml-5.3.2.dist-info/licenses/LICENSES.txt,sha256=zlP1CNDLiL20Yh4jbKNIgaP6GAX5ffzPOJYBKKTi6tk,1543
172
+ lxml-5.3.2.dist-info/METADATA,sha256=sZ1GvR0K2tNHYindQu9HVZV1cizASt19MxySkHnUgPo,3684
173
+ lxml-5.3.2.dist-info/WHEEL,sha256=xlKrXzr_1K18tdVBurRRTekMRqWYEwTju41b3f8kJkQ,97
174
+ lxml-5.3.2.dist-info/top_level.txt,sha256=NjD988wqaKq512nshNdLt-uDxsjkp4Bh51m6N-dhUrk,5
175
+ lxml-5.3.2.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (78.1.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp310-cp310-win32
5
+
@@ -0,0 +1,29 @@
1
+ Copyright (c) 2004 Infrae. All rights reserved.
2
+
3
+ Redistribution and use in source and binary forms, with or without
4
+ modification, are permitted provided that the following conditions are
5
+ met:
6
+
7
+ 1. Redistributions of source code must retain the above copyright
8
+ notice, this list of conditions and the following disclaimer.
9
+
10
+ 2. Redistributions in binary form must reproduce the above copyright
11
+ notice, this list of conditions and the following disclaimer in
12
+ the documentation and/or other materials provided with the
13
+ distribution.
14
+
15
+ 3. Neither the name of Infrae nor the names of its contributors may
16
+ be used to endorse or promote products derived from this software
17
+ without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INFRAE OR
23
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,29 @@
1
+ lxml is copyright Infrae and distributed under the BSD license (see
2
+ doc/licenses/BSD.txt), with the following exceptions:
3
+
4
+ Some code, such a selftest.py, selftest2.py and
5
+ src/lxml/_elementpath.py are derived from ElementTree and
6
+ cElementTree. See doc/licenses/elementtree.txt for the license text.
7
+
8
+ lxml.cssselect and lxml.html are copyright Ian Bicking and distributed
9
+ under the BSD license (see doc/licenses/BSD.txt).
10
+
11
+ test.py, the test-runner script, is GPL and copyright Shuttleworth
12
+ Foundation. See doc/licenses/GPL.txt. It is believed the unchanged
13
+ inclusion of test.py to run the unit test suite falls under the
14
+ "aggregation" clause of the GPL and thus does not affect the license
15
+ of the rest of the package.
16
+
17
+ The isoschematron implementation uses several XSL and RelaxNG resources:
18
+ * The (XML syntax) RelaxNG schema for schematron, copyright International
19
+ Organization for Standardization (see
20
+ src/lxml/isoschematron/resources/rng/iso-schematron.rng for the license
21
+ text)
22
+ * The skeleton iso-schematron-xlt1 pure-xslt schematron implementation
23
+ xsl stylesheets, copyright Rick Jelliffe and Academia Sinica Computing
24
+ Center, Taiwan (see the xsl files here for the license text:
25
+ src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/)
26
+ * The xsd/rng schema schematron extraction xsl transformations are unlicensed
27
+ and copyright the respective authors as noted (see
28
+ src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl and
29
+ src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl)
@@ -0,0 +1 @@
1
+ lxml