docs: def _discover_import(self, prefer=None):
          """ Discovers and imports the best available module from ``packages``.
  
          :raises ModuleNotFoundError: If no module is available
          :return: The name of the module to use
          :rtype: str
          """
  
          available_packages = self.packages
          if isinstance(prefer, str):
              available_packages = (prefer,)
  
          for module_name in available_packages:
              spec = importlib.util.find_spec(module_name)
              if spec is not None:
                  importlib.import_module(module_name)
                  imported_hook = getattr(self, f"on_{module_name}_imported", None)
                  if callable(imported_hook):
                      imported_hook(sys.modules[module_name])
                  return module_name
          raise ModuleNotFoundError(f"no modules in {available_packages!r} found")