code: def setup(app):
      app.add_directive("offlineviewer", OfflineViewerDirective)
  
      return {
          "version": "0.1",
          "parallel_read_safe": True,
          "parallel_write_safe": True,
      }
  
file_path: pyvista/pyvista/ext/viewer_directive.py
imports: import os
  import pathlib
  import shutil
  import sys
  from docutils import nodes
  from docutils.parsers.rst import Directive
  from docutils.utils import relative_path
  from sphinx.util import logging
  from trame_vtk.tools.vtksz2html import HTML_VIEWER_PATH
label_desc: Use image node_id 2 for calling a global function with example usage: setup(app) and returns: dict