docs: def linkcode_resolve(domain, info):
      """Determine the URL corresponding to Python object on GitHub
      
      This code is derived from the version used by `Numpy
      <https://github.com/numpy/numpy/blob/v1.9.2/doc/source/conf.py#L286>`_.
      """
      # Only link to Python source
      if domain != 'py':
          return None
  
      # Get a reference to the object in question
      modname = info['module']
      fullname = info['fullname']
  
      submod = sys.modules.get(modname)
      if submod is None:
          return None
  
      obj = submod
      for part in fullname.split('.'):
          try:
              obj = getattr(obj, part)
          except:
              return None
  
      # Find the file which contains the object
      try:
          file_name = inspect.getsourcefile(obj)
      except:
          file_name = None
      if not file_name:
          return None
  
      # Convert the filename into a path relative to the rig module top-level
      file_name = os.path.relpath(file_name, start=os.path.dirname(local_module_path))
  
      # Get the line number range that object lives on
      try:
          source, lineno = inspect.getsourcelines(obj)
      except:
          lineno = None
      if lineno:
          linespec = "#L{}-L{}".format(lineno,
                                       lineno + len(source) - 1)
      else:
          linespec = ""
      
      # Generate a link to the code in the official GitHub repository with the
      # current-version's tag.
      return ("https://github.com/{repo}/blob/v{version}/"
              "{module_path}{file_name}{linespec}".format(repo=github_repo,
                                                          version=version,
                                                          module_path=github_module_path,
                                                          file_name=file_name,
                                                          linespec=linespec))