# Cython attributes
lxml\.\w+\.\w+\.__copy__
lxml\.\w+\.\w+\.__deepcopy__
lxml\.\w+\.__pyx_capi__
lxml\.\w+\.\w+\.__reduce_cython__
lxml\.\w+\.\w+\.__setstate_cython__
lxml\.\w+\.__test__

# Stub internal file structure
lxml\._types
lxml\.etree\._classlookup
lxml\.etree\._cleanup
lxml\.etree\._docloader
lxml\.etree\._dtd
lxml\.etree\._element
lxml\.etree\._factory_func
lxml\.etree\._iterparse
lxml\.etree\._module_func
lxml\.etree\._module_misc
lxml\.etree\._nsclasses
lxml\.etree\._parser
lxml\.etree\._relaxng
lxml\.etree\._saxparser
lxml\.etree\._serializer
lxml\.etree\._xinclude
lxml\.etree\._xmlerror
lxml\.etree\._xmlid
lxml\.etree\._xmlschema
lxml\.etree\._xpath
lxml\.etree\._xslt
lxml\.html\._element
lxml\.html\._form
lxml\.html\._funcs
lxml\.html\._parse
lxml\.objectify\._annotate
lxml\.objectify\._element
lxml\.objectify\._factory
lxml\.objectify\._misc

# Stuff intentionally unimplemented in stub
lxml\.ElementInclude\.default_loader
lxml\.doctestcompare
lxml\.etree\.PyErrorLog\.copy
lxml\.etree\.Schematron
lxml\.etree\.XMLTreeBuilder
lxml\.etree\._BaseErrorLog\.copy
lxml\.get_include
lxml\.html\.ElementSoup
lxml\.html\.formfill
lxml\.html\.usedoctest
lxml\.includes
lxml\.includes\.extlibs
lxml\.includes\.libexslt
lxml\.includes\.libxml
lxml\.includes\.libxslt
lxml\.objectify\.NumberElement\.__\w+__
lxml\.objectify\.LongElement
lxml\.pyclasslookup
lxml\.usedoctest

# Stuff _only_ implemented in stub
lxml\.ElementInclude\.LoaderProtocol
lxml\.etree\._ListErrorLog\.clear
lxml\.etree\._Validator\.__call__
lxml\.etree\._XPathEvaluatorBase\.__call__
lxml\.etree\._XPathEvaluatorBase\.evaluate
lxml\.etree\.ErrorTypes\.__getattr__
lxml\.etree\.ParserTarget

# Stuff obsoleted or deprecated over time
lxml\.etree\.HTMLParser\.setElementClassLookup
lxml\.etree\.XMLParser\.setElementClassLookup
lxml\.etree\.XSLT\.apply
lxml\.html\.clean
lxml\.html\.clean\..+

# Stuff only available in newer lxml
lxml\.etree\.ICONV_COMPILED_VERSION
lxml\.etree\.LIBXML_COMPILED_FEATURES
lxml\.etree\.LIBXML_FEATURES

# Implementation intentionally differs
lxml\.etree\._Element\.__init__
lxml\.etree\._ErrorLog
lxml\.etree\.__all__
lxml\.etree\.HTMLPullParser\.__init__
lxml\.etree\.XMLPullParser\.__init__
lxml\.html\.builder\.[A-Z0-9]+
lxml\.html\.find_class
lxml\.html\.find_rel_links
lxml\.html\.iterlinks
lxml\.html\.make_links_absolute
lxml\.html\.resolve_base_href
lxml\.html\.rewrite_links
lxml\.objectify\.__all__
lxml\.objectify\.NumberElement

# Stub contains refined signature
lxml\.etree\._Element\.xpath
lxml\.etree\._ElementTree\.xpath
lxml\.etree\._ElementTree\.xslt
lxml\.etree\.C14NWriterTarget
lxml\.etree\.SubElement
lxml\.etree\.TreeBuilder\.[a-z]+
lxml\.html\.HtmlElement\.cssselect
lxml\.html\.tostring
lxml\.objectify\.DataElement
lxml\.objectify\.Element
lxml\.objectify\.SubElement
lxml\.objectify\.annotate

# Cannot inspect elements of virtual subclasses
lxml\.etree\.Element(\..+)?
lxml\.etree\.ElementTree(\..+)?

# Generic classes do not need explicit __class_getitem__
lxml.builder.ElementMaker.__class_getitem__
lxml.etree.HTMLParser.__class_getitem__
lxml.etree.XMLParser.__class_getitem__
lxml.sax.ElementTreeContentHandler.__class_getitem__

# Cython class __init__ clobbered by generic signature
lxml\.builder\.ElementMaker\.__init__
lxml\.etree\.CDATA\.__init__
lxml\.etree\.ETCompatXMLParser\.__init__
lxml\.etree\.HTMLParser\.__init__
lxml\.etree\.TreeBuilder\.__init__
lxml\.etree\.XInclude\.__init__
lxml\.etree\.XMLParser\.__init__
lxml\.etree\.XSLTAccessControl\.__init__
lxml\.etree\._BaseErrorLog\.__init__
lxml\.etree\.iterparse\.__init__
lxml\.etree\.iterwalk\.__init__
lxml\.objectify\.ElementMaker\.__init__

# Preload of lxml.html.defs when loading lxml.html
# confuses mypy.stubtest
lxml\.html\.__all__
lxml\.html\.defs

# mypy.stubtest f*cked up in following cases
lxml\.cssselect\.CSSSelector\.css
lxml\.etree\._ElementTree.write
lxml\.html\.soupparser\.fromstring
lxml\.html\.soupparser\.parse
lxml\.sax\.ElementTreeContentHandler\.__init__
