code: def upload_entities_tsv(namespace, workspace, entities_tsv):
      
      if isinstance(entities_tsv, string_types):
          with open(entities_tsv, "r") as tsv:
              entity_data = tsv.read()
      elif isinstance(entities_tsv, io.StringIO):
          entity_data = entities_tsv.getvalue()
      else:
          raise ValueError('Unsupported input type.')
      return upload_entities(namespace, workspace, entity_data)
docs: Upload entities from a tsv loadfile.
  
      File-based wrapper for api.upload_entities().
      A loadfile is a tab-separated text file with a header row
      describing entity type and attribute names, followed by
      rows of entities and their attribute values.
  
          Ex:
              entity:participant_id   age   alive
              participant_23           25       Y
              participant_27           35       N
  
      Args:
          namespace (str): project to which workspace belongs
          workspace (str): Workspace name
          entities_tsv (file): FireCloud loadfile, see format above