diff --git a/docs/css/mkdocstrings.css b/docs/css/mkdocstrings.css
index 03c39d33..7d66153a 100644
--- a/docs/css/mkdocstrings.css
+++ b/docs/css/mkdocstrings.css
@@ -25,3 +25,48 @@ a.external:hover::after,
a.autorefs-external:hover::after {
background-color: var(--md-accent-fg-color);
}
+
+/* Tree-like output for backlinks. */
+.doc-backlink-list {
+ --tree-clr: var(--md-default-fg-color);
+ --tree-font-size: 1rem;
+ --tree-item-height: 1;
+ --tree-offset: 1rem;
+ --tree-thickness: 1px;
+ --tree-style: solid;
+ display: grid;
+ list-style: none !important;
+}
+
+.doc-backlink-list li > span:first-child {
+ text-indent: .3rem;
+}
+.doc-backlink-list li {
+ padding-inline-start: var(--tree-offset);
+ border-left: var(--tree-thickness) var(--tree-style) var(--tree-clr);
+ position: relative;
+ margin-left: 0 !important;
+
+ &:last-child {
+ border-color: transparent;
+ }
+ &::before{
+ content: '';
+ position: absolute;
+ top: calc(var(--tree-item-height) / 2 * -1 * var(--tree-font-size) + var(--tree-thickness));
+ left: calc(var(--tree-thickness) * -1);
+ width: calc(var(--tree-offset) + var(--tree-thickness) * 2);
+ height: calc(var(--tree-item-height) * var(--tree-font-size));
+ border-left: var(--tree-thickness) var(--tree-style) var(--tree-clr);
+ border-bottom: var(--tree-thickness) var(--tree-style) var(--tree-clr);
+ }
+ &::after{
+ content: '';
+ position: absolute;
+ border-radius: 50%;
+ background-color: var(--tree-clr);
+ top: calc(var(--tree-item-height) / 2 * 1rem);
+ left: var(--tree-offset) ;
+ translate: calc(var(--tree-thickness) * -1) calc(var(--tree-thickness) * -1);
+ }
+}
diff --git a/docs/insiders/changelog.md b/docs/insiders/changelog.md
index a6c7b907..25562a7d 100644
--- a/docs/insiders/changelog.md
+++ b/docs/insiders/changelog.md
@@ -2,6 +2,10 @@
## mkdocstrings-python Insiders
+### 1.10.0 March 10, 2025 { id="1.10.0" }
+
+- [Backlinks][backlinks]
+
### 1.9.0 September 03, 2024 { id="1.9.0" }
- [Relative cross-references][relative_crossrefs]
diff --git a/docs/insiders/goals.yml b/docs/insiders/goals.yml
index 16d1d507..2153312d 100644
--- a/docs/insiders/goals.yml
+++ b/docs/insiders/goals.yml
@@ -42,3 +42,6 @@ goals:
- name: Scoped cross-references
ref: /usage/configuration/docstrings/#scoped_crossrefs
since: 2024/09/03
+ - name: Backlinks
+ ref: /usage/configuration/general/#backlinks
+ since: 2025/03/10
diff --git a/docs/usage/configuration/general.md b/docs/usage/configuration/general.md
index 3983a616..77b3f3f9 100644
--- a/docs/usage/configuration/general.md
+++ b/docs/usage/configuration/general.md
@@ -60,6 +60,38 @@ plugins:
////
///
+[](){#option-backlinks}
+## `backlinks`
+
+[:octicons-heart-fill-24:{ .pulse } Sponsors only](../../insiders/index.md){ .insiders } —
+[:octicons-tag-24: Insiders 1.10.0](../../insiders/changelog.md#1.10.0)
+
+- **:octicons-package-24: Type
:material-equal: `False`{ title="default value" }**
+
+The `backlinks` option enables rendering of backlinks within your API documentation.
+
+When an arbitrary section of your documentation links to an API symbol, this link will be collected as a backlink, and rendered below your API symbol. In short, the API symbol will link back to the section that links to it. Such backlinks will help your users navigate the documentation, as they will immediately which functions return a specific symbol, or where a specific symbol is accepted as parameter, etc..
+
+Each backlink is a list of breadcrumbs that represent the navigation, from the root page down to the given section.
+
+The available styles for rendering backlinks are **`flat`** and **`tree`**.
+
+- **`flat`** will render backlinks as a single-layer list. This can lead to repetition of breadcrumbs.
+- **`tree`** will combine backlinks into a tree, to remove repetition of breadcrumbs.
+
+WARNING: **Global-only option.** For now, the option only works when set globally in `mkdocs.yml`.
+
+```yaml title="in mkdocs.yml (global configuration)"
+plugins:
+- mkdocstrings:
+ handlers:
+ python:
+ options:
+ backlinks: tree
+```
+
+
+
[](){#option-extensions}
## `extensions`
diff --git a/mkdocs.yml b/mkdocs.yml
index 396f738f..ae518a4c 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -160,6 +160,7 @@ plugins:
- https://mkdocstrings.github.io/griffe/objects.inv
- https://python-markdown.github.io/objects.inv
options:
+ backlinks: tree
docstring_options:
ignore_init_summary: true
docstring_section_style: list
diff --git a/src/mkdocstrings_handlers/python/config.py b/src/mkdocstrings_handlers/python/config.py
index a1ecdcd8..af2ac7f7 100644
--- a/src/mkdocstrings_handlers/python/config.py
+++ b/src/mkdocstrings_handlers/python/config.py
@@ -386,6 +386,14 @@ class PythonInputOptions:
),
] = "brief"
+ backlinks: Annotated[
+ Literal["flat", "tree", False],
+ Field(
+ group="general",
+ description="Whether to render backlinks, and how.",
+ ),
+ ] = False
+
docstring_options: Annotated[
GoogleStyleOptions | NumpyStyleOptions | SphinxStyleOptions | AutoStyleOptions | None,
Field(
diff --git a/src/mkdocstrings_handlers/python/handler.py b/src/mkdocstrings_handlers/python/handler.py
index d9db6669..69f228f1 100644
--- a/src/mkdocstrings_handlers/python/handler.py
+++ b/src/mkdocstrings_handlers/python/handler.py
@@ -301,6 +301,7 @@ def update_env(self, config: Any) -> None: # noqa: ARG002
self.env.filters["as_functions_section"] = rendering.do_as_functions_section
self.env.filters["as_classes_section"] = rendering.do_as_classes_section
self.env.filters["as_modules_section"] = rendering.do_as_modules_section
+ self.env.filters["backlink_tree"] = rendering.do_backlink_tree
self.env.globals["AutorefsHook"] = rendering.AutorefsHook
self.env.tests["existing_template"] = lambda template_name: template_name in self.env.list_templates()
diff --git a/src/mkdocstrings_handlers/python/rendering.py b/src/mkdocstrings_handlers/python/rendering.py
index 4b8a8ee4..0a670b90 100644
--- a/src/mkdocstrings_handlers/python/rendering.py
+++ b/src/mkdocstrings_handlers/python/rendering.py
@@ -8,11 +8,12 @@
import subprocess
import sys
import warnings
+from collections import defaultdict
from dataclasses import replace
from functools import lru_cache
from pathlib import Path
from re import Match, Pattern
-from typing import TYPE_CHECKING, Any, Callable, ClassVar, Literal
+from typing import TYPE_CHECKING, Any, Callable, ClassVar, Literal, TypeVar
from griffe import (
Alias,
@@ -28,11 +29,11 @@
)
from jinja2 import TemplateNotFound, pass_context, pass_environment
from markupsafe import Markup
-from mkdocs_autorefs import AutorefsHookInterface
+from mkdocs_autorefs import AutorefsHookInterface, Backlink, BacklinkCrumb
from mkdocstrings import get_logger
if TYPE_CHECKING:
- from collections.abc import Iterator, Sequence
+ from collections.abc import Iterable, Iterator, Sequence
from griffe import Attribute, Class, Function, Module
from jinja2 import Environment, Template
@@ -210,10 +211,15 @@ def do_format_attribute(
signature = str(attribute_path).strip()
if annotations and attribute.annotation:
- annotation = template.render(context.parent, expression=attribute.annotation, signature=True)
+ annotation = template.render(
+ context.parent,
+ expression=attribute.annotation,
+ signature=True,
+ backlink_type="returned-by",
+ )
signature += f": {annotation}"
if attribute.value:
- value = template.render(context.parent, expression=attribute.value, signature=True)
+ value = template.render(context.parent, expression=attribute.value, signature=True, backlink_type="used-by")
signature += f" = {value}"
signature = do_format_code(signature, line_length)
@@ -725,3 +731,45 @@ def get_context(self) -> AutorefsHookInterface.Context:
filepath=str(filepath),
lineno=lineno,
)
+
+
+T = TypeVar("T")
+Tree = dict[T, "Tree"]
+CompactTree = dict[tuple[T, ...], "CompactTree"]
+_rtree = lambda: defaultdict(_rtree) # type: ignore[has-type,var-annotated] # noqa: E731
+
+
+def _tree(data: Iterable[tuple[T, ...]]) -> Tree:
+ new_tree = _rtree()
+ for nav in data:
+ *path, leaf = nav
+ node = new_tree
+ for key in path:
+ node = node[key]
+ node[leaf] = _rtree()
+ return new_tree
+
+
+def _compact_tree(tree: Tree) -> CompactTree:
+ new_tree = _rtree()
+ for key, value in tree.items():
+ child = _compact_tree(value)
+ if len(child) == 1:
+ child_key, child_value = next(iter(child.items()))
+ new_key = (key, *child_key)
+ new_tree[new_key] = child_value
+ else:
+ new_tree[(key,)] = child
+ return new_tree
+
+
+def do_backlink_tree(backlinks: list[Backlink]) -> CompactTree[BacklinkCrumb]:
+ """Build a tree of backlinks.
+
+ Parameters:
+ backlinks: The list of backlinks.
+
+ Returns:
+ A tree of backlinks.
+ """
+ return _compact_tree(_tree(backlink.crumbs for backlink in backlinks))
diff --git a/src/mkdocstrings_handlers/python/templates/material/_base/attribute.html.jinja b/src/mkdocstrings_handlers/python/templates/material/_base/attribute.html.jinja
index c13bb641..3217b4f6 100644
--- a/src/mkdocstrings_handlers/python/templates/material/_base/attribute.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/material/_base/attribute.html.jinja
@@ -113,6 +113,10 @@ Context:
{% include "docstring"|get_template with context %}
{% endwith %}
{% endblock docstring %}
+
+ {% if config.backlinks %}
+
Bases: {% for expression in class.bases -%}
- {% include "expression"|get_template with context %}
{% if not loop.last %}, {% endif %}
+
+ {%- with backlink_type = "subclassed-by" -%}
+ {%- include "expression"|get_template with context -%}
+ {%- endwith -%}
+
{% if not loop.last %}, {% endif %}
{% endfor -%}
{{ parameter.name }}
{% include "expression"|get_template with context %}
{% endwith %}
{% endif %}
@@ -60,7 +60,7 @@ Context:
{{ parameter.name }}
{% if parameter.annotation %}
- {% with expression = parameter.annotation %}
+ {% with expression = parameter.annotation, backlink_type = "used-by" %}
({% include "expression"|get_template with context %}
)
{% endwith %}
{% endif %}
@@ -94,7 +94,7 @@ Context:
{% if parameter.annotation %}
{{ lang.t("TYPE:") }}
- {% with expression = parameter.annotation %}
+ {% with expression = parameter.annotation, backlink_type = "used-by" %}
{% include "expression"|get_template with context %}
{% endwith %}
diff --git a/src/mkdocstrings_handlers/python/templates/material/_base/docstring/parameters.html.jinja b/src/mkdocstrings_handlers/python/templates/material/_base/docstring/parameters.html.jinja
index d4e9acb8..ae8fb7a3 100644
--- a/src/mkdocstrings_handlers/python/templates/material/_base/docstring/parameters.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/material/_base/docstring/parameters.html.jinja
@@ -51,7 +51,7 @@ Context:
{% include "expression"|get_template with context %}
{% endwith %}
{% endif %}
@@ -63,7 +63,7 @@ Context:
{% include "expression"|get_template with context %}
{% endwith %}
{% else %}
@@ -96,10 +96,10 @@ Context:
{{ parameter.name }}
{% endif %}
{% if parameter.annotation %}
- {% with expression = parameter.annotation %}
+ {% with expression = parameter.annotation, backlink_type = "used-by" %}
({% include "expression"|get_template with context %}
{%- if parameter.default %}, {{ lang.t("default:") }}
- {% with expression = parameter.default %}
+ {% with expression = parameter.default, backlink_type = "used-by" %}
{% include "expression"|get_template with context %}
{% endwith %}
{% endif %})
@@ -149,7 +149,7 @@ Context:
{% if parameter.annotation %}
{{ lang.t("TYPE:") }}
- {% with expression = parameter.annotation %}
+ {% with expression = parameter.annotation, backlink_type = "used-by" %}
{% include "expression"|get_template with context %}
{% endwith %}
@@ -157,7 +157,7 @@ Context:
{% if parameter.default %}
{{ lang.t("DEFAULT:") }}
- {% with expression = parameter.default %}
+ {% with expression = parameter.default, backlink_type = "used-by" %}
{% include "expression"|get_template with context %}
{% endwith %}
diff --git a/src/mkdocstrings_handlers/python/templates/material/_base/docstring/raises.html.jinja b/src/mkdocstrings_handlers/python/templates/material/_base/docstring/raises.html.jinja
index d734e94a..1e1d5006 100644
--- a/src/mkdocstrings_handlers/python/templates/material/_base/docstring/raises.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/material/_base/docstring/raises.html.jinja
@@ -34,7 +34,7 @@ Context:
{% include "expression"|get_template with context %}
{% endwith %}
{% endif %}
@@ -57,7 +57,7 @@ Context:
{% for raises in section.value %}
{% include "expression"|get_template with context %}
{% endwith %}
–
@@ -84,7 +84,7 @@ Context:
{% include "expression"|get_template with context %}
{% endwith %}
diff --git a/src/mkdocstrings_handlers/python/templates/material/_base/docstring/receives.html.jinja b/src/mkdocstrings_handlers/python/templates/material/_base/docstring/receives.html.jinja
index 3b618c66..a447b216 100644
--- a/src/mkdocstrings_handlers/python/templates/material/_base/docstring/receives.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/material/_base/docstring/receives.html.jinja
@@ -37,7 +37,7 @@ Context:
{% if name_column %}{{ receives.name }}
{% endif %}{% include "expression"|get_template with context %}
{% endwith %}
{% endif %}
@@ -61,7 +61,7 @@ Context:
{{ receives.name }}
{% endif %}
{% if receives.annotation %}
- {% with expression = receives.annotation %}
+ {% with expression = receives.annotation, backlink_type = "received-by" %}
{% if receives.name %} ({% endif %}
{% include "expression"|get_template with context %}
{% if receives.name %}){% endif %}
@@ -93,7 +93,7 @@ Context:
{{ receives.name }}
{% elif receives.annotation %}
- {% with expression = receives.annotation %}
+ {% with expression = receives.annotation, backlink_type = "received-by" %}
{% include "expression"|get_template with context %}
{% endwith %}
@@ -107,7 +107,7 @@ Context:
{{ lang.t("TYPE:") }}
- {% with expression = receives.annotation %}
+ {% with expression = receives.annotation, backlink_type = "received-by" %}
{% include "expression"|get_template with context %}
{% endwith %}
diff --git a/src/mkdocstrings_handlers/python/templates/material/_base/docstring/returns.html.jinja b/src/mkdocstrings_handlers/python/templates/material/_base/docstring/returns.html.jinja
index af61fce5..30540e66 100644
--- a/src/mkdocstrings_handlers/python/templates/material/_base/docstring/returns.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/material/_base/docstring/returns.html.jinja
@@ -37,7 +37,7 @@ Context:
{% if name_column %}
{{ returns.name }}
{% endif %}{% include "expression"|get_template with context %}
{% endwith %}
{% endif %}
@@ -61,7 +61,7 @@ Context:
{{ returns.name }}
{% endif %}
{% if returns.annotation %}
- {% with expression = returns.annotation %}
+ {% with expression = returns.annotation, backlink_type = "returned-by" %}
{% if returns.name %} ({% endif %}
{% include "expression"|get_template with context %}
{% if returns.name %}){% endif %}
@@ -93,7 +93,7 @@ Context:
{{ returns.name }}
{% elif returns.annotation %}
- {% with expression = returns.annotation %}
+ {% with expression = returns.annotation, backlink_type = "returned-by" %}
{% include "expression"|get_template with context %}
{% endwith %}
@@ -107,7 +107,7 @@ Context:
{{ lang.t("TYPE:") }}
- {% with expression = returns.annotation %}
+ {% with expression = returns.annotation, backlink_type = "returned-by" %}
{% include "expression"|get_template with context %}
{% endwith %}
diff --git a/src/mkdocstrings_handlers/python/templates/material/_base/docstring/warns.html.jinja b/src/mkdocstrings_handlers/python/templates/material/_base/docstring/warns.html.jinja
index 782c0cdf..814e3020 100644
--- a/src/mkdocstrings_handlers/python/templates/material/_base/docstring/warns.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/material/_base/docstring/warns.html.jinja
@@ -34,7 +34,7 @@ Context:
{% include "expression"|get_template with context %}
{% endwith %}
{% endif %}
@@ -57,7 +57,7 @@ Context:
{% for warns in section.value %}
{% include "expression"|get_template with context %}
{% endwith %}
–
@@ -84,7 +84,7 @@ Context:
{% include "expression"|get_template with context %}
{% endwith %}
diff --git a/src/mkdocstrings_handlers/python/templates/material/_base/docstring/yields.html.jinja b/src/mkdocstrings_handlers/python/templates/material/_base/docstring/yields.html.jinja
index 6d3cfa14..01b8b9e5 100644
--- a/src/mkdocstrings_handlers/python/templates/material/_base/docstring/yields.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/material/_base/docstring/yields.html.jinja
@@ -37,7 +37,7 @@ Context:
{% if name_column %}{{ yields.name }}
{% endif %}{% include "expression"|get_template with context %}
{% endwith %}
{% endif %}
@@ -61,7 +61,7 @@ Context:
{{ yields.name }}
{% endif %}
{% if yields.annotation %}
- {% with expression = yields.annotation %}
+ {% with expression = yields.annotation, backlink_type = "yielded-by" %}
{% if yields.name %} ({% endif %}
{% include "expression"|get_template with context %}
{% if yields.name %}){% endif %}
@@ -93,7 +93,7 @@ Context:
{{ yields.name }}
{% elif yields.annotation %}
- {% with expression = yields.annotation %}
+ {% with expression = yields.annotation, backlink_type = "yielded-by" %}
{% include "expression"|get_template with context %}
{% endwith %}
@@ -107,7 +107,7 @@ Context:
{{ lang.t("TYPE:") }}:
- {% with expression = yields.annotation %}
+ {% with expression = yields.annotation, backlink_type = "yielded-by" %}
{% include "expression"|get_template with context %}
{% endwith %}
diff --git a/src/mkdocstrings_handlers/python/templates/material/_base/expression.html.jinja b/src/mkdocstrings_handlers/python/templates/material/_base/expression.html.jinja
index 781d46c7..d49e43be 100644
--- a/src/mkdocstrings_handlers/python/templates/material/_base/expression.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/material/_base/expression.html.jinja
@@ -11,7 +11,7 @@ which is a tree-like structure representing a Python expression.
-#}
{% endblock logs %}
-{%- macro crossref(name, annotation_path) -%}
+{%- macro crossref(name, annotation_path, backlink_type="") -%}
{#- Output a cross-reference.
This macro outputs a cross-reference to the given name.
@@ -35,11 +35,11 @@ which is a tree-like structure representing a Python expression.
{{ prefix }}
{%- if not signature -%}
{#- Always render cross-references outside of signatures. We don't need to stash them. -#}
-
{{ parameter.name }}
{% if parameter.annotation %}
- {% with expression = parameter.annotation %}
+ {% with expression = parameter.annotation, backlink_type = "used-by" %}
({% include "expression"|get_template with context %}
)
{% endwith %}
{% endif %}
diff --git a/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/parameters.html.jinja b/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/parameters.html.jinja
index 295ab082..6017a8cb 100644
--- a/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/parameters.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/parameters.html.jinja
@@ -32,10 +32,10 @@ Context:
{{ parameter.name }}
{% if parameter.annotation %}
- {% with expression = parameter.annotation %}
+ {% with expression = parameter.annotation, backlink_type = "used-by" %}
({% include "expression"|get_template with context %}
{%- if parameter.default %}, {{ lang.t("default:") }}
- {% with expression = parameter.default %}
+ {% with expression = parameter.default, backlink_type = "used-by" %}
{% include "expression"|get_template with context %}
{% endwith %}
{% endif %})
diff --git a/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/raises.html.jinja b/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/raises.html.jinja
index 7fa8cd86..11f695e8 100644
--- a/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/raises.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/raises.html.jinja
@@ -31,7 +31,7 @@ Context:
{% for raises in section.value %}
{% include "expression"|get_template with context %}
{% endwith %}
{% endif %}
diff --git a/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/receives.html.jinja b/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/receives.html.jinja
index 9ee189bc..aec9a858 100644
--- a/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/receives.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/receives.html.jinja
@@ -32,7 +32,7 @@ Context:
{{ receives.name }}
{% endif %}
{% if receives.annotation %}
- {% with expression = receives.annotation %}
+ {% with expression = receives.annotation, backlink_type = "received-by" %}
{% if receives.name %}({% endif %}
{% include "expression"|get_template with context %}
{% if receives.name %}){% endif %}
diff --git a/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/returns.html.jinja b/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/returns.html.jinja
index 2dbd21af..3f8bbba4 100644
--- a/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/returns.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/returns.html.jinja
@@ -32,7 +32,7 @@ Context:
{{ returns.name }}
{% endif %}
{% if returns.annotation %}
- {% with expression = returns.annotation %}
+ {% with expression = returns.annotation, backlink_type = "returned-by" %}
{% if returns.name %}({% endif %}
{% include "expression"|get_template with context %}
{% if returns.name %}){% endif %}
diff --git a/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/warns.html.jinja b/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/warns.html.jinja
index 61f3c839..1d465ec9 100644
--- a/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/warns.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/warns.html.jinja
@@ -31,7 +31,7 @@ Context:
{% for warns in section.value %}
{% include "expression"|get_template with context %}
{% endwith %}
{% endif %}
diff --git a/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/yields.html.jinja b/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/yields.html.jinja
index 0fa6fcbc..70c782b3 100644
--- a/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/yields.html.jinja
+++ b/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/yields.html.jinja
@@ -32,7 +32,7 @@ Context:
{% include "expression"|get_template with context %}
{% if yields.name %}){% endif %}
diff --git a/tests/snapshots/__init__.py b/tests/snapshots/__init__.py
index 4469afed..712cdafe 100644
--- a/tests/snapshots/__init__.py
+++ b/tests/snapshots/__init__.py
@@ -13,7 +13,7 @@
("separate_signature", True),
("show_signature_annotations", True),
("signature_crossrefs", True),
- ): external("955e5111f426*.html"),
+ ): external("261a38d7a86b*.html"),
(
("separate_signature", False),
("show_signature_annotations", True),
@@ -54,28 +54,20 @@
("inherited_members", ("method1",)),
("members", False),
): external("ab0ddac637b5*.html"),
- (("filters", None), ("inherited_members", True), ("members", True)): external(
- "0b1372d7f7c0*.html",
- ),
- (("filters", ()), ("inherited_members", False), ("members", True)): external(
- "59a9e1ffb2f0*.html",
- ),
+ (("filters", None), ("inherited_members", True), ("members", True)): external("c0f102dbd7d4*.html"),
+ (("filters", ()), ("inherited_members", False), ("members", True)): external("fca72854c849*.html"),
(
("filters", ("!module_attribute",)),
("inherited_members", ()),
("members", ("module_attribute",)),
): external("6d12192d6b4d*.html"),
- (("filters", ()), ("inherited_members", ()), ("members", False)): external(
- "366b0537fe06*.html",
- ),
+ (("filters", ()), ("inherited_members", ()), ("members", False)): external("366b0537fe06*.html"),
(
("filters", ()),
("inherited_members", ("method1",)),
("members", ("module_attribute",)),
): external("e90c3e0c85dd*.html"),
- (("filters", ()), ("inherited_members", True), ("members", True)): external(
- "e8be7a9b1410*.html",
- ),
+ (("filters", ()), ("inherited_members", True), ("members", True)): external("722165bce3ad*.html"),
(
("filters", ("module_attribute",)),
("inherited_members", ("method1",)),
@@ -85,15 +77,13 @@
("filters", ()),
("inherited_members", ("method1",)),
("members", True),
- ): external("d540895f6bf9*.html"),
- (("filters", ()), ("inherited_members", False), ("members", False)): external(
- "5cf0130e3b4f*.html",
- ),
+ ): external("cd51e40cc0dd*.html"),
+ (("filters", ()), ("inherited_members", False), ("members", False)): external("5cf0130e3b4f*.html"),
(
("filters", ("!module_attribute",)),
("inherited_members", True),
("members", True),
- ): external("7c988c9e13ef*.html"),
+ ): external("34b16654e7ba*.html"),
(
("filters", ("!module_attribute",)),
("inherited_members", False),
@@ -119,17 +109,13 @@
("inherited_members", False),
("members", ("module_attribute",)),
): external("5a9c10410801*.html"),
- (("filters", ()), ("inherited_members", False), ("members", ())): external(
- "fba0d78ae23e*.html",
- ),
+ (("filters", ()), ("inherited_members", False), ("members", ())): external("fba0d78ae23e*.html"),
(
("filters", ("module_attribute",)),
("inherited_members", ("method1",)),
("members", None),
): external("cfcd41685591*.html"),
- (("filters", ()), ("inherited_members", False), ("members", None)): external(
- "a2c5be9bd5d1*.html",
- ),
+ (("filters", ()), ("inherited_members", False), ("members", None)): external("eac5bee59a9e*.html"),
(
("filters", ("module_attribute",)),
("inherited_members", ()),
@@ -145,9 +131,7 @@
("inherited_members", ("method1",)),
("members", ()),
): external("4f60da13e2d4*.html"),
- (("filters", ()), ("inherited_members", True), ("members", ())): external(
- "c915eb92fd5d*.html",
- ),
+ (("filters", ()), ("inherited_members", True), ("members", ())): external("c915eb92fd5d*.html"),
(
("filters", ("module_attribute",)),
("inherited_members", ()),
@@ -157,21 +141,15 @@
("filters", ("!module_attribute",)),
("inherited_members", ("method1",)),
("members", None),
- ): external("3d072a22b951*.html"),
- (("filters", None), ("inherited_members", False), ("members", False)): external(
- "9bd282a6f2fe*.html",
- ),
+ ): external("fe1cd23642d4*.html"),
+ (("filters", None), ("inherited_members", False), ("members", False)): external("9bd282a6f2fe*.html"),
(
("filters", None),
("inherited_members", ()),
("members", ("module_attribute",)),
): external("166b8dfab738*.html"),
- (("filters", None), ("inherited_members", ()), ("members", False)): external(
- "44e42f27bfe3*.html",
- ),
- (("filters", None), ("inherited_members", False), ("members", None)): external(
- "f7711b8af768*.html",
- ),
+ (("filters", None), ("inherited_members", ()), ("members", False)): external("44e42f27bfe3*.html"),
+ (("filters", None), ("inherited_members", False), ("members", None)): external("0f046dea611f*.html"),
(
("filters", ("!module_attribute",)),
("inherited_members", True),
@@ -182,14 +160,12 @@
("inherited_members", True),
("members", False),
): external("f3f3acb6b51b*.html"),
- (("filters", None), ("inherited_members", ()), ("members", True)): external(
- "347d4ffe2cb3*.html",
- ),
+ (("filters", None), ("inherited_members", ()), ("members", True)): external("dcf34c2f7269*.html"),
(
("filters", ("!module_attribute",)),
("inherited_members", True),
("members", None),
- ): external("ba51e100acd4*.html"),
+ ): external("8733f7fb7b6d*.html"),
(
("filters", ("!module_attribute",)),
("inherited_members", False),
@@ -215,12 +191,8 @@
("inherited_members", False),
("members", ()),
): external("d5a6bf59c663*.html"),
- (("filters", None), ("inherited_members", ()), ("members", None)): external(
- "88855b028417*.html",
- ),
- (("filters", ()), ("inherited_members", True), ("members", None)): external(
- "981438492e38*.html",
- ),
+ (("filters", None), ("inherited_members", ()), ("members", None)): external("fd291f98ca28*.html"),
+ (("filters", ()), ("inherited_members", True), ("members", None)): external("14bca0e5703b*.html"),
(
("filters", ()),
("inherited_members", False),
@@ -230,25 +202,23 @@
("filters", None),
("inherited_members", ("method1",)),
("members", None),
- ): external("ae74b5980f9b*.html"),
+ ): external("43d819f94dc7*.html"),
(
("filters", ("module_attribute",)),
("inherited_members", True),
("members", ()),
): external("95f8e480937f*.html"),
- (("filters", None), ("inherited_members", False), ("members", True)): external(
- "831198033381*.html",
- ),
+ (("filters", None), ("inherited_members", False), ("members", True)): external("f4150843096a*.html"),
(
("filters", ("module_attribute",)),
("inherited_members", True),
("members", True),
- ): external("052c34f22e4c*.html"),
+ ): external("3c21330afd65*.html"),
(
("filters", ("!module_attribute",)),
("inherited_members", False),
("members", None),
- ): external("cdc8126d78b6*.html"),
+ ): external("d55652702606*.html"),
(
("filters", ("module_attribute",)),
("inherited_members", ("method1",)),
@@ -259,9 +229,7 @@
("inherited_members", True),
("members", ("module_attribute",)),
): external("96cf94f4822a*.html"),
- (("filters", None), ("inherited_members", True), ("members", ())): external(
- "ce06da7f07b3*.html",
- ),
+ (("filters", None), ("inherited_members", True), ("members", ())): external("ce06da7f07b3*.html"),
(
("filters", ("!module_attribute",)),
("inherited_members", ()),
@@ -271,15 +239,13 @@
("filters", None),
("inherited_members", ("method1",)),
("members", True),
- ): external("7d5fe6653919*.html"),
+ ): external("75b69b702f3b*.html"),
(
("filters", ("!module_attribute",)),
("inherited_members", True),
("members", False),
): external("d726cb8367d9*.html"),
- (("filters", None), ("inherited_members", False), ("members", ())): external(
- "fb770e6537bc*.html",
- ),
+ (("filters", None), ("inherited_members", False), ("members", ())): external("fb770e6537bc*.html"),
(
("filters", ("module_attribute",)),
("inherited_members", True),
@@ -294,15 +260,13 @@
("filters", ("module_attribute",)),
("inherited_members", ()),
("members", True),
- ): external("46e56f39b10d*.html"),
+ ): external("13334b5b4fcf*.html"),
(
("filters", ()),
("inherited_members", ()),
("members", ("module_attribute",)),
): external("388a13d71284*.html"),
- (("filters", None), ("inherited_members", True), ("members", False)): external(
- "3f5d794823a4*.html",
- ),
+ (("filters", None), ("inherited_members", True), ("members", False)): external("3f5d794823a4*.html"),
(
("filters", ()),
("inherited_members", True),
@@ -317,7 +281,7 @@
("filters", ("module_attribute",)),
("inherited_members", False),
("members", True),
- ): external("052e71e7e9d5*.html"),
+ ): external("cd3e45851714*.html"),
(
("filters", None),
("inherited_members", ("method1",)),
@@ -327,7 +291,7 @@
("filters", ("!module_attribute",)),
("inherited_members", ()),
("members", True),
- ): external("b4b490164ab1*.html"),
+ ): external("84193b3c9f5d*.html"),
(
("filters", ("!module_attribute",)),
("inherited_members", ("method1",)),
@@ -342,21 +306,15 @@
("filters", ("!module_attribute",)),
("inherited_members", ()),
("members", None),
- ): external("728c13446301*.html"),
- (("filters", None), ("inherited_members", ()), ("members", ())): external(
- "f77f1c850398*.html",
- ),
+ ): external("3935bcf6d71b*.html"),
+ (("filters", None), ("inherited_members", ()), ("members", ())): external("f77f1c850398*.html"),
(
("filters", ("!module_attribute",)),
("inherited_members", False),
("members", True),
- ): external("0fac4f5e7f45*.html"),
- (("filters", None), ("inherited_members", True), ("members", None)): external(
- "cc19537fdba4*.html",
- ),
- (("filters", ()), ("inherited_members", ()), ("members", None)): external(
- "e6a9b76f268c*.html",
- ),
+ ): external("fe25ab760039*.html"),
+ (("filters", None), ("inherited_members", True), ("members", None)): external("ea914f1afa9d*.html"),
+ (("filters", ()), ("inherited_members", ()), ("members", None)): external("19f98a747c01*.html"),
(
("filters", ("!module_attribute",)),
("inherited_members", ()),
@@ -366,36 +324,30 @@
("filters", ("!module_attribute",)),
("inherited_members", ("method1",)),
("members", True),
- ): external("0c2924ff976f*.html"),
+ ): external("9720526cf5e4*.html"),
(
("filters", ("module_attribute",)),
("inherited_members", ()),
("members", ("module_attribute",)),
): external("f6e292b8358a*.html"),
- (("filters", ()), ("inherited_members", True), ("members", False)): external(
- "b0a9b08f1f72*.html",
- ),
- (("filters", ()), ("inherited_members", ()), ("members", True)): external(
- "fb65efbbfc3e*.html",
- ),
+ (("filters", ()), ("inherited_members", True), ("members", False)): external("b0a9b08f1f72*.html"),
+ (("filters", ()), ("inherited_members", ()), ("members", True)): external("027ef7afeffc*.html"),
(
("filters", ("module_attribute",)),
("inherited_members", False),
("members", False),
): external("710706687213*.html"),
- (("filters", ()), ("inherited_members", ()), ("members", ())): external(
- "11598fec2d07*.html",
- ),
+ (("filters", ()), ("inherited_members", ()), ("members", ())): external("11598fec2d07*.html"),
(
("filters", ("module_attribute",)),
("inherited_members", ("method1",)),
("members", True),
- ): external("a1167b14f5a7*.html"),
+ ): external("e8608b0de174*.html"),
(
("filters", ()),
("inherited_members", ("method1",)),
("members", None),
- ): external("f848d4a9e516*.html"),
+ ): external("e5dc372374af*.html"),
(
("filters", ("module_attribute",)),
("inherited_members", ()),
diff --git a/tests/snapshots/external/fb65efbbfc3ef9c2a06e6f539f8a75bec4276e61254539632a1d5f8f2c6c3452.html b/tests/snapshots/external/027ef7afeffc56219a09298c7db30f473c4dfdda12d99a171e9c76098c316067.html
similarity index 97%
rename from tests/snapshots/external/fb65efbbfc3ef9c2a06e6f539f8a75bec4276e61254539632a1d5f8f2c6c3452.html
rename to tests/snapshots/external/027ef7afeffc56219a09298c7db30f473c4dfdda12d99a171e9c76098c316067.html
index 3cec9af8..ccfa8d64 100644
--- a/tests/snapshots/external/fb65efbbfc3ef9c2a06e6f539f8a75bec4276e61254539632a1d5f8f2c6c3452.html
+++ b/tests/snapshots/external/027ef7afeffc56219a09298c7db30f473c4dfdda12d99a171e9c76098c316067.html
@@ -264,7 +264,7 @@
Bases:
-
diff --git a/tests/snapshots/external/f7711b8af7689b331209f8c034c8cc3a2ec894372644a8eaee597418e9b55b3c.html b/tests/snapshots/external/0f046dea611f6c9e90b8eaed720f22af372394971808e2a5d1b3a12286f1ec76.html
similarity index 97%
rename from tests/snapshots/external/f7711b8af7689b331209f8c034c8cc3a2ec894372644a8eaee597418e9b55b3c.html
rename to tests/snapshots/external/0f046dea611f6c9e90b8eaed720f22af372394971808e2a5d1b3a12286f1ec76.html
index 522fd1c1..332a5c53 100644
--- a/tests/snapshots/external/f7711b8af7689b331209f8c034c8cc3a2ec894372644a8eaee597418e9b55b3c.html
+++ b/tests/snapshots/external/0f046dea611f6c9e90b8eaed720f22af372394971808e2a5d1b3a12286f1ec76.html
@@ -264,7 +264,7 @@
Bases:
-
diff --git a/tests/snapshots/external/46e56f39b10d1e8ee4017bc11457bf76d169fc80b3d3e465213671b7f6e548eb.html b/tests/snapshots/external/13334b5b4fcf7267539b9eb99ca2ab79c66766ec6f35383f4bfcb6a8d9e2a116.html
similarity index 94%
rename from tests/snapshots/external/46e56f39b10d1e8ee4017bc11457bf76d169fc80b3d3e465213671b7f6e548eb.html
rename to tests/snapshots/external/13334b5b4fcf7267539b9eb99ca2ab79c66766ec6f35383f4bfcb6a8d9e2a116.html
index 36f35fb4..a7eb7dce 100644
--- a/tests/snapshots/external/46e56f39b10d1e8ee4017bc11457bf76d169fc80b3d3e465213671b7f6e548eb.html
+++ b/tests/snapshots/external/13334b5b4fcf7267539b9eb99ca2ab79c66766ec6f35383f4bfcb6a8d9e2a116.html
@@ -78,7 +78,7 @@
Bases:
-
diff --git a/tests/snapshots/external/981438492e387bc82b23f09e3c5e0b452db5a1ffd88e52479db2b52a170fd8f9.html b/tests/snapshots/external/14bca0e5703be9cab876200d88cccd1d728d1bdfef7cbfac751af212e00a8663.html
similarity index 98%
rename from tests/snapshots/external/981438492e387bc82b23f09e3c5e0b452db5a1ffd88e52479db2b52a170fd8f9.html
rename to tests/snapshots/external/14bca0e5703be9cab876200d88cccd1d728d1bdfef7cbfac751af212e00a8663.html
index 574ec87c..b2490df7 100644
--- a/tests/snapshots/external/981438492e387bc82b23f09e3c5e0b452db5a1ffd88e52479db2b52a170fd8f9.html
+++ b/tests/snapshots/external/14bca0e5703be9cab876200d88cccd1d728d1bdfef7cbfac751af212e00a8663.html
@@ -264,7 +264,7 @@
Bases:
-
diff --git a/tests/snapshots/external/e6a9b76f268cde81a129e7273038db0ff3fcd73530442a30c48cf01dcbc30aaa.html b/tests/snapshots/external/19f98a747c015a074f3d3362d03ed72f9da9db3aefe969a0d78c4052e7594372.html
similarity index 97%
rename from tests/snapshots/external/e6a9b76f268cde81a129e7273038db0ff3fcd73530442a30c48cf01dcbc30aaa.html
rename to tests/snapshots/external/19f98a747c015a074f3d3362d03ed72f9da9db3aefe969a0d78c4052e7594372.html
index dbcf8c57..9058ed13 100644
--- a/tests/snapshots/external/e6a9b76f268cde81a129e7273038db0ff3fcd73530442a30c48cf01dcbc30aaa.html
+++ b/tests/snapshots/external/19f98a747c015a074f3d3362d03ed72f9da9db3aefe969a0d78c4052e7594372.html
@@ -264,7 +264,7 @@
Bases:
-
diff --git a/tests/snapshots/external/955e5111f4262f280b0787a22dfa46c9ea93c80bc49e1a1de100349341d93fb9.html b/tests/snapshots/external/261a38d7a86b5e959b6d1c165108301963d0170c2189d5aa18bb7c7eade84ea4.html
similarity index 64%
rename from tests/snapshots/external/955e5111f4262f280b0787a22dfa46c9ea93c80bc49e1a1de100349341d93fb9.html
rename to tests/snapshots/external/261a38d7a86b5e959b6d1c165108301963d0170c2189d5aa18bb7c7eade84ea4.html
index ee00ece7..2170787f 100644
--- a/tests/snapshots/external/955e5111f4262f280b0787a22dfa46c9ea93c80bc49e1a1de100349341d93fb9.html
+++ b/tests/snapshots/external/261a38d7a86b5e959b6d1c165108301963d0170c2189d5aa18bb7c7eade84ea4.html
@@ -36,7 +36,7 @@
__init__(a: int , b: str ) -> None
+ __init__(a: int , b: str ) -> None
method1(a: int , b: str ) -> None
+ method1(a: int , b: str ) -> None
module_function(a: int , b: str ) -> None
+ module_function(a: int , b: str ) -> None
Bases:
-
diff --git a/tests/snapshots/external/728c1344630190ac84514ebd8e5ae2d95ba8685e16d2c79749f675b5b2a6cea5.html b/tests/snapshots/external/3935bcf6d71b58daa0e4512cbf3f53e19516885fb65d0bd760c12aadd021507f.html
similarity index 97%
rename from tests/snapshots/external/728c1344630190ac84514ebd8e5ae2d95ba8685e16d2c79749f675b5b2a6cea5.html
rename to tests/snapshots/external/3935bcf6d71b58daa0e4512cbf3f53e19516885fb65d0bd760c12aadd021507f.html
index d6ac202a..793f43a4 100644
--- a/tests/snapshots/external/728c1344630190ac84514ebd8e5ae2d95ba8685e16d2c79749f675b5b2a6cea5.html
+++ b/tests/snapshots/external/3935bcf6d71b58daa0e4512cbf3f53e19516885fb65d0bd760c12aadd021507f.html
@@ -235,7 +235,7 @@
Bases:
-
diff --git a/tests/snapshots/external/052c34f22e4c711b1f13f53085cdd5e8edcfae4bdc1d8cb7f2ff76cd1c46cce5.html b/tests/snapshots/external/3c21330afd6529769164afe388e9385a9fddb3ae628124965e0c7b81932a0c63.html
similarity index 94%
rename from tests/snapshots/external/052c34f22e4c711b1f13f53085cdd5e8edcfae4bdc1d8cb7f2ff76cd1c46cce5.html
rename to tests/snapshots/external/3c21330afd6529769164afe388e9385a9fddb3ae628124965e0c7b81932a0c63.html
index e1a7d15c..26cb9e39 100644
--- a/tests/snapshots/external/052c34f22e4c711b1f13f53085cdd5e8edcfae4bdc1d8cb7f2ff76cd1c46cce5.html
+++ b/tests/snapshots/external/3c21330afd6529769164afe388e9385a9fddb3ae628124965e0c7b81932a0c63.html
@@ -78,7 +78,7 @@
Bases:
-
diff --git a/tests/snapshots/external/ae74b5980f9b6996ed6e112d53168fde16c32d92bed42fb3193f98e0e3f04602.html b/tests/snapshots/external/43d819f94dc7cafe9ed60ce604bab9a938f42a115dc534cb72d12e15e998e96d.html
similarity index 98%
rename from tests/snapshots/external/ae74b5980f9b6996ed6e112d53168fde16c32d92bed42fb3193f98e0e3f04602.html
rename to tests/snapshots/external/43d819f94dc7cafe9ed60ce604bab9a938f42a115dc534cb72d12e15e998e96d.html
index 34123ecf..ddce47f6 100644
--- a/tests/snapshots/external/ae74b5980f9b6996ed6e112d53168fde16c32d92bed42fb3193f98e0e3f04602.html
+++ b/tests/snapshots/external/43d819f94dc7cafe9ed60ce604bab9a938f42a115dc534cb72d12e15e998e96d.html
@@ -266,7 +266,7 @@
Bases:
-
diff --git a/tests/snapshots/external/e8be7a9b1410e40dac79fe0ee29d3036e707a177b2ba2bdad25a6998bec570b7.html b/tests/snapshots/external/722165bce3ada19df43b169ea982ab4908d94cd1bf19b777e1e6bc22e8aa02a5.html
similarity index 98%
rename from tests/snapshots/external/e8be7a9b1410e40dac79fe0ee29d3036e707a177b2ba2bdad25a6998bec570b7.html
rename to tests/snapshots/external/722165bce3ada19df43b169ea982ab4908d94cd1bf19b777e1e6bc22e8aa02a5.html
index 3dbd9879..7c65c72b 100644
--- a/tests/snapshots/external/e8be7a9b1410e40dac79fe0ee29d3036e707a177b2ba2bdad25a6998bec570b7.html
+++ b/tests/snapshots/external/722165bce3ada19df43b169ea982ab4908d94cd1bf19b777e1e6bc22e8aa02a5.html
@@ -264,7 +264,7 @@
Bases:
-
diff --git a/tests/snapshots/external/7d5fe66539191786245991395e77d8ba0bbb22330cb08eaec2e84159bde4159b.html b/tests/snapshots/external/75b69b702f3b5fa3bc0d30091297b0a09a8915eb7f0e1f7be1ce99f5d59d9514.html
similarity index 98%
rename from tests/snapshots/external/7d5fe66539191786245991395e77d8ba0bbb22330cb08eaec2e84159bde4159b.html
rename to tests/snapshots/external/75b69b702f3b5fa3bc0d30091297b0a09a8915eb7f0e1f7be1ce99f5d59d9514.html
index 23e38eeb..fa970eca 100644
--- a/tests/snapshots/external/7d5fe66539191786245991395e77d8ba0bbb22330cb08eaec2e84159bde4159b.html
+++ b/tests/snapshots/external/75b69b702f3b5fa3bc0d30091297b0a09a8915eb7f0e1f7be1ce99f5d59d9514.html
@@ -266,7 +266,7 @@
Bases:
-
diff --git a/tests/snapshots/external/b4b490164ab1a724cac7aba25bbc69a33e7dd44500e9337718cd96da1bb56325.html b/tests/snapshots/external/84193b3c9f5d84fef33daa61fb61aa9a3e66171d312de8d7f836c69f0bc069b0.html
similarity index 97%
rename from tests/snapshots/external/b4b490164ab1a724cac7aba25bbc69a33e7dd44500e9337718cd96da1bb56325.html
rename to tests/snapshots/external/84193b3c9f5d84fef33daa61fb61aa9a3e66171d312de8d7f836c69f0bc069b0.html
index 9f5cbef9..07120341 100644
--- a/tests/snapshots/external/b4b490164ab1a724cac7aba25bbc69a33e7dd44500e9337718cd96da1bb56325.html
+++ b/tests/snapshots/external/84193b3c9f5d84fef33daa61fb61aa9a3e66171d312de8d7f836c69f0bc069b0.html
@@ -266,7 +266,7 @@
Bases:
-
diff --git a/tests/snapshots/external/ba51e100acd4f6ad91f1ef484aa5f1bd537e661588b1742d93d0a6543cc3592c.html b/tests/snapshots/external/8733f7fb7b6d28b15bbe736f29c7fd030467c0ccfa2cbc6a68616e06c6dc6a9b.html
similarity index 98%
rename from tests/snapshots/external/ba51e100acd4f6ad91f1ef484aa5f1bd537e661588b1742d93d0a6543cc3592c.html
rename to tests/snapshots/external/8733f7fb7b6d28b15bbe736f29c7fd030467c0ccfa2cbc6a68616e06c6dc6a9b.html
index b18eb50e..cb43eee6 100644
--- a/tests/snapshots/external/ba51e100acd4f6ad91f1ef484aa5f1bd537e661588b1742d93d0a6543cc3592c.html
+++ b/tests/snapshots/external/8733f7fb7b6d28b15bbe736f29c7fd030467c0ccfa2cbc6a68616e06c6dc6a9b.html
@@ -235,7 +235,7 @@
Bases:
-
diff --git a/tests/snapshots/external/0c2924ff976fa0e32ba66558a4f9e1eff4cd66196506a37977cdb33325a50718.html b/tests/snapshots/external/9720526cf5e4c44f27695c59764bb1e05e428834744442f43527ebf2b8acfb35.html
similarity index 98%
rename from tests/snapshots/external/0c2924ff976fa0e32ba66558a4f9e1eff4cd66196506a37977cdb33325a50718.html
rename to tests/snapshots/external/9720526cf5e4c44f27695c59764bb1e05e428834744442f43527ebf2b8acfb35.html
index 5fb3da58..6d460dd2 100644
--- a/tests/snapshots/external/0c2924ff976fa0e32ba66558a4f9e1eff4cd66196506a37977cdb33325a50718.html
+++ b/tests/snapshots/external/9720526cf5e4c44f27695c59764bb1e05e428834744442f43527ebf2b8acfb35.html
@@ -268,7 +268,7 @@
Bases:
-
diff --git a/tests/snapshots/external/0b1372d7f7c057905f665ad506f3dd3bee62fb9b1c8b2a39991550e7845c2b02.html b/tests/snapshots/external/c0f102dbd7d4de76de40c06a8205a642465f5fde9a37b4b969aa01f161ef25a4.html
similarity index 98%
rename from tests/snapshots/external/0b1372d7f7c057905f665ad506f3dd3bee62fb9b1c8b2a39991550e7845c2b02.html
rename to tests/snapshots/external/c0f102dbd7d4de76de40c06a8205a642465f5fde9a37b4b969aa01f161ef25a4.html
index 89a3ea1e..e9f375b2 100644
--- a/tests/snapshots/external/0b1372d7f7c057905f665ad506f3dd3bee62fb9b1c8b2a39991550e7845c2b02.html
+++ b/tests/snapshots/external/c0f102dbd7d4de76de40c06a8205a642465f5fde9a37b4b969aa01f161ef25a4.html
@@ -264,7 +264,7 @@
Bases:
-
diff --git a/tests/snapshots/external/052e71e7e9d5bec710fb2d36b009122c48eca0a19d0611df530e607f5bacdf6f.html b/tests/snapshots/external/cd3e458517147c43c360525140aa1b9a81682634aaf2674ffd4cceb7fc44aba6.html
similarity index 94%
rename from tests/snapshots/external/052e71e7e9d5bec710fb2d36b009122c48eca0a19d0611df530e607f5bacdf6f.html
rename to tests/snapshots/external/cd3e458517147c43c360525140aa1b9a81682634aaf2674ffd4cceb7fc44aba6.html
index 6866b45f..e196b599 100644
--- a/tests/snapshots/external/052e71e7e9d5bec710fb2d36b009122c48eca0a19d0611df530e607f5bacdf6f.html
+++ b/tests/snapshots/external/cd3e458517147c43c360525140aa1b9a81682634aaf2674ffd4cceb7fc44aba6.html
@@ -78,7 +78,7 @@
Bases:
-
diff --git a/tests/snapshots/external/d540895f6bf91c8c8e4abc02f40529a61c6cec71b18da2e4f02206ec18b901ef.html b/tests/snapshots/external/cd51e40cc0ddf1d42b7c6bf7560ead2501370ee9d67499b74afc83e258caff8e.html
similarity index 98%
rename from tests/snapshots/external/d540895f6bf91c8c8e4abc02f40529a61c6cec71b18da2e4f02206ec18b901ef.html
rename to tests/snapshots/external/cd51e40cc0ddf1d42b7c6bf7560ead2501370ee9d67499b74afc83e258caff8e.html
index 2ad1c277..a52964c3 100644
--- a/tests/snapshots/external/d540895f6bf91c8c8e4abc02f40529a61c6cec71b18da2e4f02206ec18b901ef.html
+++ b/tests/snapshots/external/cd51e40cc0ddf1d42b7c6bf7560ead2501370ee9d67499b74afc83e258caff8e.html
@@ -266,7 +266,7 @@
Bases:
-
diff --git a/tests/snapshots/external/cdc8126d78b690d11c09e3128df0f8d65379375a6bd390da30f5676bf2289cf2.html b/tests/snapshots/external/d556527026068280df9b77db277472320842cb1ae6099ac3cf558031afda6d2e.html
similarity index 97%
rename from tests/snapshots/external/cdc8126d78b690d11c09e3128df0f8d65379375a6bd390da30f5676bf2289cf2.html
rename to tests/snapshots/external/d556527026068280df9b77db277472320842cb1ae6099ac3cf558031afda6d2e.html
index 158c1ca5..5a87832a 100644
--- a/tests/snapshots/external/cdc8126d78b690d11c09e3128df0f8d65379375a6bd390da30f5676bf2289cf2.html
+++ b/tests/snapshots/external/d556527026068280df9b77db277472320842cb1ae6099ac3cf558031afda6d2e.html
@@ -235,7 +235,7 @@
Bases:
-
diff --git a/tests/snapshots/external/347d4ffe2cb3f2ca3f0d1f3f09cffa96645eb2af29983e75d807fccff96d8f75.html b/tests/snapshots/external/dcf34c2f72697f7a4700e4a1f048d601f374eab35eea68c9beb8bab8fc269aed.html
similarity index 97%
rename from tests/snapshots/external/347d4ffe2cb3f2ca3f0d1f3f09cffa96645eb2af29983e75d807fccff96d8f75.html
rename to tests/snapshots/external/dcf34c2f72697f7a4700e4a1f048d601f374eab35eea68c9beb8bab8fc269aed.html
index 9cd4b2fe..2d79edd5 100644
--- a/tests/snapshots/external/347d4ffe2cb3f2ca3f0d1f3f09cffa96645eb2af29983e75d807fccff96d8f75.html
+++ b/tests/snapshots/external/dcf34c2f72697f7a4700e4a1f048d601f374eab35eea68c9beb8bab8fc269aed.html
@@ -264,7 +264,7 @@
Bases:
-
diff --git a/tests/snapshots/external/f848d4a9e516beeb1b1719630e34aa243a093ccd362a63e33dbd6202ae8ab75d.html b/tests/snapshots/external/e5dc372374af6f90a5d456d8683aacdf81104137ce91bd6d4121827f8d989d96.html
similarity index 98%
rename from tests/snapshots/external/f848d4a9e516beeb1b1719630e34aa243a093ccd362a63e33dbd6202ae8ab75d.html
rename to tests/snapshots/external/e5dc372374af6f90a5d456d8683aacdf81104137ce91bd6d4121827f8d989d96.html
index 19c29b39..d9ae307d 100644
--- a/tests/snapshots/external/f848d4a9e516beeb1b1719630e34aa243a093ccd362a63e33dbd6202ae8ab75d.html
+++ b/tests/snapshots/external/e5dc372374af6f90a5d456d8683aacdf81104137ce91bd6d4121827f8d989d96.html
@@ -266,7 +266,7 @@
Bases:
-
diff --git a/tests/snapshots/external/a1167b14f5a71a283817bf5866d2bb0bd08bf23dc054c6f7938a04f42feab99d.html b/tests/snapshots/external/e8608b0de174402ca18f88ed58849312158c22f5bfdc845d2da02055fe14853c.html
similarity index 95%
rename from tests/snapshots/external/a1167b14f5a71a283817bf5866d2bb0bd08bf23dc054c6f7938a04f42feab99d.html
rename to tests/snapshots/external/e8608b0de174402ca18f88ed58849312158c22f5bfdc845d2da02055fe14853c.html
index bb9001d8..795378be 100644
--- a/tests/snapshots/external/a1167b14f5a71a283817bf5866d2bb0bd08bf23dc054c6f7938a04f42feab99d.html
+++ b/tests/snapshots/external/e8608b0de174402ca18f88ed58849312158c22f5bfdc845d2da02055fe14853c.html
@@ -80,7 +80,7 @@
Bases:
-
diff --git a/tests/snapshots/external/cc19537fdba4a26b10c60d5586b0eb7ef0264a783a3c47d1114d21fa8cfa3947.html b/tests/snapshots/external/ea914f1afa9de4b5eddc9792c2b6a5d8de367274278976092bb824e99e523ca5.html
similarity index 98%
rename from tests/snapshots/external/cc19537fdba4a26b10c60d5586b0eb7ef0264a783a3c47d1114d21fa8cfa3947.html
rename to tests/snapshots/external/ea914f1afa9de4b5eddc9792c2b6a5d8de367274278976092bb824e99e523ca5.html
index f93ae024..68c7d720 100644
--- a/tests/snapshots/external/cc19537fdba4a26b10c60d5586b0eb7ef0264a783a3c47d1114d21fa8cfa3947.html
+++ b/tests/snapshots/external/ea914f1afa9de4b5eddc9792c2b6a5d8de367274278976092bb824e99e523ca5.html
@@ -264,7 +264,7 @@
Bases:
-
diff --git a/tests/snapshots/external/a2c5be9bd5d1f0db3ff64b44353c1760f5eb69d7db6401da2f28518d0e8065c4.html b/tests/snapshots/external/eac5bee59a9ee0a64602fd6bb8f4f54cb5f3543aa321169921326288a61f556c.html
similarity index 97%
rename from tests/snapshots/external/a2c5be9bd5d1f0db3ff64b44353c1760f5eb69d7db6401da2f28518d0e8065c4.html
rename to tests/snapshots/external/eac5bee59a9ee0a64602fd6bb8f4f54cb5f3543aa321169921326288a61f556c.html
index 4738a584..7c90168c 100644
--- a/tests/snapshots/external/a2c5be9bd5d1f0db3ff64b44353c1760f5eb69d7db6401da2f28518d0e8065c4.html
+++ b/tests/snapshots/external/eac5bee59a9ee0a64602fd6bb8f4f54cb5f3543aa321169921326288a61f556c.html
@@ -264,7 +264,7 @@
Bases:
-
diff --git a/tests/snapshots/external/83119803338105f101311992d31947e4fcaf2c5a6c68cad6355d8611c1cc2e3f.html b/tests/snapshots/external/f4150843096a1371b097478f8d67062e3d45ab9f6a8f97e79ae62d32abc5e22a.html
similarity index 97%
rename from tests/snapshots/external/83119803338105f101311992d31947e4fcaf2c5a6c68cad6355d8611c1cc2e3f.html
rename to tests/snapshots/external/f4150843096a1371b097478f8d67062e3d45ab9f6a8f97e79ae62d32abc5e22a.html
index c9c637e4..cce2be49 100644
--- a/tests/snapshots/external/83119803338105f101311992d31947e4fcaf2c5a6c68cad6355d8611c1cc2e3f.html
+++ b/tests/snapshots/external/f4150843096a1371b097478f8d67062e3d45ab9f6a8f97e79ae62d32abc5e22a.html
@@ -264,7 +264,7 @@
Bases:
-
diff --git a/tests/snapshots/external/59a9e1ffb2f0807b594a933444c78753a06f359527ea4adac85c72a7812b21d3.html b/tests/snapshots/external/fca72854c849dc68c3ad072a41c32f926f95c6e88775f3e2eeaa63138d99837c.html
similarity index 97%
rename from tests/snapshots/external/59a9e1ffb2f0807b594a933444c78753a06f359527ea4adac85c72a7812b21d3.html
rename to tests/snapshots/external/fca72854c849dc68c3ad072a41c32f926f95c6e88775f3e2eeaa63138d99837c.html
index ad60041c..d6c51063 100644
--- a/tests/snapshots/external/59a9e1ffb2f0807b594a933444c78753a06f359527ea4adac85c72a7812b21d3.html
+++ b/tests/snapshots/external/fca72854c849dc68c3ad072a41c32f926f95c6e88775f3e2eeaa63138d99837c.html
@@ -264,7 +264,7 @@
Bases:
-
diff --git a/tests/snapshots/external/88855b0284174733b57edd2043e0e8cd6a1a0223055f08b80031452eb05d9484.html b/tests/snapshots/external/fd291f98ca28b8f15b5a8ed6a2608bacf5b5322599bcbf0544ef8e9c0a27870b.html
similarity index 97%
rename from tests/snapshots/external/88855b0284174733b57edd2043e0e8cd6a1a0223055f08b80031452eb05d9484.html
rename to tests/snapshots/external/fd291f98ca28b8f15b5a8ed6a2608bacf5b5322599bcbf0544ef8e9c0a27870b.html
index 540a2f6a..91614cf0 100644
--- a/tests/snapshots/external/88855b0284174733b57edd2043e0e8cd6a1a0223055f08b80031452eb05d9484.html
+++ b/tests/snapshots/external/fd291f98ca28b8f15b5a8ed6a2608bacf5b5322599bcbf0544ef8e9c0a27870b.html
@@ -264,7 +264,7 @@
Bases:
-
diff --git a/tests/snapshots/external/3d072a22b9513eecb51c6a5f39b978c1c1d3ef56a572031a307fe1cad1f17eff.html b/tests/snapshots/external/fe1cd23642d405d0b2a4d29ec4a2125f55b54f90c2440ee2d856540415e77745.html
similarity index 97%
rename from tests/snapshots/external/3d072a22b9513eecb51c6a5f39b978c1c1d3ef56a572031a307fe1cad1f17eff.html
rename to tests/snapshots/external/fe1cd23642d405d0b2a4d29ec4a2125f55b54f90c2440ee2d856540415e77745.html
index f950f69b..dce4e148 100644
--- a/tests/snapshots/external/3d072a22b9513eecb51c6a5f39b978c1c1d3ef56a572031a307fe1cad1f17eff.html
+++ b/tests/snapshots/external/fe1cd23642d405d0b2a4d29ec4a2125f55b54f90c2440ee2d856540415e77745.html
@@ -237,7 +237,7 @@
Bases:
-
diff --git a/tests/snapshots/external/0fac4f5e7f455b351c60268567bfcbd0259b652d0534259efea7815aa15b1122.html b/tests/snapshots/external/fe25ab7600392b4fd3a1438fb54337041719faac884123527bab9a92e3a51be5.html
similarity index 97%
rename from tests/snapshots/external/0fac4f5e7f455b351c60268567bfcbd0259b652d0534259efea7815aa15b1122.html
rename to tests/snapshots/external/fe25ab7600392b4fd3a1438fb54337041719faac884123527bab9a92e3a51be5.html
index 47cfb56f..40ebfa36 100644
--- a/tests/snapshots/external/0fac4f5e7f455b351c60268567bfcbd0259b652d0534259efea7815aa15b1122.html
+++ b/tests/snapshots/external/fe25ab7600392b4fd3a1438fb54337041719faac884123527bab9a92e3a51be5.html
@@ -266,7 +266,7 @@
Bases:
-
diff --git a/tests/test_handler.py b/tests/test_handler.py
index 4d8b4f3d..1a907469 100644
--- a/tests/test_handler.py
+++ b/tests/test_handler.py
@@ -263,7 +263,7 @@ def test_deduplicate_summary_sections(handler: PythonHandler, section: str, code
"""Assert summary sections are deduplicated."""
summary_section = section.lower()
summary_section = "functions" if summary_section == "methods" else summary_section
- with temporary_visited_module(code, docstring_parser="google") as module: # type: ignore[arg-type]
+ with temporary_visited_module(code, docstring_parser="google") as module:
if summary_section == "modules":
module.set_member("a", Module("A", docstring=Docstring("A.")))
module.set_member("b", Module("B", docstring=Docstring("B.")))