code: def setup(app: Sphinx) -> dict[str, Any]:
      """Sphinx extension setup function.
  
      When the extension is loaded, Sphinx imports this module and executes
      the ``setup()`` function, which in turn notifies Sphinx of everything
      the extension offers.
  
      Parameters
      ----------
      app : sphinx.application.Sphinx
          Application object representing the Sphinx process
  
      See Also
      --------
      `The Sphinx documentation on Extensions
      <https://www.sphinx-doc.org/extensions.html>`_
  
      `The Extension Tutorial <https://www.sphinx-doc.org/extdev/tutorial.html>`_
  
      `The Extension API <https://www.sphinx-doc.org/extdev/appapi.html>`_
  
      """
      if not isinstance(app, Sphinx):
          # probably called by tests
          return {
              "version": sphinx.__display_version__,
              "parallel_read_safe": True,
          }
  
      _patch_python_domain()
  
      app.setup_extension("sphinx.ext.autodoc")
      app.connect("autodoc-process-docstring", _process_docstring)
      app.connect("autodoc-skip-member", _skip_member)
  
      for name, (default, rebuild) in Config._config_values.items():
          app.add_config_value(name, default, rebuild)
      return {
          "version": sphinx.__display_version__,
          "parallel_read_safe": True,
      }
  
file_path: sphinx/sphinx/ext/napoleon/__init__.py
imports: from __future__ import annotations
  from typing import TYPE_CHECKING, Any
  import sphinx
  from sphinx.application import Sphinx
  from sphinx.ext.napoleon.docstring import GoogleDocstring, NumpyDocstring
  from sphinx.util import inspect
label_desc: Use image node_id 1 for calling a global function with example usage: setup(app) and returns: dict, dict