Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intersphinx features #764

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open

Intersphinx features #764

wants to merge 19 commits into from

Conversation

tristanlatr
Copy link
Contributor

@tristanlatr tristanlatr commented Mar 2, 2024

Fixes #609
Fixes #741

Missing tests

This comment has been minimized.

Copy link

codecov bot commented Mar 2, 2024

Codecov Report

Attention: Patch coverage is 60.97561% with 160 lines in your changes are missing coverage. Please review.

Project coverage is 91.19%. Comparing base (662eafa) to head (ef7f528).
Report is 2 commits behind head on master.

Files Patch % Lines
pydoctor/sphinx.py 56.20% 53 Missing and 7 partials ⚠️
pydoctor/epydoc/markup/restructuredtext.py 48.10% 35 Missing and 6 partials ⚠️
pydoctor/options.py 54.65% 36 Missing and 3 partials ⚠️
pydoctor/linker.py 71.18% 11 Missing and 6 partials ⚠️
pydoctor/model.py 50.00% 1 Missing and 1 partial ⚠️
pydoctor/astbuilder.py 0.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #764      +/-   ##
==========================================
- Coverage   92.69%   91.19%   -1.51%     
==========================================
  Files          47       47              
  Lines        8285     8606     +321     
  Branches     1826     1896      +70     
==========================================
+ Hits         7680     7848     +168     
- Misses        347      479     +132     
- Partials      258      279      +21     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

1 similar comment

This comment has been minimized.

Copy link

github-actions bot commented Mar 2, 2024

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

