Base for Everything#

To use the API, the Client class defines a high-level interface which handles authorization and creating other objects:

from gcloud.bigtable.client import Client
client = Client()

Long-lived Defaults#

When creating a Client, the user_agent and timeout_seconds arguments have sensible defaults (DEFAULT_USER_AGENT and DEFAULT_TIMEOUT_SECONDS). However, you may over-ride them and these will be used throughout all API requests made with the client you create.


  • For an overview of authentication in gcloud-python, see Authentication.

  • In addition to any authentication configuration, you can also set the GCLOUD_PROJECT environment variable for the project you’d like to interact with. If you are Google App Engine or Google Compute Engine this will be detected automatically. (Setting this environment variable is not required, you may instead pass the project explicitly when constructing a Client).

  • After configuring your environment, create a Client

    >>> from gcloud import bigtable
    >>> client = bigtable.Client()

    or pass in credentials and project explicitly

    >>> from gcloud import bigtable
    >>> client = bigtable.Client(project='my-project', credentials=creds)


Be sure to use the Project ID, not the Project Number.

Admin API Access#

If you’ll be using your client to make Cluster Admin and Table Admin API requests, you’ll need to pass the admin argument:

client = bigtable.Client(admin=True)

Read-Only Mode#

If on the other hand, you only have (or want) read access to the data, you can pass the read_only argument:

client = bigtable.Client(read_only=True)

This will ensure that the READ_ONLY_SCOPE is used for API requests (so any accidental requests that would modify data will fail).

Next Step#

After a Client, the next highest-level object is a Cluster. You’ll need one before you can interact with tables or data.

Head next to learn about the Cluster Admin API.