Base Client#

Base classes for client used to interact with Google Cloud APIs.

class google.cloud.client.Client(credentials=None, _http=None)[source]#

Bases: google.cloud.client._ClientFactoryMixin

Client to bundle configuration needed for API requests.

Stores credentials and an HTTP object so that subclasses can pass them along to a connection class.

If no value is passed in for _http, a requests.Session object will be created and authorized with the credentials. If not, the credentials and _http need not be related.

Callers and subclasses may seek to use the private key from credentials to sign data.

Parameters
  • credentials (google.auth.credentials.Credentials) – (Optional) The OAuth2 Credentials to use for this client. If not passed (and if no _http object is passed), falls back to the default inferred from the environment.

  • _http (requests.Session) – (Optional) HTTP object to make requests. Can be any object that defines request() with the same interface as requests.Session.request(). If not passed, an _http object is created that is bound to the credentials for the current object. This parameter should be considered private, and could change in the future.

Raises

google.auth.exceptions.DefaultCredentialsError – Raised if credentials is not specified and the library fails to acquire default credentials.

SCOPE = None#

The scopes required for authenticating with a service.

Needs to be set by subclasses.

class google.cloud.client.ClientWithProject(project=None, credentials=None, _http=None)[source]#

Bases: google.cloud.client.Client, google.cloud.client._ClientProjectMixin

Client that also stores a project.

Parameters
  • project (str) – the project which the client acts on behalf of. If not passed falls back to the default inferred from the environment.

  • credentials (Credentials) – (Optional) The OAuth2 Credentials to use for this client. If not passed (and if no _http object is passed), falls back to the default inferred from the environment.

  • _http (Session) – (Optional) HTTP object to make requests. Can be any object that defines request() with the same interface as request(). If not passed, an _http object is created that is bound to the credentials for the current object. This parameter should be considered private, and could change in the future.

Raises

ValueError if the project is neither passed in nor set in the environment.