bottle (https://github.com/bottlepy/bottle)
- /projects/bottle/bottle.py:1364: Cannot find link target for "seek(0)"
+ /projects/bottle/bottle.py:1364: Cannot find link target for "seek"

pycma (https://github.com/CMA-ES/pycma)
- /projects/pycma/cma/constraints_handler.py:1306: Cannot find link target for "find_feasible(es)"
- /projects/pycma/cma/constraints_handler.py:1419: Cannot find link target for "fun(x)"
- /projects/pycma/cma/logger.py:1803: Cannot find link target for "isscalar(x_opt)"
+ /projects/pycma/cma/logger.py:1803: Cannot find link target for "isscalar"
- /projects/pycma/cma/logger.py:769: Cannot find link target for "isscalar(x_opt)"
+ /projects/pycma/cma/logger.py:769: Cannot find link target for "isscalar"
- /projects/pycma/cma/logger.py:930: Cannot find link target for "isscalar(x_opt)"
+ /projects/pycma/cma/logger.py:930: Cannot find link target for "isscalar"
- /projects/pycma/cma/logger.py:2205: Cannot find link target for "matplotlib.pyplot.gca().clear" (you can link to external docs with --intersphinx)
+ /projects/pycma/cma/logger.py:2205: Cannot find link target for "matplotlib.pyplot.gca" (you can link to external docs with --intersphinx)
- /projects/pycma/cma/transformations.py:511: Cannot find link target for "numpy.diag(scaling)", resolved from "np.diag(scaling)" (you can link to external docs with --intersphinx)
+ /projects/pycma/cma/transformations.py:511: Cannot find link target for "numpy.diag", resolved from "np.diag" (you can link to external docs with --intersphinx)
- /projects/pycma/cma/transformations.py:511: Cannot find link target for "numpy.diag(scaling)", resolved from "np.diag(scaling)" (you can link to external docs with --intersphinx)
+ /projects/pycma/cma/transformations.py:511: Cannot find link target for "numpy.diag", resolved from "np.diag" (you can link to external docs with --intersphinx)
- /projects/pycma/cma/utilities/math.py:659: Cannot find link target for "log10(x / (1 - x))"
+ /projects/pycma/cma/utilities/math.py:659: Cannot find link target for "log10"

astroid (https://github.com/pylint-dev/astroid)
- /projects/astroid/astroid/nodes/__init__.py:9: bad docstring: No role entry for "doc" in module "docutils.parsers.rst.languages.en".
- Trying "doc" as canonical role name.
- /projects/astroid/astroid/nodes/__init__.py:9: bad docstring: Unknown interpreted text role "doc".
- /projects/astroid/astroid/nodes/node_ng.py:135: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/astroid/astroid/nodes/node_ng.py:135: bad docstring: Unknown interpreted text role "ref".
- /projects/astroid/astroid/nodes/node_ng.py:582: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/astroid/astroid/nodes/node_ng.py:582: bad docstring: Unknown interpreted text role "ref".
+ /projects/astroid/astroid/interpreter/objectmodel.py:15: Cannot find link target for "__class__ will be looked for in the inferred object. This is the part where the data model occurs. The model is attached to those nodes and the lookup mechanism will try to see if attributes such as `__class__" (you can link to external docs with --intersphinx)
- /projects/astroid/astroid/interpreter/objectmodel.py:15: Cannot find link target for "__class__ will be looked for in the inferred object. This is the part
- where the data model occurs. The model is attached to those nodes
- and the lookup mechanism will try to see if attributes such as
- `__class__" (you can link to external docs with --intersphinx)
+ /projects/astroid/astroid/nodes/__init__.py:8: Cannot find intersphinx link target for "green_tree_snakes:nodes"
+ /projects/astroid/astroid/nodes/node_ng.py:134: Cannot find link target for "inference"
+ /projects/astroid/astroid/nodes/node_ng.py:581: Cannot find link target for "inference"
- /projects/astroid/astroid/transforms.py:133: Cannot find link target for "transform(node)"
+ /projects/astroid/astroid/transforms.py:133: Cannot find link target for "transform"
- these 16 objects' docstrings contain syntax errors:
+ these 13 objects' docstrings contain syntax errors:
-     astroid.nodes
-     astroid.nodes.NodeNG.infer
-     astroid.nodes.NodeNG.inferred

attrs (https://github.com/python-attrs/attrs)
- /projects/attrs/src/attr/_make.py:2562: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/attrs/src/attr/_make.py:2562: bad docstring: Unknown interpreted text role "ref".
- /projects/attrs/src/attr/_make.py:2573: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/attrs/src/attr/_make.py:2573: bad docstring: Unknown interpreted text role "ref".
- /projects/attrs/src/attr/_make.py:162: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/attrs/src/attr/_make.py:162: bad docstring: Unknown interpreted text role "ref".
- /projects/attrs/src/attr/_make.py:215: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/attrs/src/attr/_make.py:215: bad docstring: Unknown interpreted text role "ref".
- /projects/attrs/src/attr/_make.py:1340: bad docstring: No role entry for "term" in module "docutils.parsers.rst.languages.en".
- Trying "term" as canonical role name.
- /projects/attrs/src/attr/_make.py:1340: bad docstring: Unknown interpreted text role "term".
- /projects/attrs/src/attr/_make.py:1443: bad docstring: No role entry for "term" in module "docutils.parsers.rst.languages.en".
- Trying "term" as canonical role name.
- /projects/attrs/src/attr/_make.py:1443: bad docstring: Unknown interpreted text role "term".
- /projects/attrs/src/attr/_make.py:1443: bad docstring: No role entry for "term" in module "docutils.parsers.rst.languages.en".
- Trying "term" as canonical role name.
- /projects/attrs/src/attr/_make.py:1443: bad docstring: Unknown interpreted text role "term".
- /projects/attrs/src/attr/_make.py:1489: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/attrs/src/attr/_make.py:1489: bad docstring: Unknown interpreted text role "ref".
- /projects/attrs/src/attr/_next_gen.py:62: bad docstring: No role entry for "term" in module "docutils.parsers.rst.languages.en".
- Trying "term" as canonical role name.
- /projects/attrs/src/attr/_next_gen.py:62: bad docstring: Unknown interpreted text role "term".
- /projects/attrs/src/attr/_make.py:224: Cannot find link target for "static type
+ /projects/attrs/src/attr/_make.py:224: Cannot find link target for "types"
- checking <types>"
+ /projects/attrs/src/attr/_make.py:1339: Cannot find intersphinx link target for "dunder methods"
+ /projects/attrs/src/attr/_make.py:1442: Cannot find intersphinx link target for "slotted classes"
+ /projects/attrs/src/attr/_make.py:1445: Cannot find intersphinx link target for "slotted classes"
+ /projects/attrs/src/attr/_next_gen.py:63: Cannot find intersphinx link target for "slotted classes"
+ /projects/attrs/src/attr/_make.py:2564: Cannot find link target for "custom-comparison"
+ /projects/attrs/src/attr/_make.py:2572: Cannot find link target for "transform-fields"
- these 6 objects' docstrings contain syntax errors:
+ these 2 objects' docstrings contain syntax errors:
-     attr._make.Attribute
-     attr.attrib
-     attr.attrs
-     attr.define

coco (https://github.com/numbbo/coco)
- /projects/coco/code-postprocessing/cocopp/archiving.py:619: Cannot find link target for "len(self)"
+ /projects/coco/code-postprocessing/cocopp/archiving.py:619: Cannot find link target for "len"
- /projects/coco/code-postprocessing/cocopp/archiving.py:600: Cannot find link target for "get_first(substrs, remote)"
- /projects/coco/code-postprocessing/cocopp/bestalg.py:13: Cannot find link target for "load_reference_algorithm(...)" (you can link to external docs with --intersphinx)
- /projects/coco/code-postprocessing/cocopp/genericsettings.py:76: Cannot find link target for "int(1e4)"
+ /projects/coco/code-postprocessing/cocopp/genericsettings.py:76: Cannot find link target for "int"

pylint (https://github.com/pylint-dev/pylint)
- /projects/pylint/pylint/checkers/refactoring/refactoring_checker.py:587: Cannot find link target for "bool(test)"
+ /projects/pylint/pylint/checkers/refactoring/refactoring_checker.py:587: Cannot find link target for "bool"
- /projects/pylint/pylint/checkers/refactoring/refactoring_checker.py:2384: Cannot find link target for "enumerate([1,2,3], start=1)"
+ /projects/pylint/pylint/checkers/refactoring/refactoring_checker.py:2384: Cannot find link target for "enumerate"
- /projects/pylint/pylint/checkers/refactoring/refactoring_checker.py:2385: Cannot find link target for "enumerate([1,2,3], 1)"
+ /projects/pylint/pylint/checkers/refactoring/refactoring_checker.py:2385: Cannot find link target for "enumerate"
- /projects/pylint/pylint/checkers/strings.py:1022: Cannot find link target for "ast.literal_eval(token)" (you can link to external docs with --intersphinx)
+ /projects/pylint/pylint/checkers/strings.py:1022: Cannot find link target for "ast.literal_eval" (you can link to external docs with --intersphinx)
- /projects/pylint/pylint/config/argument.py:106: Cannot find link target for "re.compile(value)" (you can link to external docs with --intersphinx)
+ /projects/pylint/pylint/config/argument.py:106: Cannot find link target for "re.compile" (you can link to external docs with --intersphinx)

urllib3 (https://github.com/urllib3/urllib3)
- /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:227: 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:227: bad docstring: Unknown interpreted text role "ref".
- /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/fetch.py:21: Cannot find link target for "await wait_for_streaming_ready()"
+ /projects/urllib3/src/urllib3/contrib/emscripten/response.py:226: Cannot find link target for "json_content"
+ /projects/urllib3/src/urllib3/response.py:380: Cannot find link target for "json_content"
- these 4 objects' docstrings contain syntax errors:
+ these 2 objects' docstrings contain syntax errors:
-     urllib3.BaseHTTPResponse.json
-     urllib3.contrib.emscripten.response.EmscriptenHttpResponseWrapper.json

scrapy (https://github.com/scrapy/scrapy)
- /projects/scrapy/scrapy/item.py:52: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/item.py:52: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/item.py:60: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/item.py:60: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/item.py:67: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/item.py:67: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/settings/__init__.py:534: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/settings/__init__.py:534: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/addons.py:17: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/addons.py:17: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/core/scheduler.py:149: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/core/scheduler.py:149: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/crawler.py:233: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/crawler.py:233: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/crawler.py:376: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/crawler.py:376: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/loader/__init__.py:16: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/loader/__init__.py:16: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/loader/__init__.py:16: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/loader/__init__.py:16: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/loader/__init__.py:16: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/loader/__init__.py:16: bad docstring: Unknown interpreted text role "ref".
-     value, you may want to check out `default_item_class` first.
+     value, you may want to check out :attr:`default_item_class` first.
-     The class used to construct the `selector` of this
+     The class used to construct the :attr:`selector` of this
-     `ItemLoader`, if only a response is given in the ``__init__`` method.
+     :class:`ItemLoader`, if only a response is given in the ``__init__`` method.
-     The `~scrapy.selector.Selector` object to extract data from.
+     The :class:`~scrapy.selector.Selector` object to extract data from.
-     `default_selector_class`. This attribute is meant to be
+     :attr:`default_selector_class`. This attribute is meant to be
- /projects/scrapy/scrapy/http/request/__init__.py:50: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/http/request/__init__.py:50: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/http/response/text.py:202: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/http/response/text.py:202: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/http/response/text.py:210: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/http/response/text.py:210: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/http/response/text.py:258: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/http/response/text.py:258: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/http/request/__init__.py:206: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/http/request/__init__.py:206: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/http/request/__init__.py:206: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/http/request/__init__.py:206: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/utils/defer.py:367: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/utils/defer.py:367: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/utils/defer.py:367: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/utils/defer.py:367: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/utils/defer.py:387: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/utils/defer.py:387: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/utils/defer.py:396: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/utils/defer.py:396: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/utils/log.py:99: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/utils/log.py:99: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/signalmanager.py:18: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/signalmanager.py:18: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/downloadermiddlewares/retry.py:85: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/downloadermiddlewares/retry.py:85: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/downloadermiddlewares/retry.py:85: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/downloadermiddlewares/retry.py:85: bad docstring: Unknown interpreted text role "ref".
- /projects/scrapy/scrapy/extensions/feedexport.py:77: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/scrapy/scrapy/extensions/feedexport.py:77: bad docstring: Unknown interpreted text role "ref".
+ /projects/scrapy/scrapy/addons.py:16: Cannot find link target for "topics-addons"
+ /projects/scrapy/scrapy/core/scheduler.py:150: Cannot find link target for "topics-jobs"
+ /projects/scrapy/scrapy/crawler.py:234: Cannot find link target for "run-from-script"
+ /projects/scrapy/scrapy/crawler.py:377: Cannot find link target for "run-from-script"
+ /projects/scrapy/scrapy/downloadermiddlewares/retry.py:85: Cannot find link target for "topics-settings"
+ /projects/scrapy/scrapy/downloadermiddlewares/retry.py:86: Cannot find link target for "topics-stats"
+ /projects/scrapy/scrapy/extensions/feedexport.py:76: Cannot find link target for "topics-items"
+ /projects/scrapy/scrapy/http/request/__init__.py:49: Cannot find link target for "topics-components"
+ /projects/scrapy/scrapy/http/response/text.py:202: Cannot find link target for "topics-link-extractors"
+ /projects/scrapy/scrapy/http/response/text.py:209: Cannot find link target for "response-follow-example"
+ /projects/scrapy/scrapy/http/response/text.py:258: Cannot find link target for "topics-link-extractors"
+ /projects/scrapy/scrapy/loader/__init__.py:15: Cannot find link target for "topics-items"
+ /projects/scrapy/scrapy/loader/__init__.py:16: Cannot find link target for "topics-loaders-processors"
+ /projects/scrapy/scrapy/loader/__init__.py:18: Cannot find link target for "topics-selectors"
+ /projects/scrapy/scrapy/settings/__init__.py:536: Cannot find link target for "topics-settings-ref"
+ /projects/scrapy/scrapy/signalmanager.py:18: Cannot find link target for "topics-signals"
+ /projects/scrapy/scrapy/utils/defer.py:366: Cannot find link target for "install-asyncio"
+ /projects/scrapy/scrapy/utils/defer.py:367: Cannot find link target for "coroutine-support"
+ /projects/scrapy/scrapy/utils/defer.py:386: Cannot find link target for "coroutine-support"
+ /projects/scrapy/scrapy/utils/defer.py:395: Cannot find link target for "install-asyncio"
+ /projects/scrapy/scrapy/utils/log.py:100: Cannot find link target for "topics-logging-settings"

... (truncated 22 lines) ...

sphinx (https://github.com/sphinx-doc/sphinx)
- /projects/sphinx/sphinx/ext/autosummary/__init__.py:45: bad docstring: Inline literal start-string without end-string.
- /projects/sphinx/sphinx/transforms/post_transforms/images.py:163: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/sphinx/sphinx/transforms/post_transforms/images.py:163: bad docstring: Unknown interpreted text role "ref".
- /projects/sphinx/sphinx/application.py:431: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/sphinx/sphinx/application.py:431: bad docstring: Unknown interpreted text role "ref".
- /projects/sphinx/sphinx/application.py:819: bad docstring: No role entry for "term" in module "docutils.parsers.rst.languages.en".
- Trying "term" as canonical role name.
- /projects/sphinx/sphinx/application.py:819: bad docstring: Unknown interpreted text role "term".
- /projects/sphinx/sphinx/application.py:867: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/sphinx/sphinx/application.py:867: bad docstring: Unknown interpreted text role "ref".
- /projects/sphinx/sphinx/application.py:1150: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/sphinx/sphinx/application.py:1150: bad docstring: Unknown interpreted text role "ref".
- /projects/sphinx/sphinx/application.py:1225: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/sphinx/sphinx/application.py:1225: bad docstring: Unknown interpreted text role "ref".
- /projects/sphinx/sphinx/application.py:1235: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/sphinx/sphinx/application.py:1235: bad docstring: Unknown interpreted text role "ref".
+ /projects/sphinx/sphinx/application.py:1149: Cannot find link target for "autodoc_ext_tutorial"
+ /projects/sphinx/sphinx/application.py:1224: Cannot find link target for "collector-api"
+ /projects/sphinx/sphinx/application.py:1235: Cannot find link target for "distribute-your-theme"
+ /projects/sphinx/sphinx/application.py:818: Cannot find intersphinx link target for "object"
+ /projects/sphinx/sphinx/application.py:867: Cannot find link target for "xref-syntax"
- /projects/sphinx/sphinx/domains/__init__.py:83: Cannot find link target for "~sphinx.application.Sphinx.add_index_to_domain" (you can link to external docs with --intersphinx)
+ /projects/sphinx/sphinx/domains/__init__.py:83: Cannot find link target for "~sphinx.application.Sphinx.add_index_to_domain()" (you can link to external docs with --intersphinx)
- these 44 objects' docstrings contain syntax errors:
+ these 39 objects' docstrings contain syntax errors:
-     sphinx.application.Sphinx.add_autodocumenter
-     sphinx.application.Sphinx.add_env_collector
-     sphinx.application.Sphinx.add_html_theme
-     sphinx.application.Sphinx.connect
-     sphinx.transforms.post_transforms.images.ImageConverter

sdk-python (https://github.com/temporalio/sdk-python)
+ /projects/sdk-python/temporalio/client.py:2219: Cannot find link target for "KeyError" (your link role filters 'https://docs.python.org/3/library/exceptions.html#KeyError', is it by design?)
+ /projects/sdk-python/temporalio/client.py:3622: Cannot find link target for "KeyError" (your link role filters 'https://docs.python.org/3/library/exceptions.html#KeyError', is it by design?)
+ /projects/sdk-python/temporalio/client.py:3869: Cannot find link target for "KeyError" (your link role filters 'https://docs.python.org/3/library/exceptions.html#KeyError', is it by design?)
+ /projects/sdk-python/temporalio/exceptions.py:339: Cannot find link target for "asyncio.CancelledError" (your link role filters 'https://docs.python.org/3/library/asyncio-exceptions.html#asyncio.CancelledError', is it by design?)
+ /projects/sdk-python/temporalio/worker/_worker.py:529: Cannot find link target for "asyncio.CancelledError" (your link role filters 'https://docs.python.org/3/library/asyncio-exceptions.html#asyncio.CancelledError', is it by design?)
+ /projects/sdk-python/temporalio/workflow.py:719: Cannot find link target for "KeyError" (your link role filters 'https://docs.python.org/3/library/exceptions.html#KeyError', is it by design?)
+ /projects/sdk-python/temporalio/workflow.py:747: Cannot find link target for "datetime.datetime.now", resolved from "datetime.now" (your link role filters 'https://docs.python.org/3/library/datetime.html#datetime.datetime.now', is it by design?)
+ /projects/sdk-python/temporalio/workflow.py:980: Cannot find link target for "asyncio.TimeoutError" (your link role filters 'https://docs.python.org/3/library/asyncio-exceptions.html#asyncio.TimeoutError', is it by design?)

docutils (https://github.com/docutils/docutils)
- /projects/docutils/docutils/docutils/utils/__init__.py:504: Cannot find link target for "pathlib.PurePath.relative_to(other)" (you can link to external docs with --intersphinx)
+ /projects/docutils/docutils/docutils/utils/__init__.py:504: Cannot find link target for "pathlib.PurePath.relative_to" (you can link to external docs with --intersphinx)
- /projects/docutils/docutils/docutils/writers/_html_base.py:365: Cannot find link target for "depart_*_block"
+ /projects/docutils/docutils/docutils/writers/_html_base.py:365: Cannot find link target for "depart_*_block()"

numpy (https://github.com/numpy/numpy)
- /projects/numpy/numpy/_core/memmap.py:86: bad docstring: No role entry for "term" in module "docutils.parsers.rst.languages.en".
- Trying "term" as canonical role name.
- /projects/numpy/numpy/_core/memmap.py:86: bad docstring: Unknown interpreted text role "term".
- /projects/numpy/numpy/_core/memmap.py:86: bad docstring: No role entry for "term" in module "docutils.parsers.rst.languages.en".
- Trying "term" as canonical role name.
- /projects/numpy/numpy/_core/memmap.py:86: bad docstring: Unknown interpreted text role "term".
- /projects/numpy/numpy/lib/_stride_tricks_impl.py:5: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/numpy/numpy/lib/_stride_tricks_impl.py:5: bad docstring: Unknown interpreted text role "ref".
- /projects/numpy/numpy/lib/_function_base_impl.py:2210: bad docstring: No role entry for "doc" in module "docutils.parsers.rst.languages.en".
- Trying "doc" as canonical role name.
- /projects/numpy/numpy/lib/_function_base_impl.py:2210: bad docstring: Unknown interpreted text role "doc".
- /projects/numpy/numpy/dtypes.py:3: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/numpy/numpy/dtypes.py:3: bad docstring: Unknown interpreted text role "ref".
- /projects/numpy/numpy/_typing/_nested_sequence.py:31: bad docstring: No role entry for "term" in module "docutils.parsers.rst.languages.en".
- Trying "term" as canonical role name.
- /projects/numpy/numpy/_typing/_nested_sequence.py:31: bad docstring: Unknown interpreted text role "term".
- /projects/numpy/numpy/lib/format.py:159: bad docstring: No role entry for "doc" in module "docutils.parsers.rst.languages.en".
- Trying "doc" as canonical role name.
- /projects/numpy/numpy/lib/format.py:159: bad docstring: Unknown interpreted text role "doc".
- /projects/numpy/numpy/lib/_polynomial_impl.py:1073: bad docstring: No role entry for "doc" in module "docutils.parsers.rst.languages.en".
- Trying "doc" as canonical role name.
- /projects/numpy/numpy/lib/_polynomial_impl.py:1073: bad docstring: Unknown interpreted text role "doc".
- /projects/numpy/numpy/polynomial/__init__.py:53: bad docstring: No role entry for "doc" in module "docutils.parsers.rst.languages.en".
- Trying "doc" as canonical role name.
- /projects/numpy/numpy/polynomial/__init__.py:53: bad docstring: Unknown interpreted text role "doc".
- /projects/numpy/numpy/typing/__init__.py:90: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/numpy/numpy/typing/__init__.py:90: bad docstring: Unknown interpreted text role "ref".
- /projects/numpy/numpy/typing/__init__.py:139: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.
- /projects/numpy/numpy/typing/__init__.py:139: bad docstring: Unknown interpreted text role "ref".
- /projects/numpy/numpy/typing/mypy_plugin.py:5: bad docstring: No role entry for "ref" in module "docutils.parsers.rst.languages.en".
- Trying "ref" as canonical role name.

... (truncated 75 lines) ...```

an attribute 'names', which is in turn a list of 2-tuples
(dotted_name, as_name) where as_name is None if there was no 'as foo'
part of the statement.
See L{import}.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So this is an implicit external link to the following intersphinx inventory

import std:label reference/simple_stmts.html#$ The import statement

It might not be the best idea to allow these kind of links implicitely. The epytext standard did not cover this. The wiser thing to do would probably be not to touch the epytext parser at first, or maybe only by changing some error message to suggest using restructuredtext instead (until a new inline markup for epytext is added for such kind of links)

Comment on lines +304 to +313
# To cope with the fact that we're not striping spaces from epytext parsed target anymore,
# some target that span over multiple lines will be misinterpreted with having a space
# So we check if the taget has spaces, and if it does we try again without the spaces.
if _CONTAINS_SPACE_RE.match(identifier):
try:
return self._resolve_identifier_xref(_SPACE_RE.sub('', identifier),
lineno, invname=invname, domain=domain,
reftype=reftype, external=external, no_warnings=True)
except LookupError:
pass
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wouldn't be necessary if we drop the epytext parser changes

Comment on lines +96 to +98
if target.endswith(')') and _CALLABLE_RE.match(target, endpos=begin_parameters):
# Remove arg lists for functions (e.g., L{_colorize_link()})
target = _CALLABLE_ARGS_RE.sub('', target)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This implementation doesn't handle targets like thing().stuff(), for these cases we should just give-up

Comment on lines +698 to +699
for i in opt.intersphinx:
inv.update(cache, i)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
for i in opt.intersphinx:
inv.update(cache, i)
for i in opt.intersphinx:
inv.update(cache, i)
for i in opt.intersphinx_files:
inv.update_from_file(i)

@@ -83,6 +83,17 @@ This is the last major release to support Python 3.7.
* `ExtRegistrar.register_post_processor()` now supports a `priority` argument that is an int.
Highest priority callables will be called first during post-processing.
* Fix too noisy ``--verbose`` mode (suppres some ambiguous annotations warnings).
* Major improvements of the intersphinx integration:
- Pydoctor now supports linking to arbitrary intersphinx references with Sphinx role ``:external:``.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be clear that this feature is only supported for restructuredtext, google and numpy docfornat at the moment. It juste doesn’t work for epytext

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Intersphinx from local folder Allow links to arbitrary intersphinx references
1 participant