mkdocstrings-python 2.0.8__tar.gz → 2.0.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/CHANGELOG.md +25 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/PKG-INFO +4 -5
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/pyproject.toml +3 -5
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/scripts/gen_credits.py +1 -7
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/scripts/make.py +1 -1
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/_internal/config.py +1 -9
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/_internal/handler.py +10 -21
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/_internal/rendering.py +21 -13
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/attribute.html.jinja +5 -2
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/class.html.jinja +3 -3
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/parameters.html.jinja +3 -3
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/type_parameters.html.jinja +3 -3
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/function.html.jinja +5 -3
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/type_alias.html.jinja +2 -2
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/class.html.jinja +2 -2
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/test_handler.py +153 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/test_rendering.py +51 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/CODE_OF_CONDUCT.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/CONTRIBUTING.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/LICENSE +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/README.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/config/black.toml +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/config/coverage.ini +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/config/git-changelog.toml +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/config/mypy.ini +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/config/pytest.ini +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/config/ruff.toml +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/config/vscode/launch.json +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/config/vscode/settings.json +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/config/vscode/tasks.json +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/.glossary.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/.overrides/partials/comments.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/.overrides/partials/path-item.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/changelog.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/code_of_conduct.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/contributing.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/credits.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/css/material.css +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/css/mkdocstrings.css +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/index.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/js/feedback.js +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/license.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/logo.png +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/reference/api.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/snippets/package/__init__.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/snippets/package/generics.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/snippets/package/modern.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/usage/configuration/docstrings.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/usage/configuration/general.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/usage/configuration/headings.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/usage/configuration/members.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/usage/configuration/signatures.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/usage/customization.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/usage/docstrings/google.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/usage/docstrings/numpy.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/usage/docstrings/sphinx.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/usage/extensions.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/docs/usage/index.md +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/duties.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/mkdocs.yml +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/scripts/get_version.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/scripts/griffe_extensions.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/scripts/make +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/scripts/mkdocs_hooks.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/__init__.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/_internal/__init__.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/_internal/debug.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/py.typed +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/backlinks.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/children.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/admonition.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/attributes.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/classes.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/examples.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/functions.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/modules.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/other_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/raises.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/receives.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/returns.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/type_aliases.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/warns.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/yields.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/docstring.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/expression.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/labels.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/language.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/languages/en.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/languages/ja.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/languages/zh.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/module.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/signature.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/summary/attributes.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/summary/classes.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/summary/functions.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/summary/modules.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/summary/type_aliases.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/summary.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/_base/type_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/attribute.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/backlinks.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/children.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/class.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/admonition.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/attributes.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/classes.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/examples.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/functions.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/modules.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/other_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/raises.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/receives.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/returns.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/type_aliases.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/type_aliases.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/type_parameters.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/type_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/warns.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring/yields.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/docstring.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/expression.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/function.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/labels.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/language.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/languages/en.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/languages/ja.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/languages/zh.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/module.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/signature.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/style.css +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/summary/attributes.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/summary/classes.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/summary/functions.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/summary/modules.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/summary/type_aliases.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/summary/type_aliases.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/summary.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/type_alias.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/type_alias.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/type_parameters.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/material/type_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/class.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/attributes.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/other_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/raises.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/receives.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/returns.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/warns.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/yields.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/language.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/languages/en.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/languages/ja.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/languages/zh.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/class.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/class.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/attributes.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/other_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/raises.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/receives.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/returns.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/warns.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/yields.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/language.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/languages/en.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/languages/ja.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/languages/zh.html.jinja +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/src/mkdocstrings_handlers/python/templates/readthedocs/style.css +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/__init__.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/conftest.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/helpers.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/headings/heading=,separate_signature=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/headings/heading=,separate_signature=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/headings/heading=Some heading,separate_signature=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/headings/heading=Some heading,separate_signature=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=('method1',),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=('method1',),members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=('method1',),members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=('method1',),members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=('method1',),members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=(),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=(),members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=(),members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=(),members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=(),members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=False,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=False,members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=False,members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=False,members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=False,members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=True,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=True,members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=True,members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=True,members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=True,members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=('method1',),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=('method1',),members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=('method1',),members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=('method1',),members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=('method1',),members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=(),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=(),members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=(),members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=(),members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=(),members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=False,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=False,members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=False,members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=False,members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=False,members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=True,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=True,members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=True,members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=True,members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=('module_attribute',),inherited_members=True,members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=('method1',),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=('method1',),members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=('method1',),members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=('method1',),members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=('method1',),members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=(),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=(),members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=(),members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=(),members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=(),members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=False,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=False,members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=False,members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=False,members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=False,members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=True,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=True,members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=True,members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=True,members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=(),inherited_members=True,members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=('method1',),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=('method1',),members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=('method1',),members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=('method1',),members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=('method1',),members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=(),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=(),members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=(),members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=(),members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=(),members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=False,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=False,members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=False,members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=False,members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=False,members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=True,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=True,members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=True,members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=True,members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=None,inherited_members=True,members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=('method1',),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=('method1',),members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=('method1',),members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=('method1',),members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=('method1',),members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=(),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=(),members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=(),members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=(),members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=(),members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=False,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=False,members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=False,members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=False,members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=False,members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=True,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=True,members=().html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=True,members=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=True,members=None.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/members/filters=public,inherited_members=True,members=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/overloads/overloads_only=False,separate_signature=False,show_overloads=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/overloads/overloads_only=False,separate_signature=False,show_overloads=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/overloads/overloads_only=False,separate_signature=True,show_overloads=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/overloads/overloads_only=False,separate_signature=True,show_overloads=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/overloads/overloads_only=True,separate_signature=False,show_overloads=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/overloads/overloads_only=True,separate_signature=False,show_overloads=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/overloads/overloads_only=True,separate_signature=True,show_overloads=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/overloads/overloads_only=True,separate_signature=True,show_overloads=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/signatures/separate_signature=False,show_signature_annotations=False,signature_crossrefs=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/signatures/separate_signature=False,show_signature_annotations=False,signature_crossrefs=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/signatures/separate_signature=False,show_signature_annotations=True,signature_crossrefs=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/signatures/separate_signature=False,show_signature_annotations=True,signature_crossrefs=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/signatures/separate_signature=True,show_signature_annotations=False,signature_crossrefs=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/signatures/separate_signature=True,show_signature_annotations=False,signature_crossrefs=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/signatures/separate_signature=True,show_signature_annotations=True,signature_crossrefs=False.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/snapshots/signatures/separate_signature=True,show_signature_annotations=True,signature_crossrefs=True.html +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/test_api.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/test_config.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/test_end_to_end.py +0 -0
- {mkdocstrings_python-2.0.8 → mkdocstrings_python-2.0.10}/tests/test_themes.py +0 -0
|
@@ -5,6 +5,31 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
|
5
5
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
7
|
<!-- insertion marker -->
|
|
8
|
+
## [2.0.10](https://github.com/mkdocstrings/python/releases/tag/2.0.10) - 2026-10-19
|
|
9
|
+
|
|
10
|
+
<small>[Compare with 2.0.9](https://github.com/mkdocstrings/python/compare/2.0.9...2.0.10)</small>
|
|
11
|
+
|
|
12
|
+
### Build
|
|
13
|
+
|
|
14
|
+
- Drop support for Python 3.10 ([aad7fc6](https://github.com/mkdocstrings/python/commit/aad7fc6efd12f096807b466e5e3175e27fa7852d) by Timothée Mazzucotelli).
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
- Prefix code anchor/span IDs in signatures to avoid collisions ([35cde4c](https://github.com/mkdocstrings/python/commit/35cde4c1163d2d8a8fd79b34ab574888bfd30ddf) by Timothée Mazzucotelli). [Issue-200](https://github.com/mkdocstrings/python/issues/200)
|
|
19
|
+
|
|
20
|
+
## [2.0.9](https://github.com/mkdocstrings/python/releases/tag/2.0.9) - 2026-09-22
|
|
21
|
+
|
|
22
|
+
<small>[Compare with 2.0.8](https://github.com/mkdocstrings/python/compare/2.0.8...2.0.9)</small>
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
- Improve inventory object types (incorrectly called roles in mkdocstrings) ([d754326](https://github.com/mkdocstrings/python/commit/d754326b534a7771a5d815935976bdb869913a5f) by Timothée Mazzucotelli). [Issue-339](https://github.com/mkdocstrings/python/issues/339), [PR-340](https://github.com/mkdocstrings/python/pull/340)
|
|
27
|
+
- Expand relative cross-references against the object the docstring was written on ([a9a4ca3](https://github.com/mkdocstrings/python/commit/a9a4ca3bfd8ee361cd8f7aa63a5079b232adc837) by Dev M). [Issue-341](https://github.com/mkdocstrings/python/issues/341), [PR-342](https://github.com/mkdocstrings/python/pull/342)
|
|
28
|
+
|
|
29
|
+
### Performance Improvements
|
|
30
|
+
|
|
31
|
+
- Small performance improvement when getting aliases and formatting/highlighting signatures ([2263163](https://github.com/mkdocstrings/python/commit/2263163f0263cb86ae9696f955213ab8fa8f5518) by Timothée Mazzucotelli).
|
|
32
|
+
|
|
8
33
|
## [2.0.8](https://github.com/mkdocstrings/python/releases/tag/2.0.8) - 2026-08-31
|
|
9
34
|
|
|
10
35
|
<small>[Compare with 2.0.7](https://github.com/mkdocstrings/python/compare/2.0.7...2.0.8)</small>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mkdocstrings-python
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.10
|
|
4
4
|
Summary: A Python handler for mkdocstrings.
|
|
5
|
-
Author-Email:
|
|
5
|
+
Author-Email: Timothée Mazzucotelli <dev@pawamoy.fr>
|
|
6
6
|
License-Expression: ISC
|
|
7
7
|
License-File: LICENSE
|
|
8
8
|
Classifier: Development Status :: 4 - Beta
|
|
@@ -10,7 +10,6 @@ Classifier: Intended Audience :: Developers
|
|
|
10
10
|
Classifier: Programming Language :: Python
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
12
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.11
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.13
|
|
@@ -28,8 +27,8 @@ Project-URL: Issues, https://github.com/mkdocstrings/python/issues
|
|
|
28
27
|
Project-URL: Discussions, https://github.com/mkdocstrings/python/discussions
|
|
29
28
|
Project-URL: Gitter, https://gitter.im/mkdocstrings/python
|
|
30
29
|
Project-URL: Funding, https://github.com/sponsors/pawamoy
|
|
31
|
-
Requires-Python: >=3.
|
|
32
|
-
Requires-Dist: mkdocstrings>=0.
|
|
30
|
+
Requires-Python: >=3.11
|
|
31
|
+
Requires-Dist: mkdocstrings>=1.0.8
|
|
33
32
|
Requires-Dist: mkdocs-autorefs>=1.4
|
|
34
33
|
Requires-Dist: griffelib>=2.0
|
|
35
34
|
Requires-Dist: typing-extensions>=4.0; python_version < "3.11"
|
|
@@ -15,7 +15,7 @@ license-files = [
|
|
|
15
15
|
"LICENSE",
|
|
16
16
|
]
|
|
17
17
|
readme = "README.md"
|
|
18
|
-
requires-python = ">=3.
|
|
18
|
+
requires-python = ">=3.11"
|
|
19
19
|
keywords = []
|
|
20
20
|
dynamic = []
|
|
21
21
|
classifiers = [
|
|
@@ -24,7 +24,6 @@ classifiers = [
|
|
|
24
24
|
"Programming Language :: Python",
|
|
25
25
|
"Programming Language :: Python :: 3",
|
|
26
26
|
"Programming Language :: Python :: 3 :: Only",
|
|
27
|
-
"Programming Language :: Python :: 3.10",
|
|
28
27
|
"Programming Language :: Python :: 3.11",
|
|
29
28
|
"Programming Language :: Python :: 3.12",
|
|
30
29
|
"Programming Language :: Python :: 3.13",
|
|
@@ -36,12 +35,12 @@ classifiers = [
|
|
|
36
35
|
"Typing :: Typed",
|
|
37
36
|
]
|
|
38
37
|
dependencies = [
|
|
39
|
-
"mkdocstrings>=0.
|
|
38
|
+
"mkdocstrings>=1.0.8",
|
|
40
39
|
"mkdocs-autorefs>=1.4",
|
|
41
40
|
"griffelib>=2.0",
|
|
42
41
|
"typing-extensions>=4.0; python_version < '3.11'",
|
|
43
42
|
]
|
|
44
|
-
version = "2.0.
|
|
43
|
+
version = "2.0.10"
|
|
45
44
|
|
|
46
45
|
[project.urls]
|
|
47
46
|
Homepage = "https://mkdocstrings.github.io/python"
|
|
@@ -130,5 +129,4 @@ docs = [
|
|
|
130
129
|
"mkdocs-section-index>=0.3",
|
|
131
130
|
"mkdocstrings>=0.29",
|
|
132
131
|
"pydantic>=2.10",
|
|
133
|
-
"tomli>=2.0; python_version < '3.11'",
|
|
134
132
|
]
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import os
|
|
6
|
-
import sys
|
|
7
6
|
from collections import defaultdict
|
|
8
7
|
from collections.abc import Iterable
|
|
9
8
|
from importlib.metadata import distributions
|
|
@@ -12,16 +11,11 @@ from pathlib import Path
|
|
|
12
11
|
from textwrap import dedent
|
|
13
12
|
from typing import Union
|
|
14
13
|
|
|
14
|
+
import tomllib
|
|
15
15
|
from jinja2 import StrictUndefined
|
|
16
16
|
from jinja2.sandbox import SandboxedEnvironment
|
|
17
17
|
from packaging.requirements import Requirement
|
|
18
18
|
|
|
19
|
-
# YORE: EOL 3.10: Replace block with line 2.
|
|
20
|
-
if sys.version_info >= (3, 11):
|
|
21
|
-
import tomllib
|
|
22
|
-
else:
|
|
23
|
-
import tomli as tomllib
|
|
24
|
-
|
|
25
19
|
project_dir = Path(os.getenv("MKDOCS_CONFIG_DIR", "."))
|
|
26
20
|
with project_dir.joinpath("pyproject.toml").open("rb") as pyproject_file:
|
|
27
21
|
pyproject = tomllib.load(pyproject_file)
|
|
@@ -14,7 +14,7 @@ if TYPE_CHECKING:
|
|
|
14
14
|
from collections.abc import Iterator
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
PYTHON_VERSIONS = os.getenv("PYTHON_VERSIONS", "3.
|
|
17
|
+
PYTHON_VERSIONS = os.getenv("PYTHON_VERSIONS", "3.11 3.12 3.13 3.14 3.15").split()
|
|
18
18
|
PYTHON_DEV = "3.15"
|
|
19
19
|
|
|
20
20
|
|
|
@@ -3,21 +3,13 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import re
|
|
6
|
-
import sys
|
|
7
6
|
from dataclasses import field, fields
|
|
8
|
-
from typing import TYPE_CHECKING, Annotated, Any, Literal
|
|
7
|
+
from typing import TYPE_CHECKING, Annotated, Any, Literal, Self
|
|
9
8
|
|
|
10
9
|
from mkdocstrings import get_logger
|
|
11
10
|
|
|
12
11
|
from mkdocstrings_handlers.python._internal.rendering import Order # noqa: TC001
|
|
13
12
|
|
|
14
|
-
# YORE: EOL 3.10: Replace block with line 2.
|
|
15
|
-
if sys.version_info >= (3, 11):
|
|
16
|
-
from typing import Self
|
|
17
|
-
else:
|
|
18
|
-
from typing_extensions import Self
|
|
19
|
-
|
|
20
|
-
|
|
21
13
|
_logger = get_logger(__name__)
|
|
22
14
|
|
|
23
15
|
_DEFAULT_FILTERS = ["!^_[^_]"]
|
|
@@ -39,21 +39,7 @@ if TYPE_CHECKING:
|
|
|
39
39
|
from mkdocs_autorefs import Backlink
|
|
40
40
|
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
if sys.version_info >= (3, 11):
|
|
44
|
-
from contextlib import chdir
|
|
45
|
-
else:
|
|
46
|
-
from contextlib import contextmanager
|
|
47
|
-
|
|
48
|
-
@contextmanager
|
|
49
|
-
def chdir(path: str) -> Iterator[None]:
|
|
50
|
-
old_wd = os.getcwd()
|
|
51
|
-
os.chdir(path)
|
|
52
|
-
try:
|
|
53
|
-
yield
|
|
54
|
-
finally:
|
|
55
|
-
os.chdir(old_wd)
|
|
56
|
-
|
|
42
|
+
from contextlib import chdir
|
|
57
43
|
|
|
58
44
|
_logger = get_logger(__name__)
|
|
59
45
|
|
|
@@ -365,7 +351,7 @@ class PythonHandler(BaseHandler):
|
|
|
365
351
|
The aliases.
|
|
366
352
|
"""
|
|
367
353
|
if "(" in identifier:
|
|
368
|
-
identifier, parameter = identifier.
|
|
354
|
+
identifier, _, parameter = identifier.partition("(")
|
|
369
355
|
parameter = parameter.removesuffix(")")
|
|
370
356
|
else:
|
|
371
357
|
parameter = ""
|
|
@@ -373,15 +359,18 @@ class PythonHandler(BaseHandler):
|
|
|
373
359
|
data = self._modules_collection[identifier]
|
|
374
360
|
except (KeyError, AliasResolutionError):
|
|
375
361
|
return ()
|
|
376
|
-
aliases =
|
|
362
|
+
aliases: dict[str, object] = {data.path: None}
|
|
377
363
|
try:
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
aliases.append(alias)
|
|
364
|
+
canonical_path = data.canonical_path
|
|
365
|
+
data_aliases = data.aliases
|
|
381
366
|
except AliasResolutionError:
|
|
382
367
|
pass
|
|
368
|
+
else:
|
|
369
|
+
aliases[canonical_path] = None
|
|
370
|
+
aliases.update(data_aliases)
|
|
383
371
|
if parameter:
|
|
384
|
-
|
|
372
|
+
suffix = f"({parameter})"
|
|
373
|
+
return tuple(alias + suffix for alias in aliases)
|
|
385
374
|
return tuple(aliases)
|
|
386
375
|
|
|
387
376
|
def normalize_extension_paths(self, extensions: Sequence) -> list[str | dict[str, Any]]:
|
|
@@ -125,6 +125,15 @@ class _StashCrossRefFilter:
|
|
|
125
125
|
do_stash_crossref = _StashCrossRefFilter()
|
|
126
126
|
"""Filter to stash cross-references (and restore them after formatting and highlighting)."""
|
|
127
127
|
|
|
128
|
+
_highlighting_span_re = re.compile(r'<span class="[a-z]{1,2}">')
|
|
129
|
+
_crossref_key_re = re.compile(r"\b_[A-Za-z0-9]{2,}\b")
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
def _restore_crossrefs(text: str, stash: dict[str, str]) -> str:
|
|
133
|
+
text = _crossref_key_re.sub(lambda match: stash.get(match[0], match[0]), text)
|
|
134
|
+
stash.clear()
|
|
135
|
+
return text
|
|
136
|
+
|
|
128
137
|
|
|
129
138
|
def _format_signature(name: Markup, signature: str, line_length: int) -> str:
|
|
130
139
|
name = str(name).strip() # type: ignore[assignment]
|
|
@@ -199,13 +208,11 @@ def do_format_signature(
|
|
|
199
208
|
# Pygments will set an `fm` (function -> magic) CSS class.
|
|
200
209
|
# To fix this, we replace the CSS class in the first span with `nf`,
|
|
201
210
|
# unless we already found an `nf` span.
|
|
202
|
-
if
|
|
203
|
-
signature =
|
|
211
|
+
if '<span class="nf">' not in signature:
|
|
212
|
+
signature = _highlighting_span_re.sub('<span class="nf">', signature, count=1)
|
|
204
213
|
|
|
205
214
|
if stash := env.filters["stash_crossref"].stash:
|
|
206
|
-
|
|
207
|
-
signature = re.sub(rf"\b{key}\b", value, signature)
|
|
208
|
-
stash.clear()
|
|
215
|
+
signature = _restore_crossrefs(signature, stash)
|
|
209
216
|
|
|
210
217
|
return signature
|
|
211
218
|
|
|
@@ -267,9 +274,7 @@ def do_format_attribute(
|
|
|
267
274
|
)
|
|
268
275
|
|
|
269
276
|
if stash := env.filters["stash_crossref"].stash:
|
|
270
|
-
|
|
271
|
-
signature = re.sub(rf"\b{key}\b", value, signature)
|
|
272
|
-
stash.clear()
|
|
277
|
+
signature = _restore_crossrefs(signature, stash)
|
|
273
278
|
|
|
274
279
|
return signature
|
|
275
280
|
|
|
@@ -322,13 +327,11 @@ def do_format_type_alias(
|
|
|
322
327
|
# but instead as a regular name: `n` CSS class instead of `nc`.
|
|
323
328
|
# To fix it, we replace the first occurrence of an `n` CSS class
|
|
324
329
|
# with an `nc` one, unless we found `nc` already.
|
|
325
|
-
if
|
|
326
|
-
signature =
|
|
330
|
+
if '<span class="nc">' not in signature:
|
|
331
|
+
signature = _highlighting_span_re.sub('<span class="nc">', signature, count=1)
|
|
327
332
|
|
|
328
333
|
if stash := env.filters["stash_crossref"].stash:
|
|
329
|
-
|
|
330
|
-
signature = re.sub(rf"\b{key}\b", value, signature)
|
|
331
|
-
stash.clear()
|
|
334
|
+
signature = _restore_crossrefs(signature, stash)
|
|
332
335
|
|
|
333
336
|
return signature
|
|
334
337
|
|
|
@@ -805,6 +808,11 @@ class AutorefsHook(AutorefsHookInterface):
|
|
|
805
808
|
if self.config.relative_crossrefs and identifier.startswith("."): # type: ignore[attr-defined]
|
|
806
809
|
identifier = identifier[1:]
|
|
807
810
|
obj = self.current_object
|
|
811
|
+
# Anchor on the docstring's parent: for inherited members the current
|
|
812
|
+
# object is an alias living under the inheriting class, while the
|
|
813
|
+
# docstring was written on the defining object in another tree.
|
|
814
|
+
if self.current_object.docstring is not None and self.current_object.docstring.parent is not None:
|
|
815
|
+
obj = self.current_object.docstring.parent
|
|
808
816
|
while identifier and identifier[0] == ".":
|
|
809
817
|
identifier = identifier[1:]
|
|
810
818
|
if obj.parent is None:
|
|
@@ -33,10 +33,13 @@ Context:
|
|
|
33
33
|
|
|
34
34
|
{% set attribute_name = attribute.path if show_full_path else attribute.name %}
|
|
35
35
|
|
|
36
|
+
{% set object_type = "data" if attribute.parent.is_module else "property" if "property" in attribute.labels else "attribute" %}
|
|
37
|
+
{#- Object type in objects inventory. -#}
|
|
38
|
+
|
|
36
39
|
{% if not root or config.show_root_heading %}
|
|
37
40
|
{% filter heading(
|
|
38
41
|
heading_level,
|
|
39
|
-
role=
|
|
42
|
+
role=object_type,
|
|
40
43
|
id=html_id,
|
|
41
44
|
class="doc doc-heading",
|
|
42
45
|
toc_label=('<code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> '|safe if config.show_symbol_type_toc else '') + (config.toc_label if config.toc_label and root else attribute.name),
|
|
@@ -89,7 +92,7 @@ Context:
|
|
|
89
92
|
|
|
90
93
|
{% if config.show_root_toc_entry %}
|
|
91
94
|
{% filter heading(heading_level,
|
|
92
|
-
role=
|
|
95
|
+
role=object_type,
|
|
93
96
|
id=html_id,
|
|
94
97
|
toc_label=('<code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> '|safe if config.show_symbol_type_toc else '') + (config.toc_label if config.toc_label and root else attribute_name),
|
|
95
98
|
hidden=True,
|
|
@@ -158,7 +158,7 @@ Context:
|
|
|
158
158
|
|
|
159
159
|
{% block inheritance_diagram scoped %}
|
|
160
160
|
{#- Inheritance diagram block.
|
|
161
|
-
|
|
161
|
+
|
|
162
162
|
This block renders the inheritance diagram for the class,
|
|
163
163
|
using Mermaid syntax and a bit of JavaScript to make the nodes clickable,
|
|
164
164
|
linking to the corresponding class documentation.
|
|
@@ -250,14 +250,14 @@ Context:
|
|
|
250
250
|
{% with init = all_members["__init__"] %}
|
|
251
251
|
<details class="mkdocstrings-source">
|
|
252
252
|
<summary>{{ lang.t("Source code in") }} <code>{{ init|source_location }}</code></summary>
|
|
253
|
-
{{ init.source|highlight(language="python", linestart=init.lineno or 0, linenums=True) }}
|
|
253
|
+
{{ init.source|highlight(language="python", linestart=init.lineno or 0, linenums=True, id_prefix=html_id ~ "--source--") }}
|
|
254
254
|
</details>
|
|
255
255
|
{% endwith %}
|
|
256
256
|
{% endif %}
|
|
257
257
|
{% elif class.source %}
|
|
258
258
|
<details class="mkdocstrings-source">
|
|
259
259
|
<summary>{{ lang.t("Source code in") }} <code>{{ class|source_location }}</code></summary>
|
|
260
|
-
{{ class.source|highlight(language="python", linestart=class.lineno or 0, linenums=True) }}
|
|
260
|
+
{{ class.source|highlight(language="python", linestart=class.lineno or 0, linenums=True, id_prefix=html_id ~ "--source--") }}
|
|
261
261
|
</details>
|
|
262
262
|
{% endif %}
|
|
263
263
|
{% endif %}
|
|
@@ -38,7 +38,7 @@ Context:
|
|
|
38
38
|
{% if config.parameter_headings %}
|
|
39
39
|
{% filter heading(
|
|
40
40
|
heading_level + 1,
|
|
41
|
-
role="
|
|
41
|
+
role="parameter",
|
|
42
42
|
id=html_id ~ "(" ~ parameter.name ~ ")",
|
|
43
43
|
class="doc doc-heading doc-heading-parameter",
|
|
44
44
|
toc_label=('<code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> '|safe if config.show_symbol_type_toc else '') + parameter.name,
|
|
@@ -86,7 +86,7 @@ Context:
|
|
|
86
86
|
{% if config.parameter_headings %}
|
|
87
87
|
{% filter heading(
|
|
88
88
|
heading_level + 1,
|
|
89
|
-
role="
|
|
89
|
+
role="parameter",
|
|
90
90
|
id=html_id ~ "(" ~ parameter.name ~ ")",
|
|
91
91
|
class="doc doc-heading doc-heading-parameter",
|
|
92
92
|
toc_label=('<code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> '|safe if config.show_symbol_type_toc else '') + parameter.name,
|
|
@@ -132,7 +132,7 @@ Context:
|
|
|
132
132
|
{% if config.parameter_headings %}
|
|
133
133
|
{% filter heading(
|
|
134
134
|
heading_level + 1,
|
|
135
|
-
role="
|
|
135
|
+
role="parameter",
|
|
136
136
|
id=html_id ~ "(" ~ parameter.name ~ ")",
|
|
137
137
|
class="doc doc-heading doc-heading-parameter",
|
|
138
138
|
toc_label=('<code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> '|safe if config.show_symbol_type_toc else '') + parameter.name,
|
|
@@ -42,7 +42,7 @@ Context:
|
|
|
42
42
|
{% if config.type_parameter_headings %}
|
|
43
43
|
{% filter heading(
|
|
44
44
|
heading_level + 1,
|
|
45
|
-
role="
|
|
45
|
+
role="typeparameter",
|
|
46
46
|
id=obj.path ~ "[" ~ type_parameter.name ~ "]",
|
|
47
47
|
class="doc doc-heading doc-heading-type_parameter",
|
|
48
48
|
toc_label=('<code class="doc-symbol doc-symbol-toc doc-symbol-type_parameter"></code> '|safe if config.show_symbol_type_toc else '') + type_parameter.name,
|
|
@@ -93,7 +93,7 @@ Context:
|
|
|
93
93
|
{% if config.type_parameter_headings %}
|
|
94
94
|
{% filter heading(
|
|
95
95
|
heading_level + 1,
|
|
96
|
-
role="
|
|
96
|
+
role="typeparameter",
|
|
97
97
|
id=obj.path ~ "[" ~ type_parameter.name ~ "]",
|
|
98
98
|
class="doc doc-heading doc-heading-type_parameter",
|
|
99
99
|
toc_label=('<code class="doc-symbol doc-symbol-toc doc-symbol-type_parameter"></code> '|safe if config.show_symbol_type_toc else '') + type_parameter.name,
|
|
@@ -156,7 +156,7 @@ Context:
|
|
|
156
156
|
{% if config.type_parameter_headings %}
|
|
157
157
|
{% filter heading(
|
|
158
158
|
heading_level + 1,
|
|
159
|
-
role="
|
|
159
|
+
role="typeparameter",
|
|
160
160
|
id=obj.path ~ "[" ~ type_parameter.name ~ "]",
|
|
161
161
|
class="doc doc-heading doc-heading-type_parameter",
|
|
162
162
|
toc_label=('<code class="doc-symbol doc-symbol-toc doc-symbol-type_parameter"></code> '|safe if config.show_symbol_type_toc else '') + type_parameter.name,
|
|
@@ -37,11 +37,13 @@ Context:
|
|
|
37
37
|
{#- Brief or full function name depending on configuration. -#}
|
|
38
38
|
{% set symbol_type = "method" if function.parent.is_class else "function" %}
|
|
39
39
|
{#- Symbol type: method when parent is a class, function otherwise. -#}
|
|
40
|
+
{% set object_type = symbol_type %}
|
|
41
|
+
{#- Object type in objects inventory. -#}
|
|
40
42
|
|
|
41
43
|
{% if not root or config.show_root_heading %}
|
|
42
44
|
{% filter heading(
|
|
43
45
|
heading_level,
|
|
44
|
-
role=
|
|
46
|
+
role=object_type,
|
|
45
47
|
id=html_id,
|
|
46
48
|
class="doc doc-heading",
|
|
47
49
|
toc_label=(('<code class="doc-symbol doc-symbol-toc doc-symbol-' + symbol_type + '"></code> ')|safe if config.show_symbol_type_toc else '') + (config.toc_label if config.toc_label and root else function.name),
|
|
@@ -106,7 +108,7 @@ Context:
|
|
|
106
108
|
{% if config.show_root_toc_entry %}
|
|
107
109
|
{% filter heading(
|
|
108
110
|
heading_level,
|
|
109
|
-
role=
|
|
111
|
+
role=object_type,
|
|
110
112
|
id=html_id,
|
|
111
113
|
toc_label=(('<code class="doc-symbol doc-symbol-toc doc-symbol-' + symbol_type + '"></code> ')|safe if config.show_symbol_type_toc else '') + (config.toc_label if config.toc_label and root else function.name),
|
|
112
114
|
hidden=True,
|
|
@@ -147,7 +149,7 @@ Context:
|
|
|
147
149
|
{% if config.show_source and function.source %}
|
|
148
150
|
<details class="mkdocstrings-source">
|
|
149
151
|
<summary>{{ lang.t("Source code in") }} <code>{{ function|source_location }}</code></summary>
|
|
150
|
-
{{ function.source|highlight(language="python", linestart=function.lineno or 0, linenums=True) }}
|
|
152
|
+
{{ function.source|highlight(language="python", linestart=function.lineno or 0, linenums=True, id_prefix=html_id ~ "--source--") }}
|
|
151
153
|
</details>
|
|
152
154
|
{% endif %}
|
|
153
155
|
{% endblock source %}
|
|
@@ -35,7 +35,7 @@ Context:
|
|
|
35
35
|
{% if not root or config.show_root_heading %}
|
|
36
36
|
{% filter heading(
|
|
37
37
|
heading_level,
|
|
38
|
-
role="
|
|
38
|
+
role="type",
|
|
39
39
|
id=html_id,
|
|
40
40
|
class="doc doc-heading",
|
|
41
41
|
toc_label=('<code class="doc-symbol doc-symbol-toc doc-symbol-type_alias"></code> '|safe if config.show_symbol_type_toc else '') + type_alias.name,
|
|
@@ -83,7 +83,7 @@ Context:
|
|
|
83
83
|
{% else %}
|
|
84
84
|
{% if config.show_root_toc_entry %}
|
|
85
85
|
{% filter heading(heading_level,
|
|
86
|
-
role="
|
|
86
|
+
role="type",
|
|
87
87
|
id=html_id,
|
|
88
88
|
toc_label=('<code class="doc-symbol doc-symbol-toc doc-symbol-type_alias"></code> '|safe if config.show_symbol_type_toc else '') + type_alias.name,
|
|
89
89
|
hidden=True,
|
|
@@ -209,14 +209,14 @@ Context:
|
|
|
209
209
|
{% with init = class.all_members["__init__"] %}
|
|
210
210
|
<details class="quote">
|
|
211
211
|
<summary>Source code in <code>{{ init|source_location }}</code></summary>
|
|
212
|
-
{{ init.source|highlight(language="python", linestart=init.lineno or 0, linenums=True) }}
|
|
212
|
+
{{ init.source|highlight(language="python", linestart=init.lineno or 0, linenums=True, id_prefix=html_id ~ "--source--") }}
|
|
213
213
|
</details>
|
|
214
214
|
{% endwith %}
|
|
215
215
|
{% endif %}
|
|
216
216
|
{% elif class.source %}
|
|
217
217
|
<details class="quote">
|
|
218
218
|
<summary>Source code in <code>{{ class|source_location }}</code></summary>
|
|
219
|
-
{{ class.source|highlight(language="python", linestart=class.lineno or 0, linenums=True) }}
|
|
219
|
+
{{ class.source|highlight(language="python", linestart=class.lineno or 0, linenums=True, id_prefix=html_id ~ "--source--") }}
|
|
220
220
|
</details>
|
|
221
221
|
{% endif %}
|
|
222
222
|
{% endif %}
|
|
@@ -15,11 +15,13 @@ import bs4
|
|
|
15
15
|
import mkdocstrings
|
|
16
16
|
import pytest
|
|
17
17
|
from griffe import (
|
|
18
|
+
Alias,
|
|
18
19
|
Docstring,
|
|
19
20
|
DocstringSectionExamples,
|
|
20
21
|
DocstringSectionKind,
|
|
21
22
|
Module,
|
|
22
23
|
temporary_inspected_module,
|
|
24
|
+
temporary_pypackage,
|
|
23
25
|
temporary_visited_module,
|
|
24
26
|
)
|
|
25
27
|
from mkdocstrings import CollectionError
|
|
@@ -27,6 +29,7 @@ from mkdocstrings import CollectionError
|
|
|
27
29
|
from mkdocstrings_handlers.python import Inventory, PythonConfig, PythonHandler, PythonOptions
|
|
28
30
|
|
|
29
31
|
if TYPE_CHECKING:
|
|
32
|
+
from markdown import Markdown
|
|
30
33
|
from mkdocstrings import MkdocstringsPlugin
|
|
31
34
|
|
|
32
35
|
|
|
@@ -52,6 +55,32 @@ def test_collect_with_null_parser(handler: PythonHandler) -> None:
|
|
|
52
55
|
assert handler.collect("mkdocstrings", PythonOptions(docstring_style=None))
|
|
53
56
|
|
|
54
57
|
|
|
58
|
+
def test_get_aliases(handler: PythonHandler) -> None:
|
|
59
|
+
"""Assert aliases are unique, ordered, and extended with parameter identifiers."""
|
|
60
|
+
with temporary_visited_module(
|
|
61
|
+
"def target(parameter): ...",
|
|
62
|
+
module_name="package",
|
|
63
|
+
modules_collection=handler._modules_collection,
|
|
64
|
+
) as module:
|
|
65
|
+
target = module["target"]
|
|
66
|
+
module["alias"] = Alias("alias", target=target)
|
|
67
|
+
module["other_alias"] = Alias("other_alias", target=target)
|
|
68
|
+
module["unresolved"] = Alias("unresolved", target="missing.target")
|
|
69
|
+
|
|
70
|
+
assert handler.get_aliases("package.target") == (
|
|
71
|
+
"package.target",
|
|
72
|
+
"package.alias",
|
|
73
|
+
"package.other_alias",
|
|
74
|
+
)
|
|
75
|
+
assert handler.get_aliases("package.alias(parameter)") == (
|
|
76
|
+
"package.alias(parameter)",
|
|
77
|
+
"package.target(parameter)",
|
|
78
|
+
"package.other_alias(parameter)",
|
|
79
|
+
)
|
|
80
|
+
assert handler.get_aliases("package.unresolved") == ("package.unresolved",)
|
|
81
|
+
assert handler.get_aliases("package.missing") == ()
|
|
82
|
+
|
|
83
|
+
|
|
55
84
|
@pytest.mark.parametrize(
|
|
56
85
|
"handler",
|
|
57
86
|
[
|
|
@@ -177,6 +206,130 @@ def test_rendering_object_source_without_lineno(handler: PythonHandler) -> None:
|
|
|
177
206
|
assert handler.render(module, PythonOptions(show_source=True))
|
|
178
207
|
|
|
179
208
|
|
|
209
|
+
@pytest.mark.parametrize(
|
|
210
|
+
("handler", "merge_init_into_class"),
|
|
211
|
+
[
|
|
212
|
+
(
|
|
213
|
+
{
|
|
214
|
+
"theme": theme,
|
|
215
|
+
"markdown_extensions": [
|
|
216
|
+
{
|
|
217
|
+
"pymdownx.highlight": {
|
|
218
|
+
"anchor_linenums": True,
|
|
219
|
+
"line_spans": "custom-span",
|
|
220
|
+
"line_anchors": "custom-line",
|
|
221
|
+
"linenums_style": linenums_style,
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
{"pymdownx.superfences": {}},
|
|
225
|
+
],
|
|
226
|
+
},
|
|
227
|
+
merge_init_into_class,
|
|
228
|
+
)
|
|
229
|
+
for theme in ("material", "readthedocs", "mkdocs")
|
|
230
|
+
for linenums_style in ("table", "inline")
|
|
231
|
+
for merge_init_into_class in (True, False)
|
|
232
|
+
],
|
|
233
|
+
indirect=["handler"],
|
|
234
|
+
)
|
|
235
|
+
def test_source_code_ids_are_unique(
|
|
236
|
+
handler: PythonHandler,
|
|
237
|
+
ext_markdown: Markdown,
|
|
238
|
+
merge_init_into_class: bool,
|
|
239
|
+
) -> None:
|
|
240
|
+
"""Keep source line IDs unique across modules, overlapping sources, and inherited methods."""
|
|
241
|
+
# Both modules put their source at the same line numbers. Class source also overlaps method source.
|
|
242
|
+
code = '''
|
|
243
|
+
class Base:
|
|
244
|
+
"""Base class."""
|
|
245
|
+
|
|
246
|
+
def __init__(self):
|
|
247
|
+
"""Initialize the base class."""
|
|
248
|
+
self.value = 1
|
|
249
|
+
|
|
250
|
+
def method(self):
|
|
251
|
+
"""Return a value."""
|
|
252
|
+
return self.value
|
|
253
|
+
|
|
254
|
+
class Derived(Base):
|
|
255
|
+
"""Derived class."""
|
|
256
|
+
'''
|
|
257
|
+
markdown = f"""
|
|
258
|
+
::: source_ids.first
|
|
259
|
+
options:
|
|
260
|
+
show_source: true
|
|
261
|
+
inherited_members: true
|
|
262
|
+
merge_init_into_class: {str(merge_init_into_class).lower()}
|
|
263
|
+
|
|
264
|
+
::: source_ids.second
|
|
265
|
+
options:
|
|
266
|
+
show_source: true
|
|
267
|
+
inherited_members: true
|
|
268
|
+
merge_init_into_class: {str(merge_init_into_class).lower()}
|
|
269
|
+
"""
|
|
270
|
+
with temporary_pypackage("source_ids", {"first.py": code, "second.py": code}) as package:
|
|
271
|
+
handler._paths = [str(package.tmpdir)]
|
|
272
|
+
|
|
273
|
+
html = ext_markdown.convert(markdown)
|
|
274
|
+
|
|
275
|
+
soup = bs4.BeautifulSoup(html, "html.parser")
|
|
276
|
+
source_blocks = soup.select("details.mkdocstrings-source, details.quote")
|
|
277
|
+
assert len(source_blocks) == (8 if merge_init_into_class else 12)
|
|
278
|
+
|
|
279
|
+
# Every source ID is unique, including methods repeated under Derived.
|
|
280
|
+
ids = [element["id"] for block in source_blocks for element in block.select("[id]")]
|
|
281
|
+
assert ids
|
|
282
|
+
assert len(ids) == len(set(ids))
|
|
283
|
+
assert all(
|
|
284
|
+
str(identifier).startswith("source_ids.") and "--source--custom-" in str(identifier) for identifier in ids
|
|
285
|
+
)
|
|
286
|
+
|
|
287
|
+
# Line-number links and legacy anchor names still point to IDs in their own source block.
|
|
288
|
+
for block in source_blocks:
|
|
289
|
+
block_ids = {element["id"] for element in block.select("[id]")}
|
|
290
|
+
links = block.select('a[href^="#"]')
|
|
291
|
+
assert links
|
|
292
|
+
assert all(str(link["href"])[1:] in block_ids for link in links)
|
|
293
|
+
assert all(anchor["name"] == anchor["id"] for anchor in block.select("a[name]"))
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
@pytest.mark.parametrize(
|
|
297
|
+
"handler",
|
|
298
|
+
[
|
|
299
|
+
{
|
|
300
|
+
"markdown_extensions": [
|
|
301
|
+
{"pymdownx.highlight": {"anchor_linenums": True, "line_spans": "__span"}},
|
|
302
|
+
{"pymdownx.superfences": {}},
|
|
303
|
+
],
|
|
304
|
+
},
|
|
305
|
+
],
|
|
306
|
+
indirect=True,
|
|
307
|
+
)
|
|
308
|
+
def test_source_and_docstring_code_ids_do_not_collide(handler: PythonHandler) -> None:
|
|
309
|
+
"""Keep source and docstring code IDs distinct."""
|
|
310
|
+
# Both the function's source and the fenced example start at line 1.
|
|
311
|
+
code = '''def function():
|
|
312
|
+
"""An example.
|
|
313
|
+
|
|
314
|
+
```python linenums="1"
|
|
315
|
+
print("example")
|
|
316
|
+
```
|
|
317
|
+
"""
|
|
318
|
+
return 1
|
|
319
|
+
'''
|
|
320
|
+
with temporary_visited_module(code, module_name="code_ids") as module:
|
|
321
|
+
html = handler.render(module["function"], handler.get_options({"show_source": True}))
|
|
322
|
+
|
|
323
|
+
soup = bs4.BeautifulSoup(html, "html.parser")
|
|
324
|
+
ids = [element["id"] for element in soup.select("[id]")]
|
|
325
|
+
|
|
326
|
+
assert len(ids) == len(set(ids))
|
|
327
|
+
assert "code_ids.function--__span-0-1" in ids
|
|
328
|
+
assert "code_ids.function--source--__span-0-1" in ids
|
|
329
|
+
assert "code_ids.function--__codelineno-0-1" in ids
|
|
330
|
+
assert "code_ids.function--source--__codelineno-0-1" in ids
|
|
331
|
+
|
|
332
|
+
|
|
180
333
|
def test_give_precedence_to_user_paths() -> None:
|
|
181
334
|
"""Assert user paths take precedence over default paths."""
|
|
182
335
|
last_sys_path = sys.path[-1]
|