As of January 1, 2020 this library no longer supports Python 2 on the latest released version. Library versions released prior to that date will continue to be available. For more information please visit Python 2 support on Google Cloud.

Python Client for BigQuery Data Transfer API

GA pypi versions

The BigQuery Data Transfer API allows users to transfer data from partner SaaS applications to Google BigQuery on a scheduled, managed basis.

Quick Start

In order to use this library, you first need to go through the following steps:

  1. Select or create a Cloud Platform project.

  2. Enable the BigQuery Data Transfer API.

  3. Setup Authentication.


Install this library in a virtualenv using pip. virtualenv is a tool to create isolated Python environments. The basic problem it addresses is one of dependencies and versions, and indirectly permissions.

With virtualenv, it’s possible to install this library without needing system install permissions, and without clashing with the installed system dependencies.

Supported Python Versions

Python >= 3.6

Deprecated Python Versions

Python == 2.7.

The last version of this library compatible with Python 2.7 is google-cloud-bigquery-datatransfer==1.1.1.


pip install virtualenv
virtualenv <your-env>
source <your-env>/bin/activate
<your-env>/bin/pip install google-cloud-bigquery-datatransfer


pip install virtualenv
virtualenv <your-env>
<your-env>\Scripts\pip.exe install google-cloud-bigquery-datatransfer

Example Usage


from import bigquery_datatransfer_v1

client = bigquery_datatransfer_v1.DataTransferServiceClient()

parent = client.location_path('[PROJECT]', '[LOCATION]')

# Iterate over all results
for element in client.list_data_sources(parent):
    # process element

# Or iterate over results one page at a time
for page in client.list_data_sources(parent).pages:
    for element in page:
        # process element

Next Steps


Because this client uses grpcio library, it is safe to share instances across threads. In multiprocessing scenarios, the best practice is to create client instances after the invocation of os.fork() by multiprocessing.Pool or multiprocessing.Process.

API Reference

Migration Guide

See the guide below for instructions on migrating to the 2.x release of this library.


For a list of all google-cloud-bigquery-bigquery-datatransfer releases: