class_docstr: `pathlib.Path` like object for manipulating Github paths.
  
  Example:
  
  ```
  path = GithubPath.from_repo('tensorflow/datasets')
  path = path / 'docs' / 'catalog'
  assert path.is_dir()
  datasets = [
      p.name for p in path.iterdir() if p.match('*.md')
  ]
  
  path = GithubPath('github://tensorflow/datasets/tree/master/docs/README.md')
  assert path.subpath == 'docs/README.md'
  assert path.repo == 'tensorflow/datasets'
  assert path.branch == 'master'
  ```
class_docstr_tok: ["`","pathlib.Path","`","like","object","for","manipulating","Github","paths",".","Example",":","``","`","path","=","GithubPath.from_repo","(","'tensorflow\/datasets","'",")","path","=","path","\/","'docs","'","\/","'catalog'","assert","path.is_dir","(",")","datasets","=","[","p.name","for","p","in","path.iterdir","(",")","if","p.match","(","'","*",".md","'",")","]","path","=","GithubPath","(","'github",":","\/\/tensorflow\/datasets\/tree\/master\/docs\/README.md","'",")","assert","path.subpath","==","'docs\/README.md'","assert","path.repo","==","'tensorflow\/datasets'","assert","path.branch","==","'master'","``","`"]
docstr: Copy the current file to the given destination.
  
  Args:
    dst: Target file. It can be any PathLike compatible path (e.g. `gs://...`)
    overwrite: Whether the file should be overwritten or not
  
  Returns:
    The new created file.
  
  Raises:
    FileExistsError: If `overwrite` is false and destination exists.
docstr_tok: ["Copy","the","current","file","to","the","given","destination",".","Args",":","dst",":","Target","file",".","It","can","be","any","PathLike","compatible","path","(","e.g",".","`","gs",":","\/\/","...","`",")","overwrite",":","Whether","the","file","should","be","overwritten","or","not","Returns",":","The","new","created","file",".","Raises",":","FileExistsError",":","If","`","overwrite","`","is","false","and","destination","exists","."]
code: def copy(
      self,
      dst: epath.PathLike,
      overwrite: bool = False,
  ) -> epath.Path:
      """Copy the current file to the given destination.
  
      Args:
        dst: Target file. It can be any PathLike compatible path (e.g. `gs://...`)
        overwrite: Whether the file should be overwritten or not
  
      Returns:
        The new created file.
  
      Raises:
        FileExistsError: If `overwrite` is false and destination exists.
      """
      dst = epath.Path(dst)
      if not overwrite and dst.exists():
          raise FileExistsError(
              f"Cannot copy {self}. Destination {dst} exists."
          )
      # Otherwise, copy src to dst
      dst.write_bytes(self.read_bytes())
      return dst
  
imports: import dataclasses
  import functools
  import os
  import pathlib
  import posixpath
  from typing import Iterator, Mapping, MutableMapping, Optional, Set, Tuple
  from etils import epath
  import requests
  from tensorflow_datasets.core import utils
label_desc: Use image node_id 19 for calling the GithubPath obj's underlying member method code with example usage: obj.copy(dst, overwrite) and returns: dst