code: def blobs(self, repository_ids=[], reference_names=[], commit_hashes=[]):
          
          if not isinstance(repository_ids, list):
              raise Exception("repository_ids must be a list")
  
          if not isinstance(reference_names, list):
              raise Exception("reference_names must be a list")
  
          if not isinstance(commit_hashes, list):
              raise Exception("commit_hashes must be a list")
  
          return BlobsDataFrame(self.__engine.getBlobs(repository_ids,
                                                    reference_names,
                                                    commit_hashes),
                                self.session,
                                self.__implicits)
docs: Retrieves the blobs of a list of repositories, reference names and commit hashes.
          So the result will be a DataFrame of all the blobs in the given commits that are
          in the given references that belong to the given repositories.
  
          >>> blobs_df = engine.blobs(repo_ids, ref_names, hashes)
  
          Calling this function with no arguments is the same as:
  
          >>> engine.repositories.references.commits.tree_entries.blobs
  
          :param repository_ids: list of repository ids to filter by (optional)
          :type repository_ids: list of strings
          :param reference_names: list of reference names to filter by (optional)
          :type reference_names: list of strings
          :param commit_hashes: list of hashes to filter by (optional)
          :type commit_hashes: list of strings
          :rtype: BlobsDataFrame