code: def find_spec(
      self,
      fullname: str,
      path: Optional[str] = None,
      target: Any = None,
  ) -> Any:
      # Since Python 3.4, you are meant to implement find_spec() method
      # instead of find_module() and since Python 3.10 you get deprecation
      # warnings if you don't define find_spec().
  
      # If the module being imported is not one we have registered
      # post import hooks for, we can return immediately. We will
      # take no further part in the importing of this module.
  
      with _post_import_hooks_lock:
          if fullname not in _post_import_hooks:
              return None
  
      # When we are interested in a specific module, we will call back
      # into the import system a second time to defer to the import
      # finder that is supposed to handle the importing of the module.
      # We set an in progress flag for the target module so that on
      # the second time through we don't trigger another call back
      # into the import system and cause a infinite loop.
  
      if fullname in self.in_progress:
          return None
  
      self.in_progress[fullname] = True
  
      # Now call back into the import system again.
  
      try:
          # This should only be Python 3 so find_spec() should always
          # exist so don't need to check.
          spec = find_spec(fullname)
          loader = getattr(spec, "loader", None)
  
          if loader and not isinstance(
              loader, _ImportHookChainedLoader
          ):
              assert spec is not None
              spec.loader = _ImportHookChainedLoader(loader)  # type: ignore
  
          return spec
  
      finally:
          del self.in_progress[fullname]
  
file_path: wandb/wandb/sdk/lib/import_hooks.py
imports: import sys
  import threading
  from importlib.util import find_spec
  from typing import Any, Callable, Dict, Optional, Union
label_desc: Use image node_id 3 for calling the ImportHookFinder obj's underlying member method code with example usage: obj.find_spec(fullname, path, target) and returns: None, spec, None