code: def module_property(func: Any) -> None:
      """Decorator to turn module functions into properties.
      Function names must be prefixed with an underscore."""
      module = sys.modules[func.__module__]
  
      def base_getattr(name: str) -> None:
          raise AttributeError(
              f"module '{module.__name__}' has no attribute '{name}'"
          )
  
      old_getattr = getattr(module, "__getattr__", base_getattr)
  
      def new_getattr(name: str) -> Any:
          if f"_{name}" == func.__name__:
              return func()
          else:
              return old_getattr(name)
  
      module.__getattr__ = new_getattr  # type: ignore
      return func
  
file_path: PySyft/packages/hagrid/hagrid/__init__.py
imports: from .git_check import verify_git_installation
  import sys
  from typing import Any
  from .cli import check_status
  from .quickstart_ui import QuickstartUI
  from .version import __version__
  from .wizard_ui import WizardUI
  from .orchestra import Orchestra
label_desc: Use image node_id 1 for calling a global function with example usage: module_property(func) and returns: func, func, old_getattr