code: def __getattr__(name):
      """Fetch an attribute ``name`` from ``globals()`` and warn if it's from a deprecated module.
  
      Note that ``__getattr__()`` only gets called when ``name`` is missing
      from the module's globals. The trick is that we want to import this
      function into other deprecated modules, and we want to carry this
      subpackage's globals along to prevent some spurious warnings.
  
      Raises
      ------
      AttributeError
          If the attribute is not found in ``globals()`` and also could not be
          imported from the modules in ``_MODULES``.
  
      Warns
      -----
      PyVistaDeprecationWarning
          If the attribute has been found via importing from the modules in
          ``_MODULES``, as this implies that the feature has been moved from
          ``pyvista.utilities``.
  
      """
      from pyvista.core.errors import PyVistaDeprecationWarning
  
      for module in _MODULES:
          feature, import_path = _try_import(module, name)
          if feature is not None:
              break
      else:
          raise AttributeError(
              f"Module `pyvista.errors` has been deprecated and we could not automatically find `{name}`. This feature has moved."
          ) from None  # pragma: no cover
  
      message = f"The `pyvista.errors` module has been deprecated. `{name}` is now imported as: `{import_path}`."
  
      warnings.warn(
          message,
          PyVistaDeprecationWarning,
      )
  
      return feature
  
imports: import importlib
  import inspect
  import warnings
label_desc: Use image node_id 2 for calling a global function with example usage: __getattr__(name) and returns: feature