code: def ensure_path(path):
      # type: (Union[vistir.compat.Path, str]) -> vistir.compat.Path
      
  
      if isinstance(path, vistir.compat.Path):
          return path
      path = vistir.compat.Path(os.path.expandvars(path))
      return path.absolute()
docs: Given a path (either a string or a Path object), expand variables and return a Path object.
  
      :param path: A string or a :class:`~pathlib.Path` object.
      :type path: str or :class:`~pathlib.Path`
      :return: A fully expanded Path object.
      :rtype: :class:`~pathlib.Path`