code: def relpath(path, start=None):
      """Return a relative version of a path"""
  
      if not path:
          raise ValueError("no path specified")
  
      path = os.fspath(path)
      if isinstance(path, bytes):
          curdir = b"."
          sep = b"/"
          pardir = b".."
      else:
          curdir = "."
          sep = "/"
          pardir = ".."
  
      if start is None:
          start = curdir
      else:
          start = os.fspath(start)
  
      try:
          start_list = [x for x in abspath(start).split(sep) if x]
          path_list = [x for x in abspath(path).split(sep) if x]
          # Work out how much of the filepath is shared by start and path.
          i = len(commonprefix([start_list, path_list]))
  
          rel_list = [pardir] * (len(start_list) - i) + path_list[i:]
          if not rel_list:
              return curdir
          return join(*rel_list)
      except (
          TypeError,
          AttributeError,
          BytesWarning,
          DeprecationWarning,
      ):
          genericpath._check_arg_types("relpath", path, start)
          raise
  
imports: import os
  import sys
  import stat
  import genericpath
  from genericpath import *
label_desc: Use image node_id 18 for calling a global function with example usage: relpath(path, start) and returns: join, curdir