code: def download_file(self, owner, id, file, **kwargs):
          
          kwargs['_return_http_data_only'] = True
          if kwargs.get('callback'):
              return self.download_file_with_http_info(owner, id, file, **kwargs)
          else:
              (data) = self.download_file_with_http_info(owner, id, file, **kwargs)
              return data
docs: Download file
          This endpoint will return a file within the dataset as originally uploaded.   If you are interested retrieving clean data extracted from those files by data.world, check out `GET:/sql` and `GET:/sparql`.
          This method makes a synchronous HTTP request by default. To make an
          asynchronous HTTP request, please define a `callback` function
          to be invoked when receiving the response.
          >>> def callback_function(response):
          >>>     pprint(response)
          >>>
          >>> thread = api.download_file(owner, id, file, callback=callback_function)
  
          :param callback function: The callback function
              for asynchronous request. (optional)
          :param str owner: User name and unique identifier of the creator of a dataset or project. For example, in the URL: [https://data.world/jonloyens/an-intro-to-dataworld-dataset](https://data.world/jonloyens/an-intro-to-dataworld-dataset), jonloyens is the unique identifier of the owner. (required)
          :param str id: Dataset unique identifier. For example, in the URL:[https://data.world/jonloyens/an-intro-to-dataworld-dataset](https://data.world/jonloyens/an-intro-to-dataworld-dataset), an-intro-to-dataworld-dataset is the unique identifier of the dataset. (required)
          :param str file: (required)
          :return: None
                   If the method is called asynchronously,
                   returns the request thread.