docs: def get_system_data() -> typing.Union[None, dict]:
      """
      Returns information about the system in which Cauldron is running.
      If the information cannot be found, None is returned instead.
  
      :return:
          Dictionary containing information about the Cauldron system, whic
          includes:
           * name
           * location
           * version
      """
  
      site_packages = get_site_packages()
      path_prefixes = [('[SP]', p) for p in site_packages]
      path_prefixes.append(('[CORE]', sys.exec_prefix))
  
      packages = [
          module_to_package_data(name, entry, path_prefixes)
          for name, entry in list(sys.modules.items())
      ]
  
      python_data = dict(
          version=list(sys.version_info),
          executable=simplify_path(sys.executable),
          directory=simplify_path(sys.exec_prefix),
          site_packages=[simplify_path(sp) for sp in site_packages]
      )
  
      return dict(
          python=python_data,
          packages=[p for p in packages if p is not None]
      )