twisted / pydoctor

This is pydoctor, an API documentation generator that works by static analysis.
https://pydoctor.readthedocs.io/
Other
179 stars 47 forks source link

Doc-comments support #804

Open tristanlatr opened 1 week ago

tristanlatr commented 1 week ago

Fixes #800

tristanlatr commented 1 week ago

@lod, this PR introduces support for doc-comments

github-actions[bot] commented 1 week ago

Diff from pydoctor_primer, showing the effect of this PR on open source code:


ConfigArgParse (https://github.com/bw2/ConfigArgParse)
- /projects/ConfigArgParse/configargparse.py:452: bad docstring: Blank line missing before literal block (after the "::")? Interpreted as a definition list item.
- /projects/ConfigArgParse/configargparse.py:462: bad docstring: Unexpected indentation.
- /projects/ConfigArgParse/configargparse.py:463: bad docstring: Block quote ends without a blank line; unexpected unindent.
- /projects/ConfigArgParse/configargparse.py:465: bad docstring: Unexpected indentation.
- /projects/ConfigArgParse/configargparse.py:473: bad docstring: Unknown target name: "toml specification <>".
- /projects/ConfigArgParse/configargparse.py:632: bad docstring: Inline interpreted text or phrase reference start-string without end-string.
- /projects/ConfigArgParse/configargparse.py:399: bad docstring: Field list ends without a blank line; unexpected unindent.
- /projects/ConfigArgParse/configargparse.py:1370: Documented parameter "env_var" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:1375: Documented parameter "is_config_file_arg" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:1379: Documented parameter "is_write_out_config_file_arg" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:431: Cannot find link target for "toml.load" (you can link to external docs with --intersphinx)
- /projects/ConfigArgParse/configargparse.py:99: Cannot find link target for "IO"
- /projects/ConfigArgParse/configargparse.py:99: Cannot find link target for "IO"
- /projects/ConfigArgParse/configargparse.py:99: Cannot find link target for "IO"
- /projects/ConfigArgParse/configargparse.py:99: Cannot find link target for "IO"
- /projects/ConfigArgParse/configargparse.py:565: Unknown field 'split_ml_text_to_list'
- /projects/ConfigArgParse/configargparse.py:99: Cannot find link target for "IO"
- /projects/ConfigArgParse/configargparse.py:683: Documented parameter "add_config_file_help" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:685: Documented parameter "add_env_var_help" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:687: Documented parameter "auto_env_var_prefix" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:693: Documented parameter "default_config_files" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:705: Documented parameter "ignore_unknown_config_file_keys" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:710: Documented parameter "config_file_open_func" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:712: Documented parameter "config_file_parser_class" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:715: Documented parameter "args_for_setting_config_path" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:718: Documented parameter "config_arg_is_required" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:720: Documented parameter "config_arg_help_message" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:722: Documented parameter "args_for_writing_out_config_file" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:728: Documented parameter "write_out_config_file_arg_help_message" does not exist, variable keywords should be documented with the "Keyword Arguments" section
- /projects/ConfigArgParse/configargparse.py:1205: Cannot find link target for "IO"
- these 3 objects' docstrings contain syntax errors:
-     configargparse.CompositeConfigParser
-     configargparse.TomlConfigParser
-     configargparse.unquote_str
+ Traceback (most recent call last):
+   File "/new_pydoctor/venv/bin/pydoctor", line 8, in <module>
+     sys.exit(main())
+              ^^^^^^
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/driver.py", line 166, in main
+     system = get_system(options)
+              ^^^^^^^^^^^^^^^^^^^
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/driver.py", line 81, in get_system
+     builder.buildModules()
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/model.py", line 1646, in buildModules
+     self.system.process()
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/model.py", line 1477, in process
+     self.processModule(mod)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/model.py", line 1463, in processModule
+     builder.processModuleAST(ast, mod)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/astbuilder.py", line 1201, in processModuleAST
+     vis.walkabout(mod_ast)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 190, in walkabout
+     self.walkabout(child)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 181, in walkabout
+     self.visit(ob)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 143, in visit
+     super().visit(ob)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 21, in visit
+     visitor(ob)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/astbuilder.py", line 791, in visit_Assign
+     self._handleDocComment(node)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/astbuilder.py", line 766, in _handleDocComment
+     for doc_comment in [extract_doc_comment_before(node, lines), 
+                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/astutils.py", line 932, in extract_doc_comment_before
+     if comment_re.match(before_line):
+        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ TypeError: cannot use a string pattern on a bytes-like object

bottle (https://github.com/bottlepy/bottle): typechecking got 10.34x faster (13.6s -> 1.3s)
(Performance measurements are based on a single noisy sample)
+ Traceback (most recent call last):
+   File "/new_pydoctor/venv/bin/pydoctor", line 8, in <module>
+     sys.exit(main())
+              ^^^^^^
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/driver.py", line 166, in main
+     system = get_system(options)
+              ^^^^^^^^^^^^^^^^^^^
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/driver.py", line 81, in get_system
+     builder.buildModules()
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/model.py", line 1646, in buildModules
+     self.system.process()
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/model.py", line 1477, in process
+     self.processModule(mod)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/model.py", line 1463, in processModule
+     builder.processModuleAST(ast, mod)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/astbuilder.py", line 1201, in processModuleAST
+     vis.walkabout(mod_ast)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 190, in walkabout
+     self.walkabout(child)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 181, in walkabout
+     self.visit(ob)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 143, in visit
+     super().visit(ob)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 21, in visit
+     visitor(ob)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/astbuilder.py", line 791, in visit_Assign
+     self._handleDocComment(node)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/astbuilder.py", line 766, in _handleDocComment
+     for doc_comment in [extract_doc_comment_before(node, lines), 
+                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/astutils.py", line 932, in extract_doc_comment_before
+     if comment_re.match(before_line):
+        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ TypeError: cannot use a string pattern on a bytes-like object
- /projects/bottle/bottle.py:3012: bad docstring: Definition list ends without a blank line; unexpected unindent.
- /projects/bottle/bottle.py:3591: ambiguous ref to name, could be bottle.Route.name, bottle.HeaderProperty.name, bottle.JSONPlugin.name, bottle.TemplatePlugin.name, bottle._ImportRedirect.name, bottle.FileUpload.name, bottle.BaseTemplate.name
- /projects/bottle/bottle.py:3591: Cannot find link target for "name"
- /projects/bottle/bottle.py:3591: Cannot find link target for "pack.mod" (you can link to external docs with --intersphinx)
- /projects/bottle/bottle.py:3592: Cannot find link target for "pack.mod.func" (you can link to external docs with --intersphinx)
- /projects/bottle/bottle.py:3128: Parameter "script_name" was already documented
- /projects/bottle/bottle.py:3641: Cannot find link target for "wsgiref"
- /projects/bottle/bottle.py:3649: Documented parameter "options" does not exist, variable keywords should be documented with the "keyword" field
- /projects/bottle/bottle.py:2843: Cannot find link target for "Save as..." (you can link to external docs with --intersphinx)
- /projects/bottle/bottle.py:295: Cannot find link target for "/contact"
- /projects/bottle/bottle.py:296: Cannot find link target for "page"
- /projects/bottle/bottle.py:297: Cannot find link target for "routing"
- /projects/bottle/bottle.py:804: Cannot find link target for "Plugin"
- /projects/bottle/bottle.py:778: Cannot find link target for "/prefix"
- /projects/bottle/bottle.py:779: Cannot find link target for "/prefix/"
- /projects/bottle/bottle.py:767: Cannot find link target for "mount-point"
- /projects/bottle/bottle.py:900: Cannot find link target for "Plugin.apply" (you can link to external docs with --intersphinx)
- /projects/bottle/bottle.py:889: Cannot find link target for "GET"
- /projects/bottle/bottle.py:889: Cannot find link target for "PUT"
- /projects/bottle/bottle.py:889: Cannot find link target for "GET"
- /projects/bottle/bottle.py:1206: Cannot find link target for "Signed Cookie"
- /projects/bottle/bottle.py:1207: Cannot find link target for "secret"
- /projects/bottle/bottle.py:1362: Cannot find link target for "io.BytesIO" (you can link to external docs with --intersphinx)
- /projects/bottle/bottle.py:1364: Cannot find link target for "seek(0)"
- /projects/bottle/bottle.py:1261: Cannot find link target for "multipart/form-data"
- /projects/bottle/bottle.py:1237: Cannot find link target for "url-encoded"
- /projects/bottle/bottle.py:1237: Cannot find link target for "multipart/form-data"
- /projects/bottle/bottle.py:1483: Cannot find link target for "X-Requested-With"
- /projects/bottle/bottle.py:1381: Cannot find link target for "cgi.FieldStorage" (you can link to external docs with --intersphinx)
- /projects/bottle/bottle.py:1421: Cannot find link target for "urlparse.SplitResult" (you can link to external docs with --intersphinx)
- /projects/bottle/bottle.py:1882: Cannot find link target for "domain"
- /projects/bottle/bottle.py:1882: ambiguous ref to path, could be bottle.BaseRequest.path, bottle.ResourceManager.path
- /projects/bottle/bottle.py:1882: Cannot find link target for "path"
- /projects/bottle/bottle.py:1801: Cannot find link target for "secret"
- /projects/bottle/bottle.py:1802: Cannot find link target for "Signed Cookie"
- /projects/bottle/bottle.py:1809: Cannot find link target for "cookie.Morsel" (you can link to external docs with --intersphinx)
- /projects/bottle/bottle.py:1822: Cannot find link target for "maxage"
- /projects/bottle/bottle.py:1811: Documented parameter "maxage" does not exist, variable keywords should be documented with the "keyword" field
- /projects/bottle/bottle.py:1812: Documented parameter "expires" does not exist, variable keywords should be documented with the "keyword" field
- /projects/bottle/bottle.py:1813: Documented parameter "domain" does not exist, variable keywords should be documented with the "keyword" field
- /projects/bottle/bottle.py:1815: Documented parameter "path" does not exist, variable keywords should be documented with the "keyword" field
- /projects/bottle/bottle.py:1816: Documented parameter "secure" does not exist, variable keywords should be documented with the "keyword" field
- /projects/bottle/bottle.py:1817: Documented parameter "httponly" does not exist, variable keywords should be documented with the "keyword" field
- /projects/bottle/bottle.py:1820: Cannot find link target for "lax"
- /projects/bottle/bottle.py:1820: Cannot find link target for "strict"
- /projects/bottle/bottle.py:1820: Cannot find link target for "none"
- /projects/bottle/bottle.py:1819: Documented parameter "samesite" does not exist, variable keywords should be documented with the "keyword" field
- /projects/bottle/bottle.py:2021: Cannot find link target for "template_engine"
- /projects/bottle/bottle.py:2404: Cannot find link target for "python:configparser.ConfigParser" (you can link to external docs with --intersphinx)
- /projects/bottle/bottle.py:2670: Cannot find link target for "/"
- /projects/bottle/bottle.py:2707: Cannot find link target for "None"
- /projects/bottle/bottle.py:3476: Cannot find link target for "backlog"
- /projects/bottle/bottle.py:3479: Cannot find link target for "family"
- these 1 objects' docstrings contain syntax errors:
-     bottle._parse_http_header

urllib3 (https://github.com/urllib3/urllib3): typechecking got 14.63x faster (17.7s -> 1.2s)
(Performance measurements are based on a single noisy sample)
- /projects/urllib3/src/urllib3/util/timeout.py:64: bad docstring: Duplicate explicit target name: "the global default timeout in socket.py".
- /projects/urllib3/src/urllib3/connectionpool.py:263: bad docstring: No role entry for "prop" in module "docutils.parsers.rst.languages.en".
- Trying "prop" as canonical role name.
- /projects/urllib3/src/urllib3/connectionpool.py:263: bad docstring: Unknown interpreted text role "prop".
- /projects/urllib3/src/urllib3/connectionpool.py:267: bad docstring: No role entry for "prop" in module "docutils.parsers.rst.languages.en".
- Trying "prop" as canonical role name.
- /projects/urllib3/src/urllib3/connectionpool.py:267: bad docstring: Unknown interpreted text role "prop".
- /projects/urllib3/src/urllib3/response.py:381: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/urllib3/src/urllib3/response.py:381: bad docstring: Unknown interpreted text role "ref".
- /projects/urllib3/src/urllib3/contrib/emscripten/response.py:228: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/urllib3/src/urllib3/contrib/emscripten/response.py:228: bad docstring: Unknown interpreted text role "ref".
- /projects/urllib3/src/urllib3/connectionpool.py:1112: Cannot find link target for ".ConnectionPool" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/connectionpool.py:1115: Cannot find link target for ".ConnectionPool" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/connectionpool.py:1122: Cannot find link target for ".ConnectionPool" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/filepost.py:58: Cannot find link target for "~urllib3.fields.RequestField" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/__init__.py:144: Cannot find link target for "str"
- /projects/urllib3/src/urllib3/__init__.py:144: Cannot find link target for "bytes"
- /projects/urllib3/src/urllib3/__init__.py:144: Cannot find link target for "str"
- /projects/urllib3/src/urllib3/__init__.py:144: Cannot find link target for "bytes"
- /projects/urllib3/src/urllib3/__init__.py:154: Documented parameter "bool preload_content" does not exist
- /projects/urllib3/src/urllib3/__init__.py:157: Documented parameter "bool decode_content" does not exist
- /projects/urllib3/src/urllib3/__init__.py:168: Cannot find link target for "~urllib3.exceptions.MaxRetryError" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/__init__.py:171: Cannot find link target for "~urllib3.util.retry.Retry" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/__init__.py:180: Cannot find link target for "~urllib3.util.retry.Retry" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/_request_methods.py:31: Cannot find link target for ".request_encode_url" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/_request_methods.py:34: Cannot find link target for ".request_encode_body" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/_request_methods.py:38: Cannot find link target for ".request" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/_request_methods.py:96: Cannot find link target for "str"
- /projects/urllib3/src/urllib3/_request_methods.py:96: Cannot find link target for "bytes"
- /projects/urllib3/src/urllib3/_request_methods.py:96: Cannot find link target for "str"
- /projects/urllib3/src/urllib3/_request_methods.py:96: Cannot find link target for "bytes"
- /projects/urllib3/src/urllib3/_request_methods.py:101: Cannot find link target for "urllib.parse.urlencode" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/_request_methods.py:202: Cannot find link target for "urllib.parse.urlencode" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/connection.py:83: Cannot find link target for "http.client.HTTPConnection" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/connectionpool.py:70: Cannot find link target for ".HTTPConnectionPool" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/connectionpool.py:70: Cannot find link target for ".HTTPSConnectionPool" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/contrib/emscripten/fetch.py:21: Cannot find link target for "await wait_for_streaming_ready"
- /projects/urllib3/src/urllib3/contrib/emscripten/response.py:224: Cannot find link target for "UnicodeDecodeError"
- /projects/urllib3/src/urllib3/contrib/emscripten/response.py:225: Cannot find link target for "urllib3.contrib.emscripten.response.EmscriptenHttpResponseWrapper.json.JSONDecodeError", resolved from "json.JSONDecodeError"
- /projects/urllib3/src/urllib3/contrib/pyopenssl.py:23: Cannot find link target for "~urllib3.contrib.pyopenssl.inject_into_urllib3" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/contrib/pyopenssl.py:162: Cannot find link target for "ImportError"
- /projects/urllib3/src/urllib3/exceptions.py:89: Cannot find link target for "~urllib3.connectionpool.HTTPConnectionPool" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/exceptions.py:90: Documented parameter "str url" does not exist
- /projects/urllib3/src/urllib3/exceptions.py:92: Cannot find link target for "Exception"
- /projects/urllib3/src/urllib3/exceptions.py:242: Cannot find link target for "http.client.HTTPResponse" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/exceptions.py:251: Cannot find link target for "http.client.IncompleteRead" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/fields.py:43: Cannot find link target for "str`"
- /projects/urllib3/src/urllib3/fields.py:22: Cannot find link target for "mimetypes"
- /projects/urllib3/src/urllib3/fields.py:24: Cannot find link target for "default"
- /projects/urllib3/src/urllib3/fields.py:207: Cannot find link target for "~urllib3.fields.RequestField" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/fields.py:209: Cannot find link target for "~urllib3.fields.RequestField" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/fields.py:256: Unknown field 'meta'
- /projects/urllib3/src/urllib3/fields.py:274: Cannot find link target for "dict"
- /projects/urllib3/src/urllib3/fields.py:275: Cannot find link target for "k1="v1"; k2="v2"; ..." (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/filepost.py:34: Cannot find link target for "~urllib3.fields.RequestField" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/util/ssl_.py:224: Cannot find link target for "ssl.SSLContext" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/util/url.py:371: Cannot find link target for ".Url" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/util/url.py:380: Cannot find link target for "urllib.parse" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/util/url.py:378: Cannot find link target for ".Url" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/util/url.py:378: Documented parameter "str url" does not exist
- /projects/urllib3/src/urllib3/util/ssl_.py:181: Cannot find link target for "ssl.CERT_REQUIRED" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/util/ssl_.py:183: Cannot find link target for "ssl"
- /projects/urllib3/src/urllib3/util/ssl_.py:184: Cannot find link target for "REQUIRED"
- /projects/urllib3/src/urllib3/util/ssl_.py:184: Cannot find link target for "CERT_REQUIRED"
- /projects/urllib3/src/urllib3/util/ssl_.py:185: Cannot find link target for "None"
- /projects/urllib3/src/urllib3/util/ssl_.py:410: Cannot find link target for "ssl.create_default_context" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/util/ssl_.py:410: Cannot find link target for "ssl.SSLContext.load_cert_chain" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/util/ssl_.py:411: Cannot find link target for "ssl.SSLContext.set_ciphers" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/util/ssl_.py:411: Cannot find link target for "ssl.SSLContext.wrap_socket" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/util/connection.py:39: Cannot find link target for "socket.getdefaulttimeout" (you can link to external docs with --intersphinx)
- /projects/urllib3/src/urllib3/util/proxy.py:19: Documented parameter "URL proxy_url" does not exist
- /projects/urllib3/src/urllib3/util/proxy.py:21: Documented parameter "ProxyConfig proxy_config" does not exist
- /projects/urllib3/src/urllib3/util/proxy.py:23: Documented parameter "str destination_scheme" does not exist
- /projects/urllib3/src/urllib3/util/request.py:162: Documented parameter "int pos" does not exist
- /projects/urllib3/src/urllib3/util/response.py:47: Documented parameter "http.client.HTTPMessage headers" does not exist
- /projects/urllib3/src/urllib3/util/response.py:95: Documented parameter "http.client.HTTPResponse response" does not exist
- /projects/urllib3/src/urllib3/util/ssl_.py:473: Documented parameter "str hostname" does not exist

... (truncated 225 lines) ...

lxml (https://github.com/lxml/lxml): typechecking got 30.62x faster (29.0s -> 0.9s)
(Performance measurements are based on a single noisy sample)
- /projects/lxml/src/lxml/html/__init__.py:1852: Unable to figure out value for __doc__ assignment, maybe too complex
- /projects/lxml/src/lxml/isoschematron/__init__.py:144: bad docstring: Enumerated list start value not ordinal-1: "0" (ordinal 0)
- /projects/lxml/src/lxml/tests/selftest.py:476: bad docstring: Unexpected indentation.
- /projects/lxml/src/lxml/tests/selftest.py:479: bad docstring: Block quote ends without a blank line; unexpected unindent.
- /projects/lxml/src/lxml/tests/selftest.py:685: bad docstring: Enumerated list start value not ordinal-1: "2" (ordinal 2)
- /projects/lxml/src/lxml/tests/selftest.py:699: bad docstring: Enumerated list start value not ordinal-1: "3" (ordinal 3)
- /projects/lxml/src/lxml/ElementInclude.py:48: Cannot find link target for "lxml.etree.ElementTree.xinclude", resolved from "etree.ElementTree.xinclude"
- /projects/lxml/src/lxml/html/html5parser.py:59: Cannot find link target for "guess_charset"
- /projects/lxml/src/lxml/html/html5parser.py:60: Cannot find link target for "chardet"
- /projects/lxml/src/lxml/html/html5parser.py:123: Cannot find link target for "guess_charset"
- /projects/lxml/src/lxml/html/html5parser.py:123: Cannot find link target for "chardet"
- /projects/lxml/src/lxml/html/html5parser.py:87: Cannot find link target for "guess_charset"
- /projects/lxml/src/lxml/html/html5parser.py:87: Cannot find link target for "chardet"
- /projects/lxml/src/lxml/html/html5parser.py:166: Cannot find link target for "guess_charset"
- /projects/lxml/src/lxml/html/html5parser.py:167: Cannot find link target for "chardet"
- /projects/lxml/src/lxml/html/soupparser.py:28: Cannot find link target for "beautifulsoup"
- /projects/lxml/src/lxml/html/soupparser.py:40: Cannot find link target for "beautifulsoup"
- these 3 objects' docstrings contain syntax errors:
-     lxml.isoschematron.Schematron
-     lxml.tests.selftest.fancyparsefile
-     lxml.tests.selftest.namespace
+ Traceback (most recent call last):
+   File "/new_pydoctor/venv/bin/pydoctor", line 8, in <module>
+     sys.exit(main())
+              ^^^^^^
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/driver.py", line 166, in main
+     system = get_system(options)
+              ^^^^^^^^^^^^^^^^^^^
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/driver.py", line 81, in get_system
+     builder.buildModules()
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/model.py", line 1646, in buildModules
+     self.system.process()
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/model.py", line 1477, in process
+     self.processModule(mod)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/model.py", line 1463, in processModule
+     builder.processModuleAST(ast, mod)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/astbuilder.py", line 1201, in processModuleAST
+     vis.walkabout(mod_ast)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 190, in walkabout
+     self.walkabout(child)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 181, in walkabout
+     self.visit(ob)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 143, in visit
+     super().visit(ob)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 21, in visit
+     visitor(ob)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/astbuilder.py", line 791, in visit_Assign
+     self._handleDocComment(node)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/astbuilder.py", line 766, in _handleDocComment
+     for doc_comment in [extract_doc_comment_before(node, lines), 
+                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/astutils.py", line 932, in extract_doc_comment_before
+     if comment_re.match(before_line):
+        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ TypeError: cannot use a string pattern on a bytes-like object

scrapy (https://github.com/scrapy/scrapy): typechecking got 65.91x faster (47.7s -> 0.7s)
(Performance measurements are based on a single noisy sample)
+ Traceback (most recent call last):
+   File "/new_pydoctor/venv/bin/pydoctor", line 8, in <module>
+     sys.exit(main())
+              ^^^^^^
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/driver.py", line 166, in main
+     system = get_system(options)
+              ^^^^^^^^^^^^^^^^^^^
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/driver.py", line 81, in get_system
+     builder.buildModules()
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/model.py", line 1646, in buildModules
+     self.system.process()
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/model.py", line 1477, in process
+     self.processModule(mod)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/model.py", line 1463, in processModule
+     builder.processModuleAST(ast, mod)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/astbuilder.py", line 1201, in processModuleAST
+     vis.walkabout(mod_ast)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 190, in walkabout
+     self.walkabout(child)
+   File "/new_pydoctor/venv/lib/python3.11/site-packages/pydoctor/visitor.py", line 181, in walkabout
+     self.visit(ob)

... (truncated 1519 lines) ...```
github-actions[bot] commented 1 week ago

Diff from pydoctor_primer, showing the effect of this PR on open source code:

bottle (https://github.com/bottlepy/bottle)
+ /projects/bottle/bottle.py:1374: Existing docstring at line 1370 is overriden
+ /projects/bottle/bottle.py:4357: Cannot find link target for "bottle_sqlite"
+ /projects/bottle/bottle.py:2193: Cannot find link target for "latin1"

lxml (https://github.com/lxml/lxml)
+ /projects/lxml/src/lxml/html/builder.py:39: Existing docstring at line 38 is overriden
+ /projects/lxml/src/lxml/html/builder.py:40: Existing docstring at line 39 is overriden
+ /projects/lxml/src/lxml/html/builder.py:42: Existing docstring at line 41 is overriden
+ /projects/lxml/src/lxml/html/builder.py:43: Existing docstring at line 42 is overriden
+ /projects/lxml/src/lxml/html/builder.py:44: Existing docstring at line 43 is overriden
+ /projects/lxml/src/lxml/html/builder.py:45: Existing docstring at line 44 is overriden
+ /projects/lxml/src/lxml/html/builder.py:46: Existing docstring at line 45 is overriden
+ /projects/lxml/src/lxml/html/builder.py:47: Existing docstring at line 46 is overriden
+ /projects/lxml/src/lxml/html/builder.py:48: Existing docstring at line 47 is overriden
+ /projects/lxml/src/lxml/html/builder.py:49: Existing docstring at line 48 is overriden
+ /projects/lxml/src/lxml/html/builder.py:50: Existing docstring at line 49 is overriden
+ /projects/lxml/src/lxml/html/builder.py:51: Existing docstring at line 50 is overriden
+ /projects/lxml/src/lxml/html/builder.py:52: Existing docstring at line 51 is overriden
+ /projects/lxml/src/lxml/html/builder.py:53: Existing docstring at line 52 is overriden
+ /projects/lxml/src/lxml/html/builder.py:54: Existing docstring at line 53 is overriden
+ /projects/lxml/src/lxml/html/builder.py:55: Existing docstring at line 54 is overriden
+ /projects/lxml/src/lxml/html/builder.py:56: Existing docstring at line 55 is overriden
+ /projects/lxml/src/lxml/html/builder.py:57: Existing docstring at line 56 is overriden
+ /projects/lxml/src/lxml/html/builder.py:58: Existing docstring at line 57 is overriden
+ /projects/lxml/src/lxml/html/builder.py:59: Existing docstring at line 58 is overriden
+ /projects/lxml/src/lxml/html/builder.py:61: Existing docstring at line 60 is overriden
+ /projects/lxml/src/lxml/html/builder.py:62: Existing docstring at line 61 is overriden
+ /projects/lxml/src/lxml/html/builder.py:63: Existing docstring at line 62 is overriden
+ /projects/lxml/src/lxml/html/builder.py:64: Existing docstring at line 63 is overriden
+ /projects/lxml/src/lxml/html/builder.py:65: Existing docstring at line 64 is overriden
+ /projects/lxml/src/lxml/html/builder.py:66: Existing docstring at line 65 is overriden
+ /projects/lxml/src/lxml/html/builder.py:67: Existing docstring at line 66 is overriden
+ /projects/lxml/src/lxml/html/builder.py:68: Existing docstring at line 67 is overriden
+ /projects/lxml/src/lxml/html/builder.py:69: Existing docstring at line 68 is overriden
+ /projects/lxml/src/lxml/html/builder.py:70: Existing docstring at line 69 is overriden
+ /projects/lxml/src/lxml/html/builder.py:71: Existing docstring at line 70 is overriden
+ /projects/lxml/src/lxml/html/builder.py:72: Existing docstring at line 71 is overriden
+ /projects/lxml/src/lxml/html/builder.py:73: Existing docstring at line 72 is overriden
+ /projects/lxml/src/lxml/html/builder.py:74: Existing docstring at line 73 is overriden
+ /projects/lxml/src/lxml/html/builder.py:75: Existing docstring at line 74 is overriden
+ /projects/lxml/src/lxml/html/builder.py:76: Existing docstring at line 75 is overriden
+ /projects/lxml/src/lxml/html/builder.py:77: Existing docstring at line 76 is overriden
+ /projects/lxml/src/lxml/html/builder.py:78: Existing docstring at line 77 is overriden
+ /projects/lxml/src/lxml/html/builder.py:79: Existing docstring at line 78 is overriden
+ /projects/lxml/src/lxml/html/builder.py:80: Existing docstring at line 79 is overriden
+ /projects/lxml/src/lxml/html/builder.py:81: Existing docstring at line 80 is overriden
+ /projects/lxml/src/lxml/html/builder.py:82: Existing docstring at line 81 is overriden
+ /projects/lxml/src/lxml/html/builder.py:83: Existing docstring at line 82 is overriden
+ /projects/lxml/src/lxml/html/builder.py:84: Existing docstring at line 83 is overriden
+ /projects/lxml/src/lxml/html/builder.py:85: Existing docstring at line 84 is overriden
+ /projects/lxml/src/lxml/html/builder.py:86: Existing docstring at line 85 is overriden
+ /projects/lxml/src/lxml/html/builder.py:87: Existing docstring at line 86 is overriden
+ /projects/lxml/src/lxml/html/builder.py:88: Existing docstring at line 87 is overriden
+ /projects/lxml/src/lxml/html/builder.py:89: Existing docstring at line 88 is overriden
+ /projects/lxml/src/lxml/html/builder.py:90: Existing docstring at line 89 is overriden
+ /projects/lxml/src/lxml/html/builder.py:91: Existing docstring at line 90 is overriden
+ /projects/lxml/src/lxml/html/builder.py:92: Existing docstring at line 91 is overriden
+ /projects/lxml/src/lxml/html/builder.py:93: Existing docstring at line 92 is overriden
+ /projects/lxml/src/lxml/html/builder.py:94: Existing docstring at line 93 is overriden
+ /projects/lxml/src/lxml/html/builder.py:95: Existing docstring at line 94 is overriden
+ /projects/lxml/src/lxml/html/builder.py:96: Existing docstring at line 95 is overriden
+ /projects/lxml/src/lxml/html/builder.py:97: Existing docstring at line 96 is overriden
+ /projects/lxml/src/lxml/html/builder.py:98: Existing docstring at line 97 is overriden
+ /projects/lxml/src/lxml/html/builder.py:99: Existing docstring at line 98 is overriden
+ /projects/lxml/src/lxml/html/builder.py:100: Existing docstring at line 99 is overriden
+ /projects/lxml/src/lxml/html/builder.py:101: Existing docstring at line 100 is overriden
+ /projects/lxml/src/lxml/html/builder.py:102: Existing docstring at line 101 is overriden
+ /projects/lxml/src/lxml/html/builder.py:103: Existing docstring at line 102 is overriden
+ /projects/lxml/src/lxml/html/builder.py:104: Existing docstring at line 103 is overriden
+ /projects/lxml/src/lxml/html/builder.py:105: Existing docstring at line 104 is overriden
+ /projects/lxml/src/lxml/html/builder.py:106: Existing docstring at line 105 is overriden
+ /projects/lxml/src/lxml/html/builder.py:107: Existing docstring at line 106 is overriden
+ /projects/lxml/src/lxml/html/builder.py:108: Existing docstring at line 107 is overriden
+ /projects/lxml/src/lxml/html/builder.py:109: Existing docstring at line 108 is overriden
+ /projects/lxml/src/lxml/html/builder.py:110: Existing docstring at line 109 is overriden
+ /projects/lxml/src/lxml/html/builder.py:111: Existing docstring at line 110 is overriden
+ /projects/lxml/src/lxml/html/builder.py:112: Existing docstring at line 111 is overriden
+ /projects/lxml/src/lxml/html/builder.py:113: Existing docstring at line 112 is overriden
+ /projects/lxml/src/lxml/html/builder.py:114: Existing docstring at line 113 is overriden
+ /projects/lxml/src/lxml/html/builder.py:115: Existing docstring at line 114 is overriden
+ /projects/lxml/src/lxml/html/builder.py:116: Existing docstring at line 115 is overriden
+ /projects/lxml/src/lxml/html/builder.py:118: Existing docstring at line 117 is overriden
+ /projects/lxml/src/lxml/html/builder.py:119: Existing docstring at line 118 is overriden
+ /projects/lxml/src/lxml/html/builder.py:120: Existing docstring at line 119 is overriden
+ /projects/lxml/src/lxml/html/builder.py:121: Existing docstring at line 120 is overriden
+ /projects/lxml/src/lxml/html/builder.py:122: Existing docstring at line 121 is overriden
+ /projects/lxml/src/lxml/html/builder.py:123: Existing docstring at line 122 is overriden
+ /projects/lxml/src/lxml/html/builder.py:124: Existing docstring at line 123 is overriden
+ /projects/lxml/src/lxml/html/builder.py:125: Existing docstring at line 124 is overriden
+ /projects/lxml/src/lxml/html/builder.py:126: Existing docstring at line 125 is overriden
+ /projects/lxml/src/lxml/html/builder.py:127: Existing docstring at line 126 is overriden
+ /projects/lxml/src/lxml/html/builder.py:128: Existing docstring at line 127 is overriden
+ /projects/lxml/src/lxml/tests/selftest.py:???: cannot parse file, 'utf-8' codec can't decode byte 0xe4 in position 27127: invalid continuation byte
- /projects/lxml/src/lxml/tests/selftest.py:476: bad docstring: Unexpected indentation.
- /projects/lxml/src/lxml/tests/selftest.py:479: bad docstring: Block quote ends without a blank line; unexpected unindent.
- /projects/lxml/src/lxml/tests/selftest.py:685: bad docstring: Enumerated list start value not ordinal-1: "2" (ordinal 2)
- /projects/lxml/src/lxml/tests/selftest.py:699: bad docstring: Enumerated list start value not ordinal-1: "3" (ordinal 3)
- these 3 objects' docstrings contain syntax errors:
+ these 1 objects' docstrings contain syntax errors:
-     lxml.tests.selftest.fancyparsefile
-     lxml.tests.selftest.namespace

pydoctor (https://github.com/twisted/pydoctor)
+ /projects/pydoctor/pydoctor/epydoc/markup/restructuredtext.py:61: Existing docstring at line 31 is overriden

astroid (https://github.com/pylint-dev/astroid)
+ /projects/astroid/astroid/nodes/scoped_nodes/scoped_nodes.py:262: Existing docstring at line 259 is overriden
+ /projects/astroid/astroid/nodes/scoped_nodes/scoped_nodes.py:1908: Existing docstring at line 1852 is overriden

pycma (https://github.com/CMA-ES/pycma)
+ /projects/pycma/cma/sampler.py:249: Existing docstring at line 244 is overriden

sphinx (https://github.com/sphinx-doc/sphinx)
+ /projects/sphinx/sphinx/locale/__init__.py:219: bad docstring: No role entry for "confval" in module "docutils.parsers.rst.languages.en".
+ Trying "confval" as canonical role name.
+ /projects/sphinx/sphinx/locale/__init__.py:219: bad docstring: Unknown interpreted text role "confval".
+ /projects/sphinx/sphinx/project.py:30: bad docstring: No role entry for "confval" in module "docutils.parsers.rst.languages.en".
+ Trying "confval" as canonical role name.
+ /projects/sphinx/sphinx/project.py:30: bad docstring: Unknown interpreted text role "confval".
+ /projects/sphinx/sphinx/ext/autodoc/__init__.py:62: bad docstring: Literal block expected; none found.
+ /projects/sphinx/sphinx/transforms/post_transforms/images.py:181: bad docstring: No directive entry for "todo" in module "docutils.parsers.rst.languages.en".
+ Trying "todo" as canonical directive name.
+ /projects/sphinx/sphinx/transforms/post_transforms/images.py:181: bad docstring: Unknown directive type "todo"... todo:: This should be refactored not to store the state without class
+           variable.
+ /projects/sphinx/sphinx/addnodes.py:299: Cannot find link target for "_sig_element=True"
+ /projects/sphinx/sphinx/builders/__init__.py:61: Cannot find link target for "~sphinx.application.Sphinx.set_translator" (you can link to external docs with --intersphinx)
+ /projects/sphinx/sphinx/domains/__init__.py:202: Cannot find link target for "self.data" (you can link to external docs with --intersphinx)
+ /projects/sphinx/sphinx/locale/__init__.py:222: Cannot find link target for "LC_ALL"
+ /projects/sphinx/sphinx/locale/__init__.py:222: Cannot find link target for "LC_MESSAGES"
- these 61 objects' docstrings contain syntax errors:
+ these 65 objects' docstrings contain syntax errors:
+     sphinx.ext.autodoc.py_ext_sig_re
+     sphinx.locale._
+     sphinx.project.Project.source_suffix
+     sphinx.transforms.post_transforms.images.ImageConverter.available

numpy (https://github.com/numpy/numpy)
+ /projects/numpy/numpy/distutils/ccompiler_opt.py:1038: Existing docstring at line 949 is overriden
+ /projects/numpy/numpy/typing/mypy_plugin.py:116: Cannot find link target for "numpy.intp", resolved from "np.intp"
+ /projects/numpy/numpy/typing/mypy_plugin.py:113: Cannot find link target for "numpy.number", resolved from "np.number"
github-actions[bot] commented 3 days ago

Diff from pydoctor_primer, showing the effect of this PR on open source code:

bottle (https://github.com/bottlepy/bottle)
+ /projects/bottle/bottle.py:1374: Existing docstring at line 1370 is overriden
+ /projects/bottle/bottle.py:4357: Cannot find link target for "bottle_sqlite"
+ /projects/bottle/bottle.py:2193: Cannot find link target for "latin1"

lxml (https://github.com/lxml/lxml)
+ /projects/lxml/src/lxml/html/builder.py:39: Existing docstring at line 38 is overriden
+ /projects/lxml/src/lxml/html/builder.py:40: Existing docstring at line 39 is overriden
+ /projects/lxml/src/lxml/html/builder.py:42: Existing docstring at line 41 is overriden
+ /projects/lxml/src/lxml/html/builder.py:43: Existing docstring at line 42 is overriden
+ /projects/lxml/src/lxml/html/builder.py:44: Existing docstring at line 43 is overriden
+ /projects/lxml/src/lxml/html/builder.py:45: Existing docstring at line 44 is overriden
+ /projects/lxml/src/lxml/html/builder.py:46: Existing docstring at line 45 is overriden
+ /projects/lxml/src/lxml/html/builder.py:47: Existing docstring at line 46 is overriden
+ /projects/lxml/src/lxml/html/builder.py:48: Existing docstring at line 47 is overriden
+ /projects/lxml/src/lxml/html/builder.py:49: Existing docstring at line 48 is overriden
+ /projects/lxml/src/lxml/html/builder.py:50: Existing docstring at line 49 is overriden
+ /projects/lxml/src/lxml/html/builder.py:51: Existing docstring at line 50 is overriden
+ /projects/lxml/src/lxml/html/builder.py:52: Existing docstring at line 51 is overriden
+ /projects/lxml/src/lxml/html/builder.py:53: Existing docstring at line 52 is overriden
+ /projects/lxml/src/lxml/html/builder.py:54: Existing docstring at line 53 is overriden
+ /projects/lxml/src/lxml/html/builder.py:55: Existing docstring at line 54 is overriden
+ /projects/lxml/src/lxml/html/builder.py:56: Existing docstring at line 55 is overriden
+ /projects/lxml/src/lxml/html/builder.py:57: Existing docstring at line 56 is overriden
+ /projects/lxml/src/lxml/html/builder.py:58: Existing docstring at line 57 is overriden
+ /projects/lxml/src/lxml/html/builder.py:59: Existing docstring at line 58 is overriden
+ /projects/lxml/src/lxml/html/builder.py:61: Existing docstring at line 60 is overriden
+ /projects/lxml/src/lxml/html/builder.py:62: Existing docstring at line 61 is overriden
+ /projects/lxml/src/lxml/html/builder.py:63: Existing docstring at line 62 is overriden
+ /projects/lxml/src/lxml/html/builder.py:64: Existing docstring at line 63 is overriden
+ /projects/lxml/src/lxml/html/builder.py:65: Existing docstring at line 64 is overriden
+ /projects/lxml/src/lxml/html/builder.py:66: Existing docstring at line 65 is overriden
+ /projects/lxml/src/lxml/html/builder.py:67: Existing docstring at line 66 is overriden
+ /projects/lxml/src/lxml/html/builder.py:68: Existing docstring at line 67 is overriden
+ /projects/lxml/src/lxml/html/builder.py:69: Existing docstring at line 68 is overriden
+ /projects/lxml/src/lxml/html/builder.py:70: Existing docstring at line 69 is overriden
+ /projects/lxml/src/lxml/html/builder.py:71: Existing docstring at line 70 is overriden
+ /projects/lxml/src/lxml/html/builder.py:72: Existing docstring at line 71 is overriden
+ /projects/lxml/src/lxml/html/builder.py:73: Existing docstring at line 72 is overriden
+ /projects/lxml/src/lxml/html/builder.py:74: Existing docstring at line 73 is overriden
+ /projects/lxml/src/lxml/html/builder.py:75: Existing docstring at line 74 is overriden
+ /projects/lxml/src/lxml/html/builder.py:76: Existing docstring at line 75 is overriden
+ /projects/lxml/src/lxml/html/builder.py:77: Existing docstring at line 76 is overriden
+ /projects/lxml/src/lxml/html/builder.py:78: Existing docstring at line 77 is overriden
+ /projects/lxml/src/lxml/html/builder.py:79: Existing docstring at line 78 is overriden
+ /projects/lxml/src/lxml/html/builder.py:80: Existing docstring at line 79 is overriden
+ /projects/lxml/src/lxml/html/builder.py:81: Existing docstring at line 80 is overriden
+ /projects/lxml/src/lxml/html/builder.py:82: Existing docstring at line 81 is overriden
+ /projects/lxml/src/lxml/html/builder.py:83: Existing docstring at line 82 is overriden
+ /projects/lxml/src/lxml/html/builder.py:84: Existing docstring at line 83 is overriden
+ /projects/lxml/src/lxml/html/builder.py:85: Existing docstring at line 84 is overriden
+ /projects/lxml/src/lxml/html/builder.py:86: Existing docstring at line 85 is overriden
+ /projects/lxml/src/lxml/html/builder.py:87: Existing docstring at line 86 is overriden
+ /projects/lxml/src/lxml/html/builder.py:88: Existing docstring at line 87 is overriden
+ /projects/lxml/src/lxml/html/builder.py:89: Existing docstring at line 88 is overriden
+ /projects/lxml/src/lxml/html/builder.py:90: Existing docstring at line 89 is overriden
+ /projects/lxml/src/lxml/html/builder.py:91: Existing docstring at line 90 is overriden
+ /projects/lxml/src/lxml/html/builder.py:92: Existing docstring at line 91 is overriden
+ /projects/lxml/src/lxml/html/builder.py:93: Existing docstring at line 92 is overriden
+ /projects/lxml/src/lxml/html/builder.py:94: Existing docstring at line 93 is overriden
+ /projects/lxml/src/lxml/html/builder.py:95: Existing docstring at line 94 is overriden
+ /projects/lxml/src/lxml/html/builder.py:96: Existing docstring at line 95 is overriden
+ /projects/lxml/src/lxml/html/builder.py:97: Existing docstring at line 96 is overriden
+ /projects/lxml/src/lxml/html/builder.py:98: Existing docstring at line 97 is overriden
+ /projects/lxml/src/lxml/html/builder.py:99: Existing docstring at line 98 is overriden
+ /projects/lxml/src/lxml/html/builder.py:100: Existing docstring at line 99 is overriden
+ /projects/lxml/src/lxml/html/builder.py:101: Existing docstring at line 100 is overriden
+ /projects/lxml/src/lxml/html/builder.py:102: Existing docstring at line 101 is overriden
+ /projects/lxml/src/lxml/html/builder.py:103: Existing docstring at line 102 is overriden
+ /projects/lxml/src/lxml/html/builder.py:104: Existing docstring at line 103 is overriden
+ /projects/lxml/src/lxml/html/builder.py:105: Existing docstring at line 104 is overriden
+ /projects/lxml/src/lxml/html/builder.py:106: Existing docstring at line 105 is overriden
+ /projects/lxml/src/lxml/html/builder.py:107: Existing docstring at line 106 is overriden
+ /projects/lxml/src/lxml/html/builder.py:108: Existing docstring at line 107 is overriden
+ /projects/lxml/src/lxml/html/builder.py:109: Existing docstring at line 108 is overriden
+ /projects/lxml/src/lxml/html/builder.py:110: Existing docstring at line 109 is overriden
+ /projects/lxml/src/lxml/html/builder.py:111: Existing docstring at line 110 is overriden
+ /projects/lxml/src/lxml/html/builder.py:112: Existing docstring at line 111 is overriden
+ /projects/lxml/src/lxml/html/builder.py:113: Existing docstring at line 112 is overriden
+ /projects/lxml/src/lxml/html/builder.py:114: Existing docstring at line 113 is overriden
+ /projects/lxml/src/lxml/html/builder.py:115: Existing docstring at line 114 is overriden
+ /projects/lxml/src/lxml/html/builder.py:116: Existing docstring at line 115 is overriden
+ /projects/lxml/src/lxml/html/builder.py:118: Existing docstring at line 117 is overriden
+ /projects/lxml/src/lxml/html/builder.py:119: Existing docstring at line 118 is overriden
+ /projects/lxml/src/lxml/html/builder.py:120: Existing docstring at line 119 is overriden
+ /projects/lxml/src/lxml/html/builder.py:121: Existing docstring at line 120 is overriden
+ /projects/lxml/src/lxml/html/builder.py:122: Existing docstring at line 121 is overriden
+ /projects/lxml/src/lxml/html/builder.py:123: Existing docstring at line 122 is overriden
+ /projects/lxml/src/lxml/html/builder.py:124: Existing docstring at line 123 is overriden
+ /projects/lxml/src/lxml/html/builder.py:125: Existing docstring at line 124 is overriden
+ /projects/lxml/src/lxml/html/builder.py:126: Existing docstring at line 125 is overriden
+ /projects/lxml/src/lxml/html/builder.py:127: Existing docstring at line 126 is overriden
+ /projects/lxml/src/lxml/html/builder.py:128: Existing docstring at line 127 is overriden
+ /projects/lxml/src/lxml/tests/selftest.py:???: cannot parse file, 'utf-8' codec can't decode byte 0xe4 in position 27127: invalid continuation byte
- /projects/lxml/src/lxml/tests/selftest.py:476: bad docstring: Unexpected indentation.
- /projects/lxml/src/lxml/tests/selftest.py:479: bad docstring: Block quote ends without a blank line; unexpected unindent.
- /projects/lxml/src/lxml/tests/selftest.py:685: bad docstring: Enumerated list start value not ordinal-1: "2" (ordinal 2)
- /projects/lxml/src/lxml/tests/selftest.py:699: bad docstring: Enumerated list start value not ordinal-1: "3" (ordinal 3)
- these 3 objects' docstrings contain syntax errors:
+ these 1 objects' docstrings contain syntax errors:
-     lxml.tests.selftest.fancyparsefile
-     lxml.tests.selftest.namespace

pydoctor (https://github.com/twisted/pydoctor)
+ /projects/pydoctor/pydoctor/epydoc/markup/restructuredtext.py:61: Existing docstring at line 31 is overriden

sphinx (https://github.com/sphinx-doc/sphinx)
+ /projects/sphinx/sphinx/locale/__init__.py:219: bad docstring: No role entry for "confval" in module "docutils.parsers.rst.languages.en".
+ Trying "confval" as canonical role name.
+ /projects/sphinx/sphinx/locale/__init__.py:219: bad docstring: Unknown interpreted text role "confval".
+ /projects/sphinx/sphinx/project.py:30: bad docstring: No role entry for "confval" in module "docutils.parsers.rst.languages.en".
+ Trying "confval" as canonical role name.
+ /projects/sphinx/sphinx/project.py:30: bad docstring: Unknown interpreted text role "confval".
+ /projects/sphinx/sphinx/ext/autodoc/__init__.py:62: bad docstring: Literal block expected; none found.
+ /projects/sphinx/sphinx/transforms/post_transforms/images.py:179: bad docstring: No directive entry for "todo" in module "docutils.parsers.rst.languages.en".
+ Trying "todo" as canonical directive name.
+ /projects/sphinx/sphinx/transforms/post_transforms/images.py:179: bad docstring: Unknown directive type "todo"... todo:: This should be refactored not to store the state without class
+           variable.
+ /projects/sphinx/sphinx/addnodes.py:299: Cannot find link target for "_sig_element=True"
+ /projects/sphinx/sphinx/builders/__init__.py:61: Cannot find link target for "~sphinx.application.Sphinx.set_translator" (you can link to external docs with --intersphinx)
+ /projects/sphinx/sphinx/domains/__init__.py:202: Cannot find link target for "self.data" (you can link to external docs with --intersphinx)
+ /projects/sphinx/sphinx/locale/__init__.py:222: Cannot find link target for "LC_ALL"
+ /projects/sphinx/sphinx/locale/__init__.py:222: Cannot find link target for "LC_MESSAGES"
- these 61 objects' docstrings contain syntax errors:
+ these 65 objects' docstrings contain syntax errors:
+     sphinx.ext.autodoc.py_ext_sig_re
+     sphinx.locale._
+     sphinx.project.Project.source_suffix
+     sphinx.transforms.post_transforms.images.ImageConverter.available

numpy (https://github.com/numpy/numpy)
+ /projects/numpy/numpy/typing/mypy_plugin.py:116: Cannot find link target for "numpy.intp", resolved from "np.intp"
+ /projects/numpy/numpy/typing/mypy_plugin.py:113: Cannot find link target for "numpy.number", resolved from "np.number"