mkdocstrings-python 2.0.5__tar.gz → 2.0.7__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.5 → mkdocstrings_python-2.0.7}/CHANGELOG.md +17 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/PKG-INFO +3 -5
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/README.md +2 -4
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/pyproject.toml +6 -5
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/scripts/griffe_extensions.py +7 -2
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/__init__.py +2 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/_internal/handler.py +39 -3
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/_internal/rendering.py +39 -13
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/class.html.jinja +2 -14
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/function.html.jinja +1 -7
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/class.html.jinja +2 -14
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/test_api.py +3 -1
- mkdocstrings_python-2.0.7/tests/test_config.py +61 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/test_handler.py +75 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/test_rendering.py +3 -3
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/CODE_OF_CONDUCT.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/CONTRIBUTING.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/LICENSE +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/config/black.toml +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/config/coverage.ini +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/config/git-changelog.toml +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/config/mypy.ini +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/config/pytest.ini +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/config/ruff.toml +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/config/vscode/launch.json +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/config/vscode/settings.json +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/config/vscode/tasks.json +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/.glossary.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/.overrides/partials/comments.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/.overrides/partials/path-item.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/changelog.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/code_of_conduct.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/contributing.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/credits.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/css/material.css +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/css/mkdocstrings.css +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/index.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/js/feedback.js +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/license.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/logo.png +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/reference/api.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/snippets/package/__init__.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/snippets/package/generics.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/snippets/package/modern.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/usage/configuration/docstrings.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/usage/configuration/general.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/usage/configuration/headings.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/usage/configuration/members.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/usage/configuration/signatures.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/usage/customization.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/usage/docstrings/google.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/usage/docstrings/numpy.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/usage/docstrings/sphinx.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/usage/extensions.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/docs/usage/index.md +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/duties.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/mkdocs.yml +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/scripts/gen_credits.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/scripts/get_version.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/scripts/make +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/scripts/make.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/scripts/mkdocs_hooks.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/_internal/__init__.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/_internal/config.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/_internal/debug.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/py.typed +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/attribute.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/backlinks.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/children.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/admonition.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/attributes.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/classes.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/examples.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/functions.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/modules.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/other_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/raises.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/receives.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/returns.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/type_aliases.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/type_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/warns.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring/yields.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/docstring.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/expression.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/labels.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/language.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/languages/en.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/languages/ja.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/languages/zh.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/module.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/signature.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/summary/attributes.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/summary/classes.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/summary/functions.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/summary/modules.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/summary/type_aliases.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/summary.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/type_alias.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/_base/type_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/attribute.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/backlinks.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/children.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/class.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/admonition.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/attributes.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/classes.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/examples.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/functions.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/modules.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/other_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/raises.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/receives.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/returns.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/type_aliases.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/type_aliases.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/type_parameters.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/type_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/warns.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring/yields.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/docstring.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/expression.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/function.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/labels.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/language.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/languages/en.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/languages/ja.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/languages/zh.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/module.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/signature.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/style.css +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/summary/attributes.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/summary/classes.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/summary/functions.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/summary/modules.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/summary/type_aliases.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/summary/type_aliases.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/summary.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/type_alias.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/type_alias.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/type_parameters.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/material/type_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/class.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/attributes.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/other_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/raises.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/receives.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/returns.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/warns.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/docstring/yields.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/language.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/languages/en.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/languages/ja.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/_base/languages/zh.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/class.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/class.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/attributes.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/other_parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/parameters.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/raises.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/receives.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/returns.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/warns.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/docstring/yields.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/language.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/languages/en.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/languages/ja.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/languages/zh.html.jinja +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/templates/readthedocs/style.css +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/__init__.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/conftest.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/helpers.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/headings/heading=,separate_signature=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/headings/heading=,separate_signature=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/headings/heading=Some heading,separate_signature=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/headings/heading=Some heading,separate_signature=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=('method1',),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=('method1',),members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=('method1',),members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=('method1',),members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=('method1',),members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=(),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=(),members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=(),members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=(),members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=(),members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=False,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=False,members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=False,members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=False,members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=False,members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=True,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=True,members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=True,members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=True,members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('!module_attribute',),inherited_members=True,members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=('method1',),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=('method1',),members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=('method1',),members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=('method1',),members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=('method1',),members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=(),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=(),members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=(),members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=(),members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=(),members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=False,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=False,members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=False,members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=False,members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=False,members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=True,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=True,members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=True,members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=True,members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=('module_attribute',),inherited_members=True,members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=('method1',),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=('method1',),members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=('method1',),members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=('method1',),members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=('method1',),members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=(),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=(),members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=(),members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=(),members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=(),members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=False,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=False,members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=False,members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=False,members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=False,members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=True,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=True,members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=True,members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=True,members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=(),inherited_members=True,members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=('method1',),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=('method1',),members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=('method1',),members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=('method1',),members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=('method1',),members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=(),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=(),members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=(),members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=(),members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=(),members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=False,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=False,members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=False,members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=False,members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=False,members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=True,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=True,members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=True,members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=True,members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=None,inherited_members=True,members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=('method1',),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=('method1',),members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=('method1',),members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=('method1',),members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=('method1',),members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=(),members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=(),members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=(),members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=(),members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=(),members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=False,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=False,members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=False,members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=False,members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=False,members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=True,members=('module_attribute',).html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=True,members=().html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=True,members=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=True,members=None.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/members/filters=public,inherited_members=True,members=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/overloads/overloads_only=False,separate_signature=False,show_overloads=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/overloads/overloads_only=False,separate_signature=False,show_overloads=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/overloads/overloads_only=False,separate_signature=True,show_overloads=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/overloads/overloads_only=False,separate_signature=True,show_overloads=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/overloads/overloads_only=True,separate_signature=False,show_overloads=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/overloads/overloads_only=True,separate_signature=False,show_overloads=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/overloads/overloads_only=True,separate_signature=True,show_overloads=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/overloads/overloads_only=True,separate_signature=True,show_overloads=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/signatures/separate_signature=False,show_signature_annotations=False,signature_crossrefs=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/signatures/separate_signature=False,show_signature_annotations=False,signature_crossrefs=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/signatures/separate_signature=False,show_signature_annotations=True,signature_crossrefs=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/signatures/separate_signature=False,show_signature_annotations=True,signature_crossrefs=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/signatures/separate_signature=True,show_signature_annotations=False,signature_crossrefs=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/signatures/separate_signature=True,show_signature_annotations=False,signature_crossrefs=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/signatures/separate_signature=True,show_signature_annotations=True,signature_crossrefs=False.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/snapshots/signatures/separate_signature=True,show_signature_annotations=True,signature_crossrefs=True.html +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/test_end_to_end.py +0 -0
- {mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/tests/test_themes.py +0 -0
|
@@ -5,6 +5,23 @@ 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.7](https://github.com/mkdocstrings/python/releases/tag/2.0.7) - 2026-08-17
|
|
9
|
+
|
|
10
|
+
<small>[Compare with 2.0.6](https://github.com/mkdocstrings/python/compare/2.0.6...2.0.7)</small>
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- Don't render environment paths in source block labels ([84ba73e](https://github.com/mkdocstrings/python/commit/84ba73e8ca4e54afd29a4fe67b8bfb022e76c794) by Chris Wilson). [Issue-333](https://github.com/mkdocstrings/python/issues/333), [PR-338](https://github.com/mkdocstrings/python/pull/338)
|
|
15
|
+
|
|
16
|
+
## [2.0.6](https://github.com/mkdocstrings/python/releases/tag/2.0.6) - 2026-08-16
|
|
17
|
+
|
|
18
|
+
<small>[Compare with 2.0.5](https://github.com/mkdocstrings/python/compare/2.0.5...2.0.6)</small>
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
- Don't pass unsupported options to Griffe parsers ([4b38b6b](https://github.com/mkdocstrings/python/commit/4b38b6ba6c3d1e09339cd5eb2c43145be84bda66) by Timothée Mazzucotelli). [Issue-337](https://github.com/mkdocstrings/python/issues/337)
|
|
23
|
+
- Increase stash key length from 1 to 2 ([6ff2749](https://github.com/mkdocstrings/python/commit/6ff274911441ffaace47dd822fd92a3cdac84e65) by Jonas Haag). [PR-336](https://github.com/mkdocstrings/python/pull/336)
|
|
24
|
+
|
|
8
25
|
## [2.0.5](https://github.com/mkdocstrings/python/releases/tag/2.0.5) - 2026-06-19
|
|
9
26
|
|
|
10
27
|
<small>[Compare with 2.0.4](https://github.com/mkdocstrings/python/compare/2.0.4...2.0.5)</small>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mkdocstrings-python
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.7
|
|
4
4
|
Summary: A Python handler for mkdocstrings.
|
|
5
5
|
Author-Email: =?utf-8?q?Timoth=C3=A9e_Mazzucotelli?= <dev@pawamoy.fr>
|
|
6
6
|
License-Expression: ISC
|
|
@@ -145,7 +145,7 @@ dependencies = [
|
|
|
145
145
|
<a href="https://github.com/BenHammersley"><img alt="BenHammersley" src="https://avatars.githubusercontent.com/u/99436?u=4499a7b507541045222ee28ae122dbe3c8d08ab5&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
146
146
|
<a href="https://github.com/trevorWieland"><img alt="trevorWieland" src="https://avatars.githubusercontent.com/u/28811461?u=74cc0e3756c1d4e3d66b5c396e1d131ea8a10472&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
147
147
|
<a href="https://github.com/MarcoGorelli"><img alt="MarcoGorelli" src="https://avatars.githubusercontent.com/u/33491632?u=7de3a749cac76a60baca9777baf71d043a4f884d&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
148
|
-
<a href="https://github.com/analog-cbarber"><img alt="analog-cbarber" src="https://avatars.githubusercontent.com/u/7408243?u=
|
|
148
|
+
<a href="https://github.com/analog-cbarber"><img alt="analog-cbarber" src="https://avatars.githubusercontent.com/u/7408243?u=fe0e7bf2882d1c9c901a341c2502e1518466527a&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
149
149
|
<a href="https://github.com/OdinManiac"><img alt="OdinManiac" src="https://avatars.githubusercontent.com/u/22727172?u=36ab20970f7f52ae8e7eb67b7fcf491fee01ac22&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
150
150
|
<a href="https://github.com/rstudio-sponsorship"><img alt="rstudio-sponsorship" src="https://avatars.githubusercontent.com/u/58949051?u=0c471515dd18111be30dfb7669ed5e778970959b&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
151
151
|
<a href="https://github.com/schlich"><img alt="schlich" src="https://avatars.githubusercontent.com/u/21191435?u=6f1240adb68f21614d809ae52d66509f46b1e877&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
@@ -157,17 +157,15 @@ dependencies = [
|
|
|
157
157
|
<a href="https://github.com/activeloopai"><img alt="activeloopai" src="https://avatars.githubusercontent.com/u/34816118?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
158
158
|
<a href="https://github.com/roboflow"><img alt="roboflow" src="https://avatars.githubusercontent.com/u/53104118?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
159
159
|
<a href="https://github.com/cmclaughlin"><img alt="cmclaughlin" src="https://avatars.githubusercontent.com/u/1061109?u=ddf6eec0edd2d11c980f8c3aa96e3d044d4e0468&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
160
|
-
<a href="https://github.com/blaisep"><img alt="blaisep" src="https://avatars.githubusercontent.com/u/254456?u=97d584b7c0a6faf583aa59975df4f993f671d121&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
161
160
|
<a href="https://github.com/RapidataAI"><img alt="RapidataAI" src="https://avatars.githubusercontent.com/u/104209891?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
162
161
|
<a href="https://github.com/rodolphebarbanneau"><img alt="rodolphebarbanneau" src="https://avatars.githubusercontent.com/u/46493454?u=6c405452a40c231cdf0b68e97544e07ee956a733&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
163
162
|
<a href="https://github.com/theSymbolSyndicate"><img alt="theSymbolSyndicate" src="https://avatars.githubusercontent.com/u/111542255?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
164
163
|
<a href="https://github.com/blakeNaccarato"><img alt="blakeNaccarato" src="https://avatars.githubusercontent.com/u/20692450?u=bb919218be30cfa994514f4cf39bb2f7cf952df4&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
165
164
|
<a href="https://github.com/ChargeStorm"><img alt="ChargeStorm" src="https://avatars.githubusercontent.com/u/26000165?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
166
|
-
<a href="https://github.com/Alphadelta14"><img alt="Alphadelta14" src="https://avatars.githubusercontent.com/u/480845?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
167
165
|
<a href="https://github.com/Cusp-AI"><img alt="Cusp-AI" src="https://avatars.githubusercontent.com/u/178170649?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
168
166
|
</p></div>
|
|
169
167
|
|
|
170
168
|
|
|
171
|
-
*And
|
|
169
|
+
*And 4 more private sponsor(s).*
|
|
172
170
|
|
|
173
171
|
<!-- sponsors-end -->
|
|
@@ -108,7 +108,7 @@ dependencies = [
|
|
|
108
108
|
<a href="https://github.com/BenHammersley"><img alt="BenHammersley" src="https://avatars.githubusercontent.com/u/99436?u=4499a7b507541045222ee28ae122dbe3c8d08ab5&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
109
109
|
<a href="https://github.com/trevorWieland"><img alt="trevorWieland" src="https://avatars.githubusercontent.com/u/28811461?u=74cc0e3756c1d4e3d66b5c396e1d131ea8a10472&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
110
110
|
<a href="https://github.com/MarcoGorelli"><img alt="MarcoGorelli" src="https://avatars.githubusercontent.com/u/33491632?u=7de3a749cac76a60baca9777baf71d043a4f884d&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
111
|
-
<a href="https://github.com/analog-cbarber"><img alt="analog-cbarber" src="https://avatars.githubusercontent.com/u/7408243?u=
|
|
111
|
+
<a href="https://github.com/analog-cbarber"><img alt="analog-cbarber" src="https://avatars.githubusercontent.com/u/7408243?u=fe0e7bf2882d1c9c901a341c2502e1518466527a&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
112
112
|
<a href="https://github.com/OdinManiac"><img alt="OdinManiac" src="https://avatars.githubusercontent.com/u/22727172?u=36ab20970f7f52ae8e7eb67b7fcf491fee01ac22&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
113
113
|
<a href="https://github.com/rstudio-sponsorship"><img alt="rstudio-sponsorship" src="https://avatars.githubusercontent.com/u/58949051?u=0c471515dd18111be30dfb7669ed5e778970959b&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
114
114
|
<a href="https://github.com/schlich"><img alt="schlich" src="https://avatars.githubusercontent.com/u/21191435?u=6f1240adb68f21614d809ae52d66509f46b1e877&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
@@ -120,17 +120,15 @@ dependencies = [
|
|
|
120
120
|
<a href="https://github.com/activeloopai"><img alt="activeloopai" src="https://avatars.githubusercontent.com/u/34816118?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
121
121
|
<a href="https://github.com/roboflow"><img alt="roboflow" src="https://avatars.githubusercontent.com/u/53104118?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
122
122
|
<a href="https://github.com/cmclaughlin"><img alt="cmclaughlin" src="https://avatars.githubusercontent.com/u/1061109?u=ddf6eec0edd2d11c980f8c3aa96e3d044d4e0468&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
123
|
-
<a href="https://github.com/blaisep"><img alt="blaisep" src="https://avatars.githubusercontent.com/u/254456?u=97d584b7c0a6faf583aa59975df4f993f671d121&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
124
123
|
<a href="https://github.com/RapidataAI"><img alt="RapidataAI" src="https://avatars.githubusercontent.com/u/104209891?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
125
124
|
<a href="https://github.com/rodolphebarbanneau"><img alt="rodolphebarbanneau" src="https://avatars.githubusercontent.com/u/46493454?u=6c405452a40c231cdf0b68e97544e07ee956a733&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
126
125
|
<a href="https://github.com/theSymbolSyndicate"><img alt="theSymbolSyndicate" src="https://avatars.githubusercontent.com/u/111542255?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
127
126
|
<a href="https://github.com/blakeNaccarato"><img alt="blakeNaccarato" src="https://avatars.githubusercontent.com/u/20692450?u=bb919218be30cfa994514f4cf39bb2f7cf952df4&v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
128
127
|
<a href="https://github.com/ChargeStorm"><img alt="ChargeStorm" src="https://avatars.githubusercontent.com/u/26000165?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
129
|
-
<a href="https://github.com/Alphadelta14"><img alt="Alphadelta14" src="https://avatars.githubusercontent.com/u/480845?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
130
128
|
<a href="https://github.com/Cusp-AI"><img alt="Cusp-AI" src="https://avatars.githubusercontent.com/u/178170649?v=4" style="height: 32px; border-radius: 100%;"></a>
|
|
131
129
|
</p></div>
|
|
132
130
|
|
|
133
131
|
|
|
134
|
-
*And
|
|
132
|
+
*And 4 more private sponsor(s).*
|
|
135
133
|
|
|
136
134
|
<!-- sponsors-end -->
|
|
@@ -41,7 +41,7 @@ dependencies = [
|
|
|
41
41
|
"griffelib>=2.0",
|
|
42
42
|
"typing-extensions>=4.0; python_version < '3.11'",
|
|
43
43
|
]
|
|
44
|
-
version = "2.0.
|
|
44
|
+
version = "2.0.7"
|
|
45
45
|
|
|
46
46
|
[project.urls]
|
|
47
47
|
Homepage = "https://mkdocstrings.github.io/python"
|
|
@@ -103,18 +103,19 @@ maintain = [
|
|
|
103
103
|
"yore>=0.3.3",
|
|
104
104
|
]
|
|
105
105
|
ci = [
|
|
106
|
+
"beautifulsoup4>=4.12.3",
|
|
106
107
|
"black>=25.1",
|
|
107
108
|
"duty>=1.6",
|
|
108
|
-
"
|
|
109
|
+
"griffe>=2.1",
|
|
110
|
+
"inline-snapshot>=0.25",
|
|
111
|
+
"mypy>=1.10",
|
|
109
112
|
"pytest>=8.2",
|
|
110
113
|
"pytest-cov>=5.0",
|
|
111
114
|
"pytest-randomly>=3.15",
|
|
112
115
|
"pytest-xdist>=3.6",
|
|
113
|
-
"beautifulsoup4>=4.12.3",
|
|
114
|
-
"inline-snapshot>=0.25",
|
|
115
|
-
"mypy>=1.10",
|
|
116
116
|
"types-markdown>=3.6",
|
|
117
117
|
"types-pyyaml>=6.0",
|
|
118
|
+
"ruff>=0.4",
|
|
118
119
|
]
|
|
119
120
|
docs = [
|
|
120
121
|
"markdown-callouts>=0.4",
|
|
@@ -23,9 +23,14 @@ class CustomFields(griffe.Extension):
|
|
|
23
23
|
"""Fetch descriptions from `Field` annotations."""
|
|
24
24
|
if attr.docstring:
|
|
25
25
|
return
|
|
26
|
+
annotation = attr.annotation
|
|
27
|
+
if not isinstance(annotation, griffe.ExprSubscript) or not isinstance(annotation.slice, griffe.ExprTuple):
|
|
28
|
+
return
|
|
26
29
|
try:
|
|
27
|
-
field
|
|
28
|
-
except
|
|
30
|
+
field = annotation.slice.elements[1]
|
|
31
|
+
except IndexError:
|
|
32
|
+
return
|
|
33
|
+
if not isinstance(field, griffe.ExprCall):
|
|
29
34
|
return
|
|
30
35
|
|
|
31
36
|
if field.canonical_path == "mkdocstrings_handlers.python._internal.config._Field":
|
{mkdocstrings_python-2.0.5 → mkdocstrings_python-2.0.7}/src/mkdocstrings_handlers/python/__init__.py
RENAMED
|
@@ -31,6 +31,7 @@ from mkdocstrings_handlers.python._internal.rendering import (
|
|
|
31
31
|
do_format_type_alias,
|
|
32
32
|
do_get_template,
|
|
33
33
|
do_order_members,
|
|
34
|
+
do_source_location,
|
|
34
35
|
do_split_path,
|
|
35
36
|
do_stash_crossref,
|
|
36
37
|
)
|
|
@@ -64,6 +65,7 @@ __all__ = [
|
|
|
64
65
|
"do_format_type_alias",
|
|
65
66
|
"do_get_template",
|
|
66
67
|
"do_order_members",
|
|
68
|
+
"do_source_location",
|
|
67
69
|
"do_split_path",
|
|
68
70
|
"do_stash_crossref",
|
|
69
71
|
"get_handler",
|
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import glob
|
|
6
|
+
import inspect
|
|
6
7
|
import os
|
|
7
8
|
import posixpath
|
|
8
9
|
import sys
|
|
9
10
|
from contextlib import suppress
|
|
10
11
|
from dataclasses import asdict
|
|
11
12
|
from pathlib import Path
|
|
12
|
-
from typing import TYPE_CHECKING, Any, BinaryIO, ClassVar
|
|
13
|
+
from typing import TYPE_CHECKING, Any, BinaryIO, Callable, ClassVar
|
|
13
14
|
|
|
14
15
|
from griffe import (
|
|
15
16
|
AliasResolutionError,
|
|
@@ -18,6 +19,10 @@ from griffe import (
|
|
|
18
19
|
ModulesCollection,
|
|
19
20
|
Parser,
|
|
20
21
|
load_extensions,
|
|
22
|
+
parse_auto,
|
|
23
|
+
parse_google,
|
|
24
|
+
parse_numpy,
|
|
25
|
+
parse_sphinx,
|
|
21
26
|
patch_loggers,
|
|
22
27
|
)
|
|
23
28
|
from mkdocs.exceptions import PluginError
|
|
@@ -54,6 +59,34 @@ _logger = get_logger(__name__)
|
|
|
54
59
|
|
|
55
60
|
patch_loggers(get_logger)
|
|
56
61
|
|
|
62
|
+
_PARSER_FUNCTIONS: dict[Parser, Callable] = {
|
|
63
|
+
Parser.auto: parse_auto,
|
|
64
|
+
Parser.google: parse_google,
|
|
65
|
+
Parser.numpy: parse_numpy,
|
|
66
|
+
Parser.sphinx: parse_sphinx,
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def _filter_parser_options(parser: Parser | None, options: dict[str, Any] | None) -> dict[str, Any] | None:
|
|
71
|
+
"""Filter options unsupported by the selected Griffe parser."""
|
|
72
|
+
if parser is None or options is None:
|
|
73
|
+
return options
|
|
74
|
+
|
|
75
|
+
accepted_options = set(inspect.signature(_PARSER_FUNCTIONS[parser]).parameters) - {"docstring"}
|
|
76
|
+
filtered_options = {}
|
|
77
|
+
for name, value in options.items():
|
|
78
|
+
if name in accepted_options:
|
|
79
|
+
if parser is Parser.auto and name == "per_style_options":
|
|
80
|
+
filtered_options[name] = {
|
|
81
|
+
style: _filter_parser_options(Parser(style), style_options)
|
|
82
|
+
for style, style_options in value.items()
|
|
83
|
+
}
|
|
84
|
+
else:
|
|
85
|
+
filtered_options[name] = value
|
|
86
|
+
else:
|
|
87
|
+
_logger.warning(f"Ignoring unsupported {parser.value} docstring parser option: {name}")
|
|
88
|
+
return filtered_options
|
|
89
|
+
|
|
57
90
|
|
|
58
91
|
class PythonHandler(BaseHandler):
|
|
59
92
|
"""The Python handler class."""
|
|
@@ -195,7 +228,9 @@ class PythonHandler(BaseHandler):
|
|
|
195
228
|
|
|
196
229
|
parser_name = options.docstring_style
|
|
197
230
|
parser = parser_name and Parser(parser_name)
|
|
198
|
-
parser_options
|
|
231
|
+
parser_options: dict[str, Any] | None = None
|
|
232
|
+
if options.docstring_options is not None:
|
|
233
|
+
parser_options = _filter_parser_options(parser, asdict(options.docstring_options))
|
|
199
234
|
|
|
200
235
|
if unknown_module:
|
|
201
236
|
extensions = self.normalize_extension_paths(options.extensions)
|
|
@@ -203,7 +238,7 @@ class PythonHandler(BaseHandler):
|
|
|
203
238
|
extensions=load_extensions(*extensions),
|
|
204
239
|
search_paths=self._paths,
|
|
205
240
|
docstring_parser=parser,
|
|
206
|
-
docstring_options=parser_options,
|
|
241
|
+
docstring_options=parser_options, # type: ignore[arg-type]
|
|
207
242
|
modules_collection=self._modules_collection,
|
|
208
243
|
lines_collection=self._lines_collection,
|
|
209
244
|
allow_inspection=options.allow_inspection,
|
|
@@ -310,6 +345,7 @@ class PythonHandler(BaseHandler):
|
|
|
310
345
|
self.env.filters["filter_objects"] = rendering.do_filter_objects
|
|
311
346
|
self.env.filters["stash_crossref"] = rendering.do_stash_crossref
|
|
312
347
|
self.env.filters["get_template"] = rendering.do_get_template
|
|
348
|
+
self.env.filters["source_location"] = rendering.do_source_location
|
|
313
349
|
self.env.filters["as_attributes_section"] = rendering.do_as_attributes_section
|
|
314
350
|
self.env.filters["as_functions_section"] = rendering.do_as_functions_section
|
|
315
351
|
self.env.filters["as_classes_section"] = rendering.do_as_classes_section
|
|
@@ -11,6 +11,7 @@ from collections import defaultdict
|
|
|
11
11
|
from contextlib import suppress
|
|
12
12
|
from dataclasses import replace
|
|
13
13
|
from functools import lru_cache
|
|
14
|
+
from pathlib import Path
|
|
14
15
|
from re import Pattern
|
|
15
16
|
from typing import TYPE_CHECKING, Any, Callable, ClassVar, Literal, TypeVar
|
|
16
17
|
|
|
@@ -107,7 +108,7 @@ class _StashCrossRefFilter:
|
|
|
107
108
|
|
|
108
109
|
@staticmethod
|
|
109
110
|
def _gen_key(length: int) -> str:
|
|
110
|
-
return "_" + "".join(random.choice(string.ascii_letters + string.digits) for _ in range(max(
|
|
111
|
+
return "_" + "".join(random.choice(string.ascii_letters + string.digits) for _ in range(max(2, length - 1))) # noqa: S311
|
|
111
112
|
|
|
112
113
|
def _gen_stash_key(self, length: int) -> str:
|
|
113
114
|
key = self._gen_key(length)
|
|
@@ -420,22 +421,20 @@ def _keep_object(name: str, filters: Sequence[tuple[Pattern, bool]]) -> bool:
|
|
|
420
421
|
|
|
421
422
|
|
|
422
423
|
def _parents(obj: Alias) -> set[str]:
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
parents.add(parent.final_target.path)
|
|
427
|
-
while parent.parent:
|
|
428
|
-
parent = parent.parent
|
|
424
|
+
parents = {obj.path}
|
|
425
|
+
parent = obj.parent
|
|
426
|
+
while parent is not None:
|
|
429
427
|
parents.add(parent.path)
|
|
430
|
-
if parent
|
|
428
|
+
if isinstance(parent, Alias):
|
|
431
429
|
parents.add(parent.final_target.path)
|
|
430
|
+
parent = parent.parent
|
|
432
431
|
return parents
|
|
433
432
|
|
|
434
433
|
|
|
435
434
|
def _remove_cycles(objects: list[Object | Alias]) -> Iterator[Object | Alias]:
|
|
436
435
|
suppress_errors = suppress(AliasResolutionError, CyclicAliasError)
|
|
437
436
|
for obj in objects:
|
|
438
|
-
if obj
|
|
437
|
+
if isinstance(obj, Alias):
|
|
439
438
|
with suppress_errors:
|
|
440
439
|
if obj.final_target.path in _parents(obj):
|
|
441
440
|
continue
|
|
@@ -592,6 +591,30 @@ def do_get_template(obj: Object | Alias) -> str:
|
|
|
592
591
|
return f"{name}.html.jinja"
|
|
593
592
|
|
|
594
593
|
|
|
594
|
+
def do_source_location(obj: Object | Alias) -> Path:
|
|
595
|
+
"""Get the file path displayed in an object's source block label.
|
|
596
|
+
|
|
597
|
+
Environment paths are never displayed: when the object's file lives in
|
|
598
|
+
a `site-packages` directory (for example a virtual environment inside
|
|
599
|
+
the current working directory), the path below `site-packages` is
|
|
600
|
+
returned instead.
|
|
601
|
+
|
|
602
|
+
Parameters:
|
|
603
|
+
obj: A Griffe object.
|
|
604
|
+
|
|
605
|
+
Returns:
|
|
606
|
+
The file path to display.
|
|
607
|
+
"""
|
|
608
|
+
relative_filepath = obj.relative_filepath
|
|
609
|
+
parts = relative_filepath.parts
|
|
610
|
+
if "site-packages" in parts:
|
|
611
|
+
anchor = len(parts) - 1 - parts[::-1].index("site-packages")
|
|
612
|
+
return Path(*parts[anchor + 1 :])
|
|
613
|
+
if relative_filepath.is_absolute():
|
|
614
|
+
return obj.relative_package_filepath
|
|
615
|
+
return relative_filepath
|
|
616
|
+
|
|
617
|
+
|
|
595
618
|
@pass_context
|
|
596
619
|
def do_as_attributes_section(
|
|
597
620
|
context: Context, # noqa: ARG001
|
|
@@ -784,6 +807,8 @@ class AutorefsHook(AutorefsHookInterface):
|
|
|
784
807
|
obj = self.current_object
|
|
785
808
|
while identifier and identifier[0] == ".":
|
|
786
809
|
identifier = identifier[1:]
|
|
810
|
+
if obj.parent is None:
|
|
811
|
+
break
|
|
787
812
|
obj = obj.parent
|
|
788
813
|
identifier = f"{obj.path}.{identifier}" if identifier else obj.path
|
|
789
814
|
|
|
@@ -814,12 +839,13 @@ class AutorefsHook(AutorefsHookInterface):
|
|
|
814
839
|
"module": "mod",
|
|
815
840
|
}.get(self.current_object.kind.value.lower(), "obj")
|
|
816
841
|
origin = self.current_object.path
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
lineno = self.current_object.docstring.lineno or 0
|
|
820
|
-
except AttributeError:
|
|
842
|
+
docstring = self.current_object.docstring
|
|
843
|
+
if docstring is None or docstring.parent is None:
|
|
821
844
|
filepath = self.current_object.filepath
|
|
822
845
|
lineno = 0
|
|
846
|
+
else:
|
|
847
|
+
filepath = docstring.parent.filepath
|
|
848
|
+
lineno = docstring.lineno or 0
|
|
823
849
|
|
|
824
850
|
return AutorefsHookInterface.Context(
|
|
825
851
|
domain="py",
|
|
@@ -249,26 +249,14 @@ Context:
|
|
|
249
249
|
{% if "__init__" in all_members and all_members["__init__"].source %}
|
|
250
250
|
{% with init = all_members["__init__"] %}
|
|
251
251
|
<details class="mkdocstrings-source">
|
|
252
|
-
<summary>{{ lang.t("Source code in") }} <code>
|
|
253
|
-
{%- if init.relative_filepath.is_absolute() -%}
|
|
254
|
-
{{ init.relative_package_filepath }}
|
|
255
|
-
{%- else -%}
|
|
256
|
-
{{ init.relative_filepath }}
|
|
257
|
-
{%- endif -%}
|
|
258
|
-
</code></summary>
|
|
252
|
+
<summary>{{ lang.t("Source code in") }} <code>{{ init|source_location }}</code></summary>
|
|
259
253
|
{{ init.source|highlight(language="python", linestart=init.lineno or 0, linenums=True) }}
|
|
260
254
|
</details>
|
|
261
255
|
{% endwith %}
|
|
262
256
|
{% endif %}
|
|
263
257
|
{% elif class.source %}
|
|
264
258
|
<details class="mkdocstrings-source">
|
|
265
|
-
<summary>{{ lang.t("Source code in") }} <code>
|
|
266
|
-
{%- if class.relative_filepath.is_absolute() -%}
|
|
267
|
-
{{ class.relative_package_filepath }}
|
|
268
|
-
{%- else -%}
|
|
269
|
-
{{ class.relative_filepath }}
|
|
270
|
-
{%- endif -%}
|
|
271
|
-
</code></summary>
|
|
259
|
+
<summary>{{ lang.t("Source code in") }} <code>{{ class|source_location }}</code></summary>
|
|
272
260
|
{{ class.source|highlight(language="python", linestart=class.lineno or 0, linenums=True) }}
|
|
273
261
|
</details>
|
|
274
262
|
{% endif %}
|
|
@@ -146,13 +146,7 @@ Context:
|
|
|
146
146
|
-#}
|
|
147
147
|
{% if config.show_source and function.source %}
|
|
148
148
|
<details class="mkdocstrings-source">
|
|
149
|
-
<summary>{{ lang.t("Source code in") }} <code>
|
|
150
|
-
{%- if function.relative_filepath.is_absolute() -%}
|
|
151
|
-
{{ function.relative_package_filepath }}
|
|
152
|
-
{%- else -%}
|
|
153
|
-
{{ function.relative_filepath }}
|
|
154
|
-
{%- endif -%}
|
|
155
|
-
</code></summary>
|
|
149
|
+
<summary>{{ lang.t("Source code in") }} <code>{{ function|source_location }}</code></summary>
|
|
156
150
|
{{ function.source|highlight(language="python", linestart=function.lineno or 0, linenums=True) }}
|
|
157
151
|
</details>
|
|
158
152
|
{% endif %}
|
|
@@ -208,26 +208,14 @@ Context:
|
|
|
208
208
|
{% if "__init__" in class.all_members and class.all_members["__init__"].source %}
|
|
209
209
|
{% with init = class.all_members["__init__"] %}
|
|
210
210
|
<details class="quote">
|
|
211
|
-
<summary>Source code in <code>
|
|
212
|
-
{%- if init.relative_filepath.is_absolute() -%}
|
|
213
|
-
{{ init.relative_package_filepath }}
|
|
214
|
-
{%- else -%}
|
|
215
|
-
{{ init.relative_filepath }}
|
|
216
|
-
{%- endif -%}
|
|
217
|
-
</code></summary>
|
|
211
|
+
<summary>Source code in <code>{{ init|source_location }}</code></summary>
|
|
218
212
|
{{ init.source|highlight(language="python", linestart=init.lineno or 0, linenums=True) }}
|
|
219
213
|
</details>
|
|
220
214
|
{% endwith %}
|
|
221
215
|
{% endif %}
|
|
222
216
|
{% elif class.source %}
|
|
223
217
|
<details class="quote">
|
|
224
|
-
<summary>Source code in <code>
|
|
225
|
-
{%- if class.relative_filepath.is_absolute() -%}
|
|
226
|
-
{{ class.relative_package_filepath }}
|
|
227
|
-
{%- else -%}
|
|
228
|
-
{{ class.relative_filepath }}
|
|
229
|
-
{%- endif -%}
|
|
230
|
-
</code></summary>
|
|
218
|
+
<summary>Source code in <code>{{ class|source_location }}</code></summary>
|
|
231
219
|
{{ class.source|highlight(language="python", linestart=class.lineno or 0, linenums=True) }}
|
|
232
220
|
</details>
|
|
233
221
|
{% endif %}
|
|
@@ -36,7 +36,7 @@ def _fixture_public_api(loader: griffe.GriffeLoader) -> griffe.Module:
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
def _yield_public_objects(
|
|
39
|
-
obj: griffe.Module | griffe.Class,
|
|
39
|
+
obj: griffe.Module | griffe.Class | griffe.Alias,
|
|
40
40
|
*,
|
|
41
41
|
modules: bool = False,
|
|
42
42
|
modulelevel: bool = True,
|
|
@@ -48,6 +48,7 @@ def _yield_public_objects(
|
|
|
48
48
|
if member.is_module:
|
|
49
49
|
if member.is_alias or not member.is_public:
|
|
50
50
|
continue
|
|
51
|
+
assert isinstance(member, griffe.Module)
|
|
51
52
|
if modules:
|
|
52
53
|
yield member
|
|
53
54
|
yield from _yield_public_objects(
|
|
@@ -62,6 +63,7 @@ def _yield_public_objects(
|
|
|
62
63
|
else:
|
|
63
64
|
continue
|
|
64
65
|
if member.is_class and not modulelevel:
|
|
66
|
+
assert isinstance(member, (griffe.Class, griffe.Alias))
|
|
65
67
|
yield from _yield_public_objects(
|
|
66
68
|
member,
|
|
67
69
|
modules=modules,
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"""Tests for configuration options."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import inspect
|
|
6
|
+
from dataclasses import asdict, fields
|
|
7
|
+
from typing import TYPE_CHECKING, Any
|
|
8
|
+
|
|
9
|
+
import pytest
|
|
10
|
+
from griffe import Parser, parse_google, parse_numpy, parse_sphinx
|
|
11
|
+
|
|
12
|
+
from mkdocstrings_handlers.python import AutoStyleOptions, GoogleStyleOptions, NumpyStyleOptions, SphinxStyleOptions
|
|
13
|
+
from mkdocstrings_handlers.python._internal.handler import _filter_parser_options
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from collections.abc import Callable
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@pytest.mark.parametrize(
|
|
20
|
+
("options_class", "parser"),
|
|
21
|
+
[
|
|
22
|
+
(GoogleStyleOptions, parse_google),
|
|
23
|
+
(NumpyStyleOptions, parse_numpy),
|
|
24
|
+
(SphinxStyleOptions, parse_sphinx),
|
|
25
|
+
],
|
|
26
|
+
)
|
|
27
|
+
def test_style_options_match_griffe_parser(options_class: type[Any], parser: Callable[..., object]) -> None:
|
|
28
|
+
"""Ensure style options stay in sync with Griffe parser options."""
|
|
29
|
+
option_names = {field.name for field in fields(options_class)}
|
|
30
|
+
parser_parameters = inspect.signature(parser).parameters
|
|
31
|
+
parser_option_names = set(parser_parameters) - {"docstring"}
|
|
32
|
+
|
|
33
|
+
assert parser_option_names <= option_names
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def test_filter_style_options(caplog: pytest.LogCaptureFixture) -> None:
|
|
37
|
+
"""Ensure unsupported options are not passed to Griffe and are reported."""
|
|
38
|
+
options = asdict(SphinxStyleOptions())
|
|
39
|
+
|
|
40
|
+
filtered_options = _filter_parser_options(Parser.sphinx, options)
|
|
41
|
+
|
|
42
|
+
assert filtered_options == {
|
|
43
|
+
name: value for name, value in options.items() if name in inspect.signature(parse_sphinx).parameters
|
|
44
|
+
}
|
|
45
|
+
assert "warn_missing_types" in options
|
|
46
|
+
for name in set(options) - set(filtered_options or {}):
|
|
47
|
+
assert f"Ignoring unsupported sphinx docstring parser option: {name}" in caplog.text
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def test_filter_auto_style_options(caplog: pytest.LogCaptureFixture) -> None:
|
|
51
|
+
"""Ensure unsupported options nested in auto style options are reported."""
|
|
52
|
+
options = asdict(AutoStyleOptions())
|
|
53
|
+
|
|
54
|
+
filtered_options = _filter_parser_options(Parser.auto, options)
|
|
55
|
+
|
|
56
|
+
assert filtered_options is not None
|
|
57
|
+
if "warn_missing_types" in inspect.signature(parse_sphinx).parameters:
|
|
58
|
+
assert "warn_missing_types" in filtered_options["per_style_options"]["sphinx"]
|
|
59
|
+
else:
|
|
60
|
+
assert "warn_missing_types" not in filtered_options["per_style_options"]["sphinx"]
|
|
61
|
+
assert "Ignoring unsupported sphinx docstring parser option: warn_missing_types" in caplog.text
|
|
@@ -11,6 +11,7 @@ from pathlib import Path
|
|
|
11
11
|
from textwrap import dedent
|
|
12
12
|
from typing import TYPE_CHECKING
|
|
13
13
|
|
|
14
|
+
import bs4
|
|
14
15
|
import mkdocstrings
|
|
15
16
|
import pytest
|
|
16
17
|
from griffe import (
|
|
@@ -333,3 +334,77 @@ def test_specifying_inventory_base_url(handler: PythonHandler) -> None:
|
|
|
333
334
|
# Assert the URL is based on the provided base URL
|
|
334
335
|
msg = "Expected inventory URL to start with base_url"
|
|
335
336
|
assert item_url.startswith(base_url), msg
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
def _source_labels(html: str) -> list[Path]:
|
|
340
|
+
soup = bs4.BeautifulSoup(html, features="html.parser")
|
|
341
|
+
labels = []
|
|
342
|
+
for summary in soup.find_all("summary"):
|
|
343
|
+
if "Source code in" in summary.get_text():
|
|
344
|
+
code_tag = summary.find("code")
|
|
345
|
+
assert code_tag is not None
|
|
346
|
+
labels.append(Path(code_tag.get_text(strip=True)))
|
|
347
|
+
return labels
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
def _write_site_packages_package(tmp_path: Path, *, single_module: bool) -> None:
|
|
351
|
+
"""Lay out the issue-333 scenario: a package installed in a virtual environment inside the project.
|
|
352
|
+
|
|
353
|
+
The environment's `site-packages` directory is relative to the current
|
|
354
|
+
working directory, so the package's `relative_filepath` is relative too,
|
|
355
|
+
slipping past `is_absolute()` checks.
|
|
356
|
+
"""
|
|
357
|
+
code = """
|
|
358
|
+
class Model:
|
|
359
|
+
'''Model docstring.'''
|
|
360
|
+
|
|
361
|
+
def __init__(self) -> None:
|
|
362
|
+
'''Init docstring.'''
|
|
363
|
+
self.model_attribute = 0
|
|
364
|
+
|
|
365
|
+
def method(self) -> None:
|
|
366
|
+
'''Method docstring.'''
|
|
367
|
+
"""
|
|
368
|
+
site = tmp_path / "site-packages"
|
|
369
|
+
module_path = site / "pkg.py" if single_module else site / "pkg" / "__init__.py"
|
|
370
|
+
module_path.parent.mkdir(parents=True)
|
|
371
|
+
module_path.write_text(dedent(code), encoding="utf-8")
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
@pytest.mark.parametrize(
|
|
375
|
+
"handler",
|
|
376
|
+
[
|
|
377
|
+
{"theme": "readthedocs"},
|
|
378
|
+
{"theme": {"name": "material"}},
|
|
379
|
+
],
|
|
380
|
+
indirect=["handler"],
|
|
381
|
+
)
|
|
382
|
+
@pytest.mark.parametrize(
|
|
383
|
+
("single_module", "extra_options", "expected_label"),
|
|
384
|
+
[
|
|
385
|
+
pytest.param(False, {"merge_init_into_class": True}, Path("pkg", "__init__.py"), id="merged-init"),
|
|
386
|
+
pytest.param(False, {}, Path("pkg", "__init__.py"), id="class-and-methods"),
|
|
387
|
+
pytest.param(True, {"merge_init_into_class": True}, Path("pkg.py"), id="single-module"),
|
|
388
|
+
],
|
|
389
|
+
)
|
|
390
|
+
def test_no_environment_path_in_source_labels(
|
|
391
|
+
*,
|
|
392
|
+
tmp_path: Path,
|
|
393
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
394
|
+
handler: PythonHandler,
|
|
395
|
+
single_module: bool,
|
|
396
|
+
extra_options: dict,
|
|
397
|
+
expected_label: Path,
|
|
398
|
+
) -> None:
|
|
399
|
+
"""Assert source labels never show an environment path."""
|
|
400
|
+
_write_site_packages_package(tmp_path, single_module=single_module)
|
|
401
|
+
monkeypatch.chdir(tmp_path)
|
|
402
|
+
# `collect()` reads the search paths lazily from this attribute.
|
|
403
|
+
handler._paths = [str(tmp_path / "site-packages")]
|
|
404
|
+
options = handler.get_options({"show_source": True, **extra_options})
|
|
405
|
+
html = handler.render(handler.collect("pkg.Model", options), options)
|
|
406
|
+
labels = _source_labels(html)
|
|
407
|
+
assert labels
|
|
408
|
+
assert set(labels) == {expected_label}
|
|
409
|
+
# The source bodies themselves are still rendered.
|
|
410
|
+
assert "model_attribute" in html
|
|
@@ -4,10 +4,10 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import re
|
|
6
6
|
from dataclasses import dataclass
|
|
7
|
-
from typing import TYPE_CHECKING, Any, Callable
|
|
7
|
+
from typing import TYPE_CHECKING, Any, Callable, cast
|
|
8
8
|
|
|
9
9
|
import pytest
|
|
10
|
-
from griffe import ModulesCollection, temporary_visited_module
|
|
10
|
+
from griffe import Alias, ModulesCollection, Object, temporary_visited_module
|
|
11
11
|
|
|
12
12
|
from mkdocstrings_handlers.python._internal import rendering
|
|
13
13
|
|
|
@@ -78,7 +78,7 @@ def test_filter_objects(names: list[str], filter_params: dict[str, Any], expecte
|
|
|
78
78
|
expected_names: Names expected to be kept.
|
|
79
79
|
"""
|
|
80
80
|
objects = {name: _FakeObject(name) for name in names}
|
|
81
|
-
filtered = rendering.do_filter_objects(objects, **filter_params)
|
|
81
|
+
filtered = rendering.do_filter_objects(cast("dict[str, Object | Alias]", objects), **filter_params)
|
|
82
82
|
filtered_names = {obj.name for obj in filtered}
|
|
83
83
|
assert set(filtered_names) == set(expected_names)
|
|
84
84
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|