Class BaseClient (2.6.0)

BaseClient(project=None, credentials=None, database='(default)', client_info=<google.api_core.gapic_v1.client_info.ClientInfo object>, client_options=None)

Client for interacting with Google Cloud Firestore API.


project Optional[str]

The project which the client acts on behalf of. If not passed, falls back to the default inferred from the environment.

credentials Optional[`google.auth.credentials.Credentials`]

The OAuth2 Credentials to use for this client. If not passed, falls back to the default inferred from the environment.

database Optional[str]

The database name that the client targets. For now, DEFAULT_DATABASE (the default value) is the only valid database.

client_info Optional[google.api_core.gapic_v1.client_info.ClientInfo]

The client info used to send a user-agent string along with API requests. If None, then default info will be used. Generally, you only need to set this if you're developing your own library or partner tool.

client_options Union[dict, google.api_core.client_options.ClientOptions]

Client options used to set user options on the client. API Endpoint should be set through client_options.


builtins.object > > > builtins.object > > > BaseClient



    options: Optional[] = None,

Get a BulkWriter instance from this client.

:class:``A utility to efficiently create and save many `WriteBatch` instances to the server.


field_path(*field_names: str)

Create a field path from a list of nested field names.

A field path is a .-delimited concatenation of the field names. It is used to represent a nested field. For example, in the data

data = {
   'aa': {
       'bb': {
           'cc': 10,

the field path '' represents the data stored in data['aa']['bb']['cc'].

strThe ``.``-delimited field path.



Create a write option for write operations.

Write operations include xref_set, xref_update and xref_delete.

One of the following keyword arguments must be provided:

  • last_update_time (google.protobuf.timestamp_pb2. Timestamp): A timestamp. When set, the target document must exist and have been last updated at that time. Protobuf update_time timestamps are typically returned from methods that perform write operations as part of a "write result" protobuf or directly.
  • exists (bool): Indicates if the document being modified should already exist.

Providing no argument would make the option have no effect (so it is not allowed). Providing multiple would be an apparent contradiction, since last_update_time assumes that the document was updated (it can't have been updated if it doesn't exist) and exists indicate that it is unknown if the document exists or not.

kwargs Dict[str, Any]

The keyword arguments described above.

TypeErrorIf anything other than exactly one argument is provided by the caller.
WriteOptionThe option to be used to configure a write message.