1# -*- coding: utf-8 -*-
2
3# Copyright 2019 Google LLC
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17
18
19"""Python idiomatic client for Google Cloud Firestore."""
20
21
22from google.cloud.firestore_v1 import gapic_version as package_version
23
24__version__: str = package_version.__version__
25
26from typing import List
27
28from google.cloud.firestore_v1 import types
29from google.cloud.firestore_v1._helpers import (
30 ExistsOption,
31 GeoPoint,
32 LastUpdateOption,
33 ReadAfterWriteError,
34 WriteOption,
35)
36from google.cloud.firestore_v1.async_batch import AsyncWriteBatch
37from google.cloud.firestore_v1.async_client import AsyncClient
38from google.cloud.firestore_v1.async_collection import AsyncCollectionReference
39from google.cloud.firestore_v1.async_document import AsyncDocumentReference
40from google.cloud.firestore_v1.async_query import AsyncQuery
41from google.cloud.firestore_v1.async_transaction import (
42 AsyncTransaction,
43 async_transactional,
44)
45from google.cloud.firestore_v1.base_aggregation import CountAggregation
46from google.cloud.firestore_v1.base_document import DocumentSnapshot
47from google.cloud.firestore_v1.base_query import And, FieldFilter, Or
48from google.cloud.firestore_v1.batch import WriteBatch
49from google.cloud.firestore_v1.client import Client
50from google.cloud.firestore_v1.collection import CollectionReference
51from google.cloud.firestore_v1.document import DocumentReference
52from google.cloud.firestore_v1.query import CollectionGroup, Query
53from google.cloud.firestore_v1.query_profile import ExplainOptions
54from google.cloud.firestore_v1.transaction import Transaction, transactional
55from google.cloud.firestore_v1.transforms import (
56 DELETE_FIELD,
57 SERVER_TIMESTAMP,
58 ArrayRemove,
59 ArrayUnion,
60 Increment,
61 Maximum,
62 Minimum,
63)
64from google.cloud.firestore_v1.watch import Watch
65
66# TODO(https://github.com/googleapis/python-firestore/issues/93): this is all on the generated surface. We require this to match
67# firestore.py. So comment out until needed on customer level for certain.
68# from .services.firestore import FirestoreClient
69# from .types.common import DocumentMask
70# from .types.common import Precondition
71# from .types.common import TransactionOptions
72# from .types.document import ArrayValue
73# from .types.document import Document
74# from .types.document import MapValue
75# from .types.document import Value
76# from .types.firestore import BatchGetDocumentsRequest
77# from .types.firestore import BatchGetDocumentsResponse
78# from .types.firestore import BatchWriteRequest
79# from .types.firestore import BatchWriteResponse
80# from .types.firestore import BeginTransactionRequest
81# from .types.firestore import BeginTransactionResponse
82# from .types.firestore import CommitRequest
83# from .types.firestore import CommitResponse
84# from .types.firestore import CreateDocumentRequest
85# from .types.firestore import DeleteDocumentRequest
86# from .types.firestore import GetDocumentRequest
87# from .types.firestore import ListCollectionIdsRequest
88# from .types.firestore import ListCollectionIdsResponse
89# from .types.firestore import ListDocumentsRequest
90# from .types.firestore import ListDocumentsResponse
91# from .types.firestore import ListenRequest
92# from .types.firestore import ListenResponse
93# from .types.firestore import PartitionQueryRequest
94# from .types.firestore import PartitionQueryResponse
95# from .types.firestore import RollbackRequest
96# from .types.firestore import RunQueryRequest
97# from .types.firestore import RunQueryResponse
98# from .types.firestore import Target
99# from .types.firestore import TargetChange
100# from .types.firestore import UpdateDocumentRequest
101# from .types.firestore import WriteRequest
102# from .types.firestore import WriteResponse
103# from .types.query import Cursor
104# from .types.query import StructuredQuery
105# from .types.write import DocumentChange
106# from .types.write import DocumentDelete
107# from .types.write import DocumentRemove
108from .types.write import DocumentTransform
109
110# from .types.write import ExistenceFilter
111# from .types.write import Write
112# from .types.write import WriteResult
113
114__all__: List[str] = [
115 "__version__",
116 "And",
117 "ArrayRemove",
118 "ArrayUnion",
119 "AsyncClient",
120 "AsyncCollectionReference",
121 "AsyncDocumentReference",
122 "AsyncQuery",
123 "async_transactional",
124 "AsyncTransaction",
125 "AsyncWriteBatch",
126 "Client",
127 "CountAggregation",
128 "CollectionGroup",
129 "CollectionReference",
130 "DELETE_FIELD",
131 "DocumentReference",
132 "DocumentSnapshot",
133 "DocumentTransform",
134 "ExistsOption",
135 "ExplainOptions",
136 "FieldFilter",
137 "GeoPoint",
138 "Increment",
139 "LastUpdateOption",
140 "Maximum",
141 "Minimum",
142 "Or",
143 "Query",
144 "ReadAfterWriteError",
145 "SERVER_TIMESTAMP",
146 "Transaction",
147 "transactional",
148 "types",
149 "Watch",
150 "WriteBatch",
151 "WriteOption",
152]