"""modules for backward compatibility """ import sys from typing import TYPE_CHECKING, Any, Dict if TYPE_CHECKING: from sphinx.application import Sphinx def register_application_for_autosummary(app: "Sphinx") -> None: """Register application object to autosummary module. Since Sphinx-1.7, documenters and attrgetters are registered into application object. As a result, the arguments of ``get_documenter()`` has been changed. To keep compatibility, this handler registers application object to the module. """ if 'sphinx.ext.autosummary' in sys.modules: from sphinx.ext import autosummary if hasattr(autosummary, '_objects'): autosummary._objects['_app'] = app # type: ignore else: autosummary._app = app # type: ignore def setup(app: "Sphinx") -> Dict[str, Any]: app.connect('builder-inited', register_application_for_autosummary, priority=100) return { 'version': 'builtin', 'parallel_read_safe': True, 'parallel_write_safe': True, }