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.