code: def linkcode_resolve(domain, info):
      if domain != "py" or not info["module"]:
          return None
  
      # Import the object from module path
      obj = _import_object_from_name(info["module"], info["fullname"])
  
      # If it's not defined in the internal module, return None.
      mod = inspect.getmodule(obj)
  
      if mod is None:
          return None
      if not mod.__name__.split(".")[0] in _top_modules:
          return None
  
      # Get the source file name and line number at which obj is defined.
      try:
          filename = inspect.getsourcefile(obj)
      except TypeError:
          # obj is not a module, class, function, ..etc.
          return None
      except AttributeError:
          return None
      # inspect can return None for cython objects
      if filename is None:
          return None
  
      # Get the source line number
      _, linenum = inspect.getsourcelines(obj)
      assert isinstance(linenum, int)
  
      filename = os.path.realpath(filename)
      relpath = _get_source_relative_path(filename)
      return f"https://github.com/deepchecks/deepchecks/blob/{tag}/{relpath}#L{linenum}"
  
imports: import functools
  import inspect
  import os
  import pathlib
  import sys
  import typing
  import re
  from subprocess import check_output
  import plotly.io
  from plotly.io._sg_scraper import plotly_sg_scraper
  import deepchecks
  from deepchecks import vision
  from deepchecks.utils.strings import to_snake_case
label_desc: Use image node_id 6 for calling a global function with example usage: linkcode_resolve(domain, info) and returns: str, tag, str, relpath, str, linenum, None, None, None, None, None, None