apache-airflow-providers-google 14.0.0__py3-none-any.whl → 19.1.0rc1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. airflow/providers/google/3rd-party-licenses/LICENSES.txt +14 -0
  2. airflow/providers/google/3rd-party-licenses/NOTICE +5 -0
  3. airflow/providers/google/__init__.py +3 -3
  4. airflow/providers/google/_vendor/__init__.py +0 -0
  5. airflow/providers/google/_vendor/json_merge_patch.py +91 -0
  6. airflow/providers/google/ads/hooks/ads.py +52 -43
  7. airflow/providers/google/ads/operators/ads.py +2 -2
  8. airflow/providers/google/ads/transfers/ads_to_gcs.py +3 -19
  9. airflow/providers/google/assets/gcs.py +1 -11
  10. airflow/providers/google/cloud/_internal_client/secret_manager_client.py +3 -2
  11. airflow/providers/google/cloud/bundles/gcs.py +161 -0
  12. airflow/providers/google/cloud/hooks/alloy_db.py +2 -3
  13. airflow/providers/google/cloud/hooks/bigquery.py +195 -318
  14. airflow/providers/google/cloud/hooks/bigquery_dts.py +8 -8
  15. airflow/providers/google/cloud/hooks/bigtable.py +3 -2
  16. airflow/providers/google/cloud/hooks/cloud_batch.py +8 -9
  17. airflow/providers/google/cloud/hooks/cloud_build.py +6 -65
  18. airflow/providers/google/cloud/hooks/cloud_composer.py +292 -24
  19. airflow/providers/google/cloud/hooks/cloud_logging.py +109 -0
  20. airflow/providers/google/cloud/hooks/cloud_memorystore.py +4 -3
  21. airflow/providers/google/cloud/hooks/cloud_run.py +20 -11
  22. airflow/providers/google/cloud/hooks/cloud_sql.py +136 -64
  23. airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py +35 -15
  24. airflow/providers/google/cloud/hooks/compute.py +7 -6
  25. airflow/providers/google/cloud/hooks/compute_ssh.py +7 -4
  26. airflow/providers/google/cloud/hooks/datacatalog.py +12 -3
  27. airflow/providers/google/cloud/hooks/dataflow.py +87 -242
  28. airflow/providers/google/cloud/hooks/dataform.py +9 -14
  29. airflow/providers/google/cloud/hooks/datafusion.py +7 -9
  30. airflow/providers/google/cloud/hooks/dataplex.py +13 -12
  31. airflow/providers/google/cloud/hooks/dataprep.py +2 -2
  32. airflow/providers/google/cloud/hooks/dataproc.py +76 -74
  33. airflow/providers/google/cloud/hooks/dataproc_metastore.py +4 -3
  34. airflow/providers/google/cloud/hooks/dlp.py +5 -4
  35. airflow/providers/google/cloud/hooks/gcs.py +144 -33
  36. airflow/providers/google/cloud/hooks/gen_ai.py +196 -0
  37. airflow/providers/google/cloud/hooks/kms.py +3 -2
  38. airflow/providers/google/cloud/hooks/kubernetes_engine.py +22 -17
  39. airflow/providers/google/cloud/hooks/looker.py +6 -1
  40. airflow/providers/google/cloud/hooks/managed_kafka.py +227 -3
  41. airflow/providers/google/cloud/hooks/mlengine.py +7 -8
  42. airflow/providers/google/cloud/hooks/natural_language.py +3 -2
  43. airflow/providers/google/cloud/hooks/os_login.py +3 -2
  44. airflow/providers/google/cloud/hooks/pubsub.py +6 -6
  45. airflow/providers/google/cloud/hooks/secret_manager.py +105 -12
  46. airflow/providers/google/cloud/hooks/spanner.py +75 -10
  47. airflow/providers/google/cloud/hooks/speech_to_text.py +3 -2
  48. airflow/providers/google/cloud/hooks/stackdriver.py +18 -18
  49. airflow/providers/google/cloud/hooks/tasks.py +4 -3
  50. airflow/providers/google/cloud/hooks/text_to_speech.py +3 -2
  51. airflow/providers/google/cloud/hooks/translate.py +8 -17
  52. airflow/providers/google/cloud/hooks/vertex_ai/auto_ml.py +8 -222
  53. airflow/providers/google/cloud/hooks/vertex_ai/batch_prediction_job.py +9 -15
  54. airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py +33 -283
  55. airflow/providers/google/cloud/hooks/vertex_ai/dataset.py +5 -12
  56. airflow/providers/google/cloud/hooks/vertex_ai/endpoint_service.py +6 -12
  57. airflow/providers/google/cloud/hooks/vertex_ai/experiment_service.py +202 -0
  58. airflow/providers/google/cloud/hooks/vertex_ai/feature_store.py +311 -10
  59. airflow/providers/google/cloud/hooks/vertex_ai/generative_model.py +79 -75
  60. airflow/providers/google/cloud/hooks/vertex_ai/hyperparameter_tuning_job.py +7 -13
  61. airflow/providers/google/cloud/hooks/vertex_ai/model_service.py +8 -12
  62. airflow/providers/google/cloud/hooks/vertex_ai/pipeline_job.py +6 -12
  63. airflow/providers/google/cloud/hooks/vertex_ai/prediction_service.py +3 -2
  64. airflow/providers/google/cloud/hooks/vertex_ai/ray.py +223 -0
  65. airflow/providers/google/cloud/hooks/video_intelligence.py +3 -2
  66. airflow/providers/google/cloud/hooks/vision.py +7 -7
  67. airflow/providers/google/cloud/hooks/workflows.py +4 -3
  68. airflow/providers/google/cloud/links/alloy_db.py +0 -46
  69. airflow/providers/google/cloud/links/base.py +77 -7
  70. airflow/providers/google/cloud/links/bigquery.py +0 -47
  71. airflow/providers/google/cloud/links/bigquery_dts.py +0 -20
  72. airflow/providers/google/cloud/links/bigtable.py +0 -48
  73. airflow/providers/google/cloud/links/cloud_build.py +0 -73
  74. airflow/providers/google/cloud/links/cloud_functions.py +0 -33
  75. airflow/providers/google/cloud/links/cloud_memorystore.py +0 -58
  76. airflow/providers/google/cloud/links/{life_sciences.py → cloud_run.py} +5 -27
  77. airflow/providers/google/cloud/links/cloud_sql.py +0 -33
  78. airflow/providers/google/cloud/links/cloud_storage_transfer.py +17 -46
  79. airflow/providers/google/cloud/links/cloud_tasks.py +7 -26
  80. airflow/providers/google/cloud/links/compute.py +0 -58
  81. airflow/providers/google/cloud/links/data_loss_prevention.py +0 -169
  82. airflow/providers/google/cloud/links/datacatalog.py +23 -54
  83. airflow/providers/google/cloud/links/dataflow.py +0 -34
  84. airflow/providers/google/cloud/links/dataform.py +0 -64
  85. airflow/providers/google/cloud/links/datafusion.py +1 -90
  86. airflow/providers/google/cloud/links/dataplex.py +0 -154
  87. airflow/providers/google/cloud/links/dataprep.py +0 -24
  88. airflow/providers/google/cloud/links/dataproc.py +11 -89
  89. airflow/providers/google/cloud/links/datastore.py +0 -31
  90. airflow/providers/google/cloud/links/kubernetes_engine.py +11 -61
  91. airflow/providers/google/cloud/links/managed_kafka.py +11 -51
  92. airflow/providers/google/cloud/links/mlengine.py +0 -70
  93. airflow/providers/google/cloud/links/pubsub.py +0 -32
  94. airflow/providers/google/cloud/links/spanner.py +0 -33
  95. airflow/providers/google/cloud/links/stackdriver.py +0 -30
  96. airflow/providers/google/cloud/links/translate.py +17 -187
  97. airflow/providers/google/cloud/links/vertex_ai.py +28 -195
  98. airflow/providers/google/cloud/links/workflows.py +0 -52
  99. airflow/providers/google/cloud/log/gcs_task_handler.py +166 -118
  100. airflow/providers/google/cloud/log/stackdriver_task_handler.py +14 -9
  101. airflow/providers/google/cloud/openlineage/CloudStorageTransferJobFacet.json +68 -0
  102. airflow/providers/google/cloud/openlineage/CloudStorageTransferRunFacet.json +60 -0
  103. airflow/providers/google/cloud/openlineage/DataFusionRunFacet.json +32 -0
  104. airflow/providers/google/cloud/openlineage/facets.py +141 -40
  105. airflow/providers/google/cloud/openlineage/mixins.py +14 -13
  106. airflow/providers/google/cloud/openlineage/utils.py +19 -3
  107. airflow/providers/google/cloud/operators/alloy_db.py +76 -61
  108. airflow/providers/google/cloud/operators/bigquery.py +104 -667
  109. airflow/providers/google/cloud/operators/bigquery_dts.py +12 -12
  110. airflow/providers/google/cloud/operators/bigtable.py +38 -7
  111. airflow/providers/google/cloud/operators/cloud_base.py +22 -1
  112. airflow/providers/google/cloud/operators/cloud_batch.py +18 -18
  113. airflow/providers/google/cloud/operators/cloud_build.py +80 -36
  114. airflow/providers/google/cloud/operators/cloud_composer.py +157 -71
  115. airflow/providers/google/cloud/operators/cloud_logging_sink.py +341 -0
  116. airflow/providers/google/cloud/operators/cloud_memorystore.py +74 -46
  117. airflow/providers/google/cloud/operators/cloud_run.py +39 -20
  118. airflow/providers/google/cloud/operators/cloud_sql.py +46 -61
  119. airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py +92 -14
  120. airflow/providers/google/cloud/operators/compute.py +18 -50
  121. airflow/providers/google/cloud/operators/datacatalog.py +167 -29
  122. airflow/providers/google/cloud/operators/dataflow.py +38 -15
  123. airflow/providers/google/cloud/operators/dataform.py +19 -7
  124. airflow/providers/google/cloud/operators/datafusion.py +43 -43
  125. airflow/providers/google/cloud/operators/dataplex.py +212 -126
  126. airflow/providers/google/cloud/operators/dataprep.py +1 -5
  127. airflow/providers/google/cloud/operators/dataproc.py +134 -207
  128. airflow/providers/google/cloud/operators/dataproc_metastore.py +102 -84
  129. airflow/providers/google/cloud/operators/datastore.py +22 -6
  130. airflow/providers/google/cloud/operators/dlp.py +24 -45
  131. airflow/providers/google/cloud/operators/functions.py +21 -14
  132. airflow/providers/google/cloud/operators/gcs.py +15 -12
  133. airflow/providers/google/cloud/operators/gen_ai.py +389 -0
  134. airflow/providers/google/cloud/operators/kubernetes_engine.py +115 -106
  135. airflow/providers/google/cloud/operators/looker.py +1 -1
  136. airflow/providers/google/cloud/operators/managed_kafka.py +362 -40
  137. airflow/providers/google/cloud/operators/natural_language.py +5 -3
  138. airflow/providers/google/cloud/operators/pubsub.py +69 -21
  139. airflow/providers/google/cloud/operators/spanner.py +53 -45
  140. airflow/providers/google/cloud/operators/speech_to_text.py +5 -4
  141. airflow/providers/google/cloud/operators/stackdriver.py +5 -11
  142. airflow/providers/google/cloud/operators/tasks.py +6 -15
  143. airflow/providers/google/cloud/operators/text_to_speech.py +4 -3
  144. airflow/providers/google/cloud/operators/translate.py +46 -20
  145. airflow/providers/google/cloud/operators/translate_speech.py +4 -3
  146. airflow/providers/google/cloud/operators/vertex_ai/auto_ml.py +44 -34
  147. airflow/providers/google/cloud/operators/vertex_ai/batch_prediction_job.py +34 -12
  148. airflow/providers/google/cloud/operators/vertex_ai/custom_job.py +62 -53
  149. airflow/providers/google/cloud/operators/vertex_ai/dataset.py +75 -11
  150. airflow/providers/google/cloud/operators/vertex_ai/endpoint_service.py +48 -12
  151. airflow/providers/google/cloud/operators/vertex_ai/experiment_service.py +435 -0
  152. airflow/providers/google/cloud/operators/vertex_ai/feature_store.py +532 -1
  153. airflow/providers/google/cloud/operators/vertex_ai/generative_model.py +135 -116
  154. airflow/providers/google/cloud/operators/vertex_ai/hyperparameter_tuning_job.py +16 -12
  155. airflow/providers/google/cloud/operators/vertex_ai/model_service.py +62 -14
  156. airflow/providers/google/cloud/operators/vertex_ai/pipeline_job.py +35 -10
  157. airflow/providers/google/cloud/operators/vertex_ai/ray.py +393 -0
  158. airflow/providers/google/cloud/operators/video_intelligence.py +5 -3
  159. airflow/providers/google/cloud/operators/vision.py +7 -5
  160. airflow/providers/google/cloud/operators/workflows.py +24 -19
  161. airflow/providers/google/cloud/secrets/secret_manager.py +2 -1
  162. airflow/providers/google/cloud/sensors/bigquery.py +2 -2
  163. airflow/providers/google/cloud/sensors/bigquery_dts.py +6 -4
  164. airflow/providers/google/cloud/sensors/bigtable.py +14 -6
  165. airflow/providers/google/cloud/sensors/cloud_composer.py +535 -33
  166. airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py +6 -5
  167. airflow/providers/google/cloud/sensors/dataflow.py +27 -10
  168. airflow/providers/google/cloud/sensors/dataform.py +2 -2
  169. airflow/providers/google/cloud/sensors/datafusion.py +4 -4
  170. airflow/providers/google/cloud/sensors/dataplex.py +7 -5
  171. airflow/providers/google/cloud/sensors/dataprep.py +2 -2
  172. airflow/providers/google/cloud/sensors/dataproc.py +10 -9
  173. airflow/providers/google/cloud/sensors/dataproc_metastore.py +4 -3
  174. airflow/providers/google/cloud/sensors/gcs.py +22 -21
  175. airflow/providers/google/cloud/sensors/looker.py +5 -5
  176. airflow/providers/google/cloud/sensors/pubsub.py +20 -20
  177. airflow/providers/google/cloud/sensors/tasks.py +2 -2
  178. airflow/providers/google/cloud/sensors/vertex_ai/feature_store.py +2 -2
  179. airflow/providers/google/cloud/sensors/workflows.py +6 -4
  180. airflow/providers/google/cloud/transfers/adls_to_gcs.py +1 -1
  181. airflow/providers/google/cloud/transfers/azure_blob_to_gcs.py +2 -2
  182. airflow/providers/google/cloud/transfers/azure_fileshare_to_gcs.py +2 -2
  183. airflow/providers/google/cloud/transfers/bigquery_to_bigquery.py +11 -8
  184. airflow/providers/google/cloud/transfers/bigquery_to_gcs.py +14 -13
  185. airflow/providers/google/cloud/transfers/bigquery_to_mssql.py +7 -3
  186. airflow/providers/google/cloud/transfers/bigquery_to_mysql.py +12 -1
  187. airflow/providers/google/cloud/transfers/bigquery_to_postgres.py +24 -10
  188. airflow/providers/google/cloud/transfers/bigquery_to_sql.py +104 -5
  189. airflow/providers/google/cloud/transfers/calendar_to_gcs.py +1 -1
  190. airflow/providers/google/cloud/transfers/cassandra_to_gcs.py +18 -22
  191. airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py +4 -5
  192. airflow/providers/google/cloud/transfers/gcs_to_bigquery.py +45 -38
  193. airflow/providers/google/cloud/transfers/gcs_to_gcs.py +2 -2
  194. airflow/providers/google/cloud/transfers/gcs_to_local.py +5 -3
  195. airflow/providers/google/cloud/transfers/gcs_to_sftp.py +10 -4
  196. airflow/providers/google/cloud/transfers/gdrive_to_gcs.py +6 -2
  197. airflow/providers/google/cloud/transfers/gdrive_to_local.py +2 -2
  198. airflow/providers/google/cloud/transfers/http_to_gcs.py +193 -0
  199. airflow/providers/google/cloud/transfers/local_to_gcs.py +2 -2
  200. airflow/providers/google/cloud/transfers/mssql_to_gcs.py +1 -1
  201. airflow/providers/google/cloud/transfers/oracle_to_gcs.py +36 -11
  202. airflow/providers/google/cloud/transfers/postgres_to_gcs.py +44 -12
  203. airflow/providers/google/cloud/transfers/s3_to_gcs.py +12 -6
  204. airflow/providers/google/cloud/transfers/salesforce_to_gcs.py +2 -2
  205. airflow/providers/google/cloud/transfers/sftp_to_gcs.py +36 -14
  206. airflow/providers/google/cloud/transfers/sheets_to_gcs.py +3 -3
  207. airflow/providers/google/cloud/transfers/sql_to_gcs.py +10 -10
  208. airflow/providers/google/cloud/triggers/bigquery.py +75 -34
  209. airflow/providers/google/cloud/triggers/bigquery_dts.py +2 -1
  210. airflow/providers/google/cloud/triggers/cloud_batch.py +2 -1
  211. airflow/providers/google/cloud/triggers/cloud_build.py +3 -2
  212. airflow/providers/google/cloud/triggers/cloud_composer.py +303 -47
  213. airflow/providers/google/cloud/triggers/cloud_run.py +2 -2
  214. airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py +96 -5
  215. airflow/providers/google/cloud/triggers/dataflow.py +125 -2
  216. airflow/providers/google/cloud/triggers/datafusion.py +1 -1
  217. airflow/providers/google/cloud/triggers/dataplex.py +16 -3
  218. airflow/providers/google/cloud/triggers/dataproc.py +124 -53
  219. airflow/providers/google/cloud/triggers/kubernetes_engine.py +46 -28
  220. airflow/providers/google/cloud/triggers/mlengine.py +1 -1
  221. airflow/providers/google/cloud/triggers/pubsub.py +17 -20
  222. airflow/providers/google/cloud/triggers/vertex_ai.py +8 -7
  223. airflow/providers/google/cloud/utils/bigquery.py +5 -7
  224. airflow/providers/google/cloud/utils/bigquery_get_data.py +1 -1
  225. airflow/providers/google/cloud/utils/credentials_provider.py +4 -3
  226. airflow/providers/google/cloud/utils/dataform.py +1 -1
  227. airflow/providers/google/cloud/utils/external_token_supplier.py +0 -1
  228. airflow/providers/google/cloud/utils/field_validator.py +1 -2
  229. airflow/providers/google/cloud/utils/validators.py +43 -0
  230. airflow/providers/google/common/auth_backend/google_openid.py +26 -9
  231. airflow/providers/google/common/consts.py +2 -1
  232. airflow/providers/google/common/deprecated.py +2 -1
  233. airflow/providers/google/common/hooks/base_google.py +40 -43
  234. airflow/providers/google/common/hooks/operation_helpers.py +78 -0
  235. airflow/providers/google/common/links/storage.py +0 -22
  236. airflow/providers/google/common/utils/get_secret.py +31 -0
  237. airflow/providers/google/common/utils/id_token_credentials.py +4 -5
  238. airflow/providers/google/firebase/operators/firestore.py +2 -2
  239. airflow/providers/google/get_provider_info.py +61 -216
  240. airflow/providers/google/go_module_utils.py +35 -3
  241. airflow/providers/google/leveldb/hooks/leveldb.py +30 -6
  242. airflow/providers/google/leveldb/operators/leveldb.py +2 -2
  243. airflow/providers/google/marketing_platform/hooks/analytics_admin.py +3 -2
  244. airflow/providers/google/marketing_platform/hooks/display_video.py +3 -109
  245. airflow/providers/google/marketing_platform/hooks/search_ads.py +1 -1
  246. airflow/providers/google/marketing_platform/links/analytics_admin.py +4 -5
  247. airflow/providers/google/marketing_platform/operators/analytics_admin.py +7 -6
  248. airflow/providers/google/marketing_platform/operators/campaign_manager.py +5 -5
  249. airflow/providers/google/marketing_platform/operators/display_video.py +28 -489
  250. airflow/providers/google/marketing_platform/operators/search_ads.py +2 -2
  251. airflow/providers/google/marketing_platform/sensors/campaign_manager.py +2 -2
  252. airflow/providers/google/marketing_platform/sensors/display_video.py +4 -64
  253. airflow/providers/google/suite/hooks/calendar.py +1 -1
  254. airflow/providers/google/suite/hooks/drive.py +2 -2
  255. airflow/providers/google/suite/hooks/sheets.py +15 -1
  256. airflow/providers/google/suite/operators/sheets.py +8 -3
  257. airflow/providers/google/suite/sensors/drive.py +2 -2
  258. airflow/providers/google/suite/transfers/gcs_to_gdrive.py +2 -2
  259. airflow/providers/google/suite/transfers/gcs_to_sheets.py +1 -1
  260. airflow/providers/google/suite/transfers/local_to_drive.py +3 -3
  261. airflow/providers/google/suite/transfers/sql_to_sheets.py +5 -4
  262. airflow/providers/google/version_compat.py +15 -1
  263. {apache_airflow_providers_google-14.0.0.dist-info → apache_airflow_providers_google-19.1.0rc1.dist-info}/METADATA +117 -72
  264. apache_airflow_providers_google-19.1.0rc1.dist-info/RECORD +331 -0
  265. {apache_airflow_providers_google-14.0.0.dist-info → apache_airflow_providers_google-19.1.0rc1.dist-info}/WHEEL +1 -1
  266. apache_airflow_providers_google-19.1.0rc1.dist-info/licenses/NOTICE +5 -0
  267. airflow/providers/google/cloud/example_dags/example_cloud_task.py +0 -54
  268. airflow/providers/google/cloud/hooks/automl.py +0 -679
  269. airflow/providers/google/cloud/hooks/life_sciences.py +0 -159
  270. airflow/providers/google/cloud/links/automl.py +0 -193
  271. airflow/providers/google/cloud/operators/automl.py +0 -1360
  272. airflow/providers/google/cloud/operators/life_sciences.py +0 -119
  273. airflow/providers/google/cloud/operators/mlengine.py +0 -1515
  274. airflow/providers/google/cloud/utils/mlengine_operator_utils.py +0 -273
  275. apache_airflow_providers_google-14.0.0.dist-info/RECORD +0 -318
  276. /airflow/providers/google/cloud/{example_dags → bundles}/__init__.py +0 -0
  277. {apache_airflow_providers_google-14.0.0.dist-info → apache_airflow_providers_google-19.1.0rc1.dist-info}/entry_points.txt +0 -0
  278. {airflow/providers/google → apache_airflow_providers_google-19.1.0rc1.dist-info/licenses}/LICENSE +0 -0
@@ -192,9 +192,9 @@ class GoogleDriveHook(GoogleBaseHook):
192
192
  # current_file_id can be file or directory id, Google API treats them the same way.
193
193
  file_info = self._get_file_info(current_file_id)
194
194
  if current_file_id == file_id:
195
- path = f'{file_info["name"]}'
195
+ path = f"{file_info['name']}"
196
196
  else:
197
- path = f'{file_info["name"]}/{path}'
197
+ path = f"{file_info['name']}/{path}"
198
198
 
199
199
  # Google API returns parents array if there is at least one object inside
200
200
  if "parents" in file_info and len(file_info["parents"]) == 1:
@@ -22,6 +22,7 @@ from __future__ import annotations
22
22
  from collections.abc import Sequence
23
23
  from typing import Any
24
24
 
25
+ from google.api_core.client_options import ClientOptions
25
26
  from googleapiclient.discovery import build
26
27
 
27
28
  from airflow.exceptions import AirflowException
@@ -44,6 +45,8 @@ class GSheetsHook(GoogleBaseHook):
44
45
  If set as a sequence, the identities from the list must grant
45
46
  Service Account Token Creator IAM role to the directly preceding identity, with first
46
47
  account from the list granting this role to the originating account.
48
+ :param api_endpoint: Optional. Custom API endpoint, i.e: regional or private endpoint.
49
+ This can be used to target private VPC or restricted access endpoints.
47
50
  """
48
51
 
49
52
  def __init__(
@@ -51,6 +54,7 @@ class GSheetsHook(GoogleBaseHook):
51
54
  gcp_conn_id: str = "google_cloud_default",
52
55
  api_version: str = "v4",
53
56
  impersonation_chain: str | Sequence[str] | None = None,
57
+ api_endpoint: str | None = None,
54
58
  ) -> None:
55
59
  super().__init__(
56
60
  gcp_conn_id=gcp_conn_id,
@@ -58,6 +62,7 @@ class GSheetsHook(GoogleBaseHook):
58
62
  )
59
63
  self.gcp_conn_id = gcp_conn_id
60
64
  self.api_version = api_version
65
+ self.api_endpoint = api_endpoint
61
66
  self._conn = None
62
67
 
63
68
  def get_conn(self) -> Any:
@@ -68,7 +73,16 @@ class GSheetsHook(GoogleBaseHook):
68
73
  """
69
74
  if not self._conn:
70
75
  http_authorized = self._authorize()
71
- self._conn = build("sheets", self.api_version, http=http_authorized, cache_discovery=False)
76
+ client_options = None
77
+ if self.api_endpoint:
78
+ client_options = ClientOptions(api_endpoint=self.api_endpoint)
79
+ self._conn = build(
80
+ "sheets",
81
+ self.api_version,
82
+ http=http_authorized,
83
+ cache_discovery=False,
84
+ client_options=client_options,
85
+ )
72
86
 
73
87
  return self._conn
74
88
 
@@ -19,8 +19,8 @@ from __future__ import annotations
19
19
  from collections.abc import Sequence
20
20
  from typing import Any
21
21
 
22
- from airflow.models import BaseOperator
23
22
  from airflow.providers.google.suite.hooks.sheets import GSheetsHook
23
+ from airflow.providers.google.version_compat import BaseOperator
24
24
 
25
25
 
26
26
  class GoogleSheetsCreateSpreadsheetOperator(BaseOperator):
@@ -42,6 +42,8 @@ class GoogleSheetsCreateSpreadsheetOperator(BaseOperator):
42
42
  If set as a sequence, the identities from the list must grant
43
43
  Service Account Token Creator IAM role to the directly preceding identity, with first
44
44
  account from the list granting this role to the originating account (templated).
45
+ :param api_endpoint: Optional. Custom API endpoint, e.g: private.googleapis.com.
46
+ This can be used to target private VPC or restricted access endpoints.
45
47
  """
46
48
 
47
49
  template_fields: Sequence[str] = (
@@ -55,19 +57,22 @@ class GoogleSheetsCreateSpreadsheetOperator(BaseOperator):
55
57
  spreadsheet: dict[str, Any],
56
58
  gcp_conn_id: str = "google_cloud_default",
57
59
  impersonation_chain: str | Sequence[str] | None = None,
60
+ api_endpoint: str | None = None,
58
61
  **kwargs,
59
62
  ) -> None:
60
63
  super().__init__(**kwargs)
61
64
  self.gcp_conn_id = gcp_conn_id
62
65
  self.spreadsheet = spreadsheet
63
66
  self.impersonation_chain = impersonation_chain
67
+ self.api_endpoint = api_endpoint
64
68
 
65
69
  def execute(self, context: Any) -> dict[str, Any]:
66
70
  hook = GSheetsHook(
67
71
  gcp_conn_id=self.gcp_conn_id,
68
72
  impersonation_chain=self.impersonation_chain,
73
+ api_endpoint=self.api_endpoint,
69
74
  )
70
75
  spreadsheet = hook.create_spreadsheet(spreadsheet=self.spreadsheet)
71
- self.xcom_push(context, "spreadsheet_id", spreadsheet["spreadsheetId"])
72
- self.xcom_push(context, "spreadsheet_url", spreadsheet["spreadsheetUrl"])
76
+ context["task_instance"].xcom_push(key="spreadsheet_id", value=spreadsheet["spreadsheetId"])
77
+ context["task_instance"].xcom_push(key="spreadsheet_url", value=spreadsheet["spreadsheetUrl"])
73
78
  return spreadsheet
@@ -22,11 +22,11 @@ from __future__ import annotations
22
22
  from collections.abc import Sequence
23
23
  from typing import TYPE_CHECKING
24
24
 
25
+ from airflow.providers.common.compat.sdk import BaseSensorOperator
25
26
  from airflow.providers.google.suite.hooks.drive import GoogleDriveHook
26
- from airflow.sensors.base import BaseSensorOperator
27
27
 
28
28
  if TYPE_CHECKING:
29
- from airflow.utils.context import Context
29
+ from airflow.providers.common.compat.sdk import Context
30
30
 
31
31
 
32
32
  class GoogleDriveFileExistenceSensor(BaseSensorOperator):
@@ -24,12 +24,12 @@ from collections.abc import Sequence
24
24
  from typing import TYPE_CHECKING
25
25
 
26
26
  from airflow.exceptions import AirflowException
27
- from airflow.models import BaseOperator
28
27
  from airflow.providers.google.cloud.hooks.gcs import GCSHook
29
28
  from airflow.providers.google.suite.hooks.drive import GoogleDriveHook
29
+ from airflow.providers.google.version_compat import BaseOperator
30
30
 
31
31
  if TYPE_CHECKING:
32
- from airflow.utils.context import Context
32
+ from airflow.providers.common.compat.sdk import Context
33
33
 
34
34
 
35
35
  WILDCARD = "*"
@@ -21,9 +21,9 @@ from collections.abc import Sequence
21
21
  from tempfile import NamedTemporaryFile
22
22
  from typing import Any
23
23
 
24
- from airflow.models import BaseOperator
25
24
  from airflow.providers.google.cloud.hooks.gcs import GCSHook
26
25
  from airflow.providers.google.suite.hooks.sheets import GSheetsHook
26
+ from airflow.providers.google.version_compat import BaseOperator
27
27
 
28
28
 
29
29
  class GCSToGoogleSheetsOperator(BaseOperator):
@@ -23,12 +23,12 @@ from collections.abc import Sequence
23
23
  from pathlib import Path
24
24
  from typing import TYPE_CHECKING
25
25
 
26
- from airflow.exceptions import AirflowFailException
27
- from airflow.models import BaseOperator
26
+ from airflow.providers.common.compat.sdk import AirflowFailException
28
27
  from airflow.providers.google.suite.hooks.drive import GoogleDriveHook
28
+ from airflow.providers.google.version_compat import BaseOperator
29
29
 
30
30
  if TYPE_CHECKING:
31
- from airflow.utils.context import Context
31
+ from airflow.providers.common.compat.sdk import Context
32
32
 
33
33
 
34
34
  class LocalFilesystemToGoogleDriveOperator(BaseOperator):
@@ -89,12 +89,13 @@ class SQLToGoogleSheetsOperator(BaseSQLOperator):
89
89
  item_list = []
90
90
  for item in row:
91
91
  if isinstance(item, (datetime.date, datetime.datetime)):
92
- item = item.isoformat()
92
+ item_list.append(item.isoformat())
93
93
  elif isinstance(item, int): # To exclude int from the number check.
94
- pass
94
+ item_list.append(item)
95
95
  elif isinstance(item, numbers.Number):
96
- item = float(item)
97
- item_list.append(item)
96
+ item_list.append(float(item))
97
+ else:
98
+ item_list.append(item)
98
99
  yield item_list
99
100
 
100
101
  def _get_data(self):
@@ -32,5 +32,19 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]:
32
32
  return airflow_version.major, airflow_version.minor, airflow_version.micro
33
33
 
34
34
 
35
- AIRFLOW_V_2_10_PLUS = get_base_airflow_version_tuple() >= (2, 10, 0)
36
35
  AIRFLOW_V_3_0_PLUS = get_base_airflow_version_tuple() >= (3, 0, 0)
36
+ AIRFLOW_V_3_1_PLUS = get_base_airflow_version_tuple() >= (3, 1, 0)
37
+
38
+ # Version-compatible imports
39
+ # BaseOperator: Use 3.1+ due to xcom_push method missing in SDK BaseOperator 3.0.x
40
+ # This is needed for DecoratedOperator compatibility
41
+ if AIRFLOW_V_3_1_PLUS:
42
+ from airflow.sdk import (
43
+ BaseOperator,
44
+ )
45
+ else:
46
+ from airflow.models import BaseOperator
47
+
48
+
49
+ # Explicitly export these imports to protect them from being removed by linters
50
+ __all__ = ["AIRFLOW_V_3_0_PLUS", "AIRFLOW_V_3_1_PLUS", "BaseOperator"]
@@ -1,12 +1,13 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-google
3
- Version: 14.0.0
3
+ Version: 19.1.0rc1
4
4
  Summary: Provider package apache-airflow-providers-google for Apache Airflow
5
5
  Keywords: airflow-provider,google,airflow,integration
6
6
  Author-email: Apache Software Foundation <dev@airflow.apache.org>
7
7
  Maintainer-email: Apache Software Foundation <dev@airflow.apache.org>
8
- Requires-Python: ~=3.9
8
+ Requires-Python: >=3.10
9
9
  Description-Content-Type: text/x-rst
10
+ License-Expression: Apache-2.0
10
11
  Classifier: Development Status :: 5 - Production/Stable
11
12
  Classifier: Environment :: Console
12
13
  Classifier: Environment :: Web Environment
@@ -14,41 +15,44 @@ Classifier: Intended Audience :: Developers
14
15
  Classifier: Intended Audience :: System Administrators
15
16
  Classifier: Framework :: Apache Airflow
16
17
  Classifier: Framework :: Apache Airflow :: Provider
17
- Classifier: License :: OSI Approved :: Apache Software License
18
- Classifier: Programming Language :: Python :: 3.9
19
18
  Classifier: Programming Language :: Python :: 3.10
20
19
  Classifier: Programming Language :: Python :: 3.11
21
20
  Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
22
  Classifier: Topic :: System :: Monitoring
23
- Requires-Dist: apache-airflow>=2.9.0
24
- Requires-Dist: apache-airflow-providers-common-compat>=1.4.0
25
- Requires-Dist: apache-airflow-providers-common-sql>=1.20.0
23
+ License-File: LICENSE
24
+ License-File: NOTICE
25
+ Requires-Dist: apache-airflow>=2.11.0rc1
26
+ Requires-Dist: apache-airflow-providers-common-compat>=1.8.0rc1
27
+ Requires-Dist: apache-airflow-providers-common-sql>=1.27.0rc1
26
28
  Requires-Dist: asgiref>=3.5.2
27
29
  Requires-Dist: dill>=0.2.3
28
30
  Requires-Dist: gcloud-aio-auth>=5.2.0
29
31
  Requires-Dist: gcloud-aio-bigquery>=6.1.2
30
32
  Requires-Dist: gcloud-aio-storage>=9.0.0
31
33
  Requires-Dist: gcsfs>=2023.10.0
32
- Requires-Dist: google-ads>=25.1.0
34
+ Requires-Dist: google-ads>=26.0.0,!=28.0.0.post2
33
35
  Requires-Dist: google-analytics-admin>=0.9.0
34
36
  Requires-Dist: google-api-core>=2.11.0,!=2.16.0,!=2.18.0
35
37
  Requires-Dist: google-api-python-client>=2.0.2
36
38
  Requires-Dist: google-auth>=2.29.0
37
39
  Requires-Dist: google-auth-httplib2>=0.0.1
38
- Requires-Dist: google-cloud-aiplatform[evaluation]>=1.73.0
40
+ Requires-Dist: google-cloud-aiplatform[evaluation]>=1.98.0
41
+ Requires-Dist: ray[default]>=2.42.0 ; python_version < '3.13'
42
+ Requires-Dist: google-cloud-bigquery-storage>=2.31.0 ; python_version < '3.13'
39
43
  Requires-Dist: google-cloud-alloydb>=0.4.0
40
44
  Requires-Dist: google-cloud-automl>=2.12.0
41
- Requires-Dist: google-cloud-bigquery>=3.4.0,!=3.21.*,!=3.22.0,!=3.23.*
45
+ Requires-Dist: google-cloud-bigquery>=3.24.0
42
46
  Requires-Dist: google-cloud-bigquery-datatransfer>=3.13.0
43
47
  Requires-Dist: google-cloud-bigtable>=2.17.0
44
48
  Requires-Dist: google-cloud-build>=3.31.0
45
49
  Requires-Dist: google-cloud-compute>=1.10.0
46
- Requires-Dist: google-cloud-container>=2.17.4
50
+ Requires-Dist: google-cloud-container>=2.52.0
47
51
  Requires-Dist: google-cloud-datacatalog>=3.23.0
48
52
  Requires-Dist: google-cloud-dataflow-client>=0.8.6
49
53
  Requires-Dist: google-cloud-dataform>=0.5.0
50
54
  Requires-Dist: google-cloud-dataplex>=2.6.0
51
- Requires-Dist: google-cloud-dataproc>=5.12.0
55
+ Requires-Dist: google-cloud-dataproc>=5.21.0
52
56
  Requires-Dist: google-cloud-dataproc-metastore>=1.12.0
53
57
  Requires-Dist: google-cloud-dlp>=3.12.0
54
58
  Requires-Dist: google-cloud-kms>=2.15.0
@@ -59,13 +63,13 @@ Requires-Dist: google-cloud-memcache>=1.7.0
59
63
  Requires-Dist: google-cloud-monitoring>=2.18.0
60
64
  Requires-Dist: google-cloud-orchestration-airflow>=1.10.0
61
65
  Requires-Dist: google-cloud-os-login>=2.9.1
62
- Requires-Dist: google-cloud-pubsub>=2.19.0
66
+ Requires-Dist: google-cloud-pubsub>=2.21.3
63
67
  Requires-Dist: google-cloud-redis>=2.12.0
64
68
  Requires-Dist: google-cloud-secret-manager>=2.16.0
65
- Requires-Dist: google-cloud-spanner>=3.11.1,!=3.49.0
69
+ Requires-Dist: google-cloud-spanner>=3.50.0
66
70
  Requires-Dist: google-cloud-speech>=2.18.0
67
- Requires-Dist: google-cloud-storage>=2.7.0
68
- Requires-Dist: google-cloud-storage-transfer>=1.4.1
71
+ Requires-Dist: google-cloud-storage>=2.9.0
72
+ Requires-Dist: google-cloud-storage-transfer>=1.13.0
69
73
  Requires-Dist: google-cloud-tasks>=2.13.0
70
74
  Requires-Dist: google-cloud-texttospeech>=2.14.1
71
75
  Requires-Dist: google-cloud-translate>=3.16.0
@@ -76,48 +80,55 @@ Requires-Dist: google-cloud-run>=0.10.0
76
80
  Requires-Dist: google-cloud-batch>=0.13.0
77
81
  Requires-Dist: grpcio-gcp>=0.2.2
78
82
  Requires-Dist: httpx>=0.25.0
79
- Requires-Dist: json-merge-patch>=0.2
80
83
  Requires-Dist: looker-sdk>=22.4.0,!=24.18.0
81
84
  Requires-Dist: pandas-gbq>=0.7.0
82
- Requires-Dist: pandas>=2.1.2,<2.2
83
- Requires-Dist: proto-plus>=1.19.6
84
- Requires-Dist: pyarrow>=14.0.1
85
+ Requires-Dist: pandas>=2.1.2; python_version <"3.13"
86
+ Requires-Dist: pandas>=2.2.3; python_version >="3.13"
87
+ Requires-Dist: proto-plus>=1.26.0
88
+ Requires-Dist: pyarrow>=16.1.0; python_version < '3.13'
89
+ Requires-Dist: pyarrow>=18.0.0; python_version >= '3.13'
85
90
  Requires-Dist: python-slugify>=7.0.0
86
91
  Requires-Dist: PyOpenSSL>=23.0.0
87
92
  Requires-Dist: sqlalchemy-bigquery>=1.2.1
88
93
  Requires-Dist: sqlalchemy-spanner>=1.6.2
89
- Requires-Dist: tenacity>=8.1.0
94
+ Requires-Dist: tenacity>=8.3.0
90
95
  Requires-Dist: immutabledict>=4.2.0
91
- Requires-Dist: apache-airflow-providers-amazon>=2.6.0 ; extra == "amazon"
96
+ Requires-Dist: types-protobuf!=5.29.1.20250402,>=5.27.0
97
+ Requires-Dist: apache-airflow-providers-amazon>=2.6.0rc1 ; extra == "amazon"
92
98
  Requires-Dist: apache-beam[gcp]>=2.53.0 ; extra == "apache-beam" and ( python_version < "3.12")
93
- Requires-Dist: apache-beam[gcp]>=2.57.0 ; extra == "apache-beam" and ( python_version >= "3.12")
99
+ Requires-Dist: apache-beam[gcp]>=2.57.0 ; extra == "apache-beam" and ( python_version >= "3.12" and python_version < "3.13")
94
100
  Requires-Dist: apache-airflow-providers-apache-cassandra ; extra == "apache-cassandra"
95
- Requires-Dist: apache-airflow-providers-cncf-kubernetes>=10.1.0 ; extra == "cncf-kubernetes"
96
- Requires-Dist: apache-airflow-providers-facebook>=2.2.0 ; extra == "facebook"
97
- Requires-Dist: plyvel>=1.5.1 ; extra == "leveldb"
101
+ Requires-Dist: apache-airflow-providers-cncf-kubernetes>=10.1.0rc1 ; extra == "cncf-kubernetes"
102
+ Requires-Dist: apache-airflow-providers-fab>=2.0.0rc1 ; extra == "fab" and ( python_version < '3.13')
103
+ Requires-Dist: apache-airflow-providers-facebook>=2.2.0rc1 ; extra == "facebook"
104
+ Requires-Dist: apache-airflow-providers-http ; extra == "http"
105
+ Requires-Dist: plyvel>=1.5.1 ; extra == "leveldb" and ( python_version < '3.13')
98
106
  Requires-Dist: apache-airflow-providers-microsoft-azure ; extra == "microsoft-azure"
99
107
  Requires-Dist: apache-airflow-providers-microsoft-mssql ; extra == "microsoft-mssql"
100
108
  Requires-Dist: apache-airflow-providers-mysql ; extra == "mysql"
101
109
  Requires-Dist: apache-airflow-providers-openlineage ; extra == "openlineage"
102
- Requires-Dist: apache-airflow-providers-oracle>=3.1.0 ; extra == "oracle"
110
+ Requires-Dist: apache-airflow-providers-oracle>=3.1.0rc1 ; extra == "oracle"
103
111
  Requires-Dist: apache-airflow-providers-postgres ; extra == "postgres"
104
112
  Requires-Dist: apache-airflow-providers-presto ; extra == "presto"
105
113
  Requires-Dist: apache-airflow-providers-salesforce ; extra == "salesforce"
106
114
  Requires-Dist: apache-airflow-providers-sftp ; extra == "sftp"
107
115
  Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
116
+ Requires-Dist: apache-airflow-providers-standard ; extra == "standard"
108
117
  Requires-Dist: apache-airflow-providers-trino ; extra == "trino"
109
118
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
110
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-google/14.0.0/changelog.html
111
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-google/14.0.0
119
+ Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-google/19.1.0/changelog.html
120
+ Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-google/19.1.0
121
+ Project-URL: Mastodon, https://fosstodon.org/@airflow
112
122
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
113
123
  Project-URL: Source Code, https://github.com/apache/airflow
114
- Project-URL: Twitter, https://x.com/ApacheAirflow
115
124
  Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
116
125
  Provides-Extra: amazon
117
126
  Provides-Extra: apache-beam
118
127
  Provides-Extra: apache-cassandra
119
128
  Provides-Extra: cncf-kubernetes
129
+ Provides-Extra: fab
120
130
  Provides-Extra: facebook
131
+ Provides-Extra: http
121
132
  Provides-Extra: leveldb
122
133
  Provides-Extra: microsoft-azure
123
134
  Provides-Extra: microsoft-mssql
@@ -129,35 +140,35 @@ Provides-Extra: presto
129
140
  Provides-Extra: salesforce
130
141
  Provides-Extra: sftp
131
142
  Provides-Extra: ssh
143
+ Provides-Extra: standard
132
144
  Provides-Extra: trino
133
145
 
134
146
 
135
- .. Licensed to the Apache Software Foundation (ASF) under one
136
- or more contributor license agreements. See the NOTICE file
137
- distributed with this work for additional information
138
- regarding copyright ownership. The ASF licenses this file
139
- to you under the Apache License, Version 2.0 (the
140
- "License"); you may not use this file except in compliance
141
- with the License. You may obtain a copy of the License at
147
+ .. Licensed to the Apache Software Foundation (ASF) under one
148
+ or more contributor license agreements. See the NOTICE file
149
+ distributed with this work for additional information
150
+ regarding copyright ownership. The ASF licenses this file
151
+ to you under the Apache License, Version 2.0 (the
152
+ "License"); you may not use this file except in compliance
153
+ with the License. You may obtain a copy of the License at
142
154
 
143
- .. http://www.apache.org/licenses/LICENSE-2.0
155
+ .. http://www.apache.org/licenses/LICENSE-2.0
144
156
 
145
- .. Unless required by applicable law or agreed to in writing,
146
- software distributed under the License is distributed on an
147
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
148
- KIND, either express or implied. See the License for the
149
- specific language governing permissions and limitations
150
- under the License.
157
+ .. Unless required by applicable law or agreed to in writing,
158
+ software distributed under the License is distributed on an
159
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
160
+ KIND, either express or implied. See the License for the
161
+ specific language governing permissions and limitations
162
+ under the License.
151
163
 
152
- .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
153
-
154
- .. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
155
- `PROVIDER_README_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
164
+ .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
156
165
 
166
+ .. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
167
+ ``PROVIDER_README_TEMPLATE.rst.jinja2`` IN the ``dev/breeze/src/airflow_breeze/templates`` DIRECTORY
157
168
 
158
169
  Package ``apache-airflow-providers-google``
159
170
 
160
- Release: ``14.0.0``
171
+ Release: ``19.1.0``
161
172
 
162
173
 
163
174
  Google services including:
@@ -177,16 +188,16 @@ This is a provider package for ``google`` provider. All classes for this provide
177
188
  are in ``airflow.providers.google`` python package.
178
189
 
179
190
  You can find package information and changelog for the provider
180
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-google/14.0.0/>`_.
191
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-google/19.1.0/>`_.
181
192
 
182
193
  Installation
183
194
  ------------
184
195
 
185
- You can install this package on top of an existing Airflow 2 installation (see ``Requirements`` below
196
+ You can install this package on top of an existing Airflow installation (see ``Requirements`` below
186
197
  for the minimum Airflow version supported) via
187
198
  ``pip install apache-airflow-providers-google``
188
199
 
189
- The package supports the following python versions: 3.9,3.10,3.11,3.12
200
+ The package supports the following python versions: 3.10,3.11,3.12,3.13
190
201
 
191
202
  Requirements
192
203
  ------------
@@ -194,35 +205,37 @@ Requirements
194
205
  ========================================== ======================================
195
206
  PIP package Version required
196
207
  ========================================== ======================================
197
- ``apache-airflow`` ``>=2.9.0``
198
- ``apache-airflow-providers-common-compat`` ``>=1.4.0``
199
- ``apache-airflow-providers-common-sql`` ``>=1.20.0``
208
+ ``apache-airflow`` ``>=2.11.0``
209
+ ``apache-airflow-providers-common-compat`` ``>=1.8.0``
210
+ ``apache-airflow-providers-common-sql`` ``>=1.27.0``
200
211
  ``asgiref`` ``>=3.5.2``
201
212
  ``dill`` ``>=0.2.3``
202
213
  ``gcloud-aio-auth`` ``>=5.2.0``
203
214
  ``gcloud-aio-bigquery`` ``>=6.1.2``
204
215
  ``gcloud-aio-storage`` ``>=9.0.0``
205
216
  ``gcsfs`` ``>=2023.10.0``
206
- ``google-ads`` ``>=25.1.0``
217
+ ``google-ads`` ``>=26.0.0,!=28.0.0.post2``
207
218
  ``google-analytics-admin`` ``>=0.9.0``
208
219
  ``google-api-core`` ``>=2.11.0,!=2.16.0,!=2.18.0``
209
220
  ``google-api-python-client`` ``>=2.0.2``
210
221
  ``google-auth`` ``>=2.29.0``
211
222
  ``google-auth-httplib2`` ``>=0.0.1``
212
- ``google-cloud-aiplatform[evaluation]`` ``>=1.73.0``
223
+ ``google-cloud-aiplatform[evaluation]`` ``>=1.98.0``
224
+ ``ray[default]`` ``>=2.42.0; python_version < "3.13"``
225
+ ``google-cloud-bigquery-storage`` ``>=2.31.0; python_version < "3.13"``
213
226
  ``google-cloud-alloydb`` ``>=0.4.0``
214
227
  ``google-cloud-automl`` ``>=2.12.0``
215
- ``google-cloud-bigquery`` ``!=3.21.*,!=3.22.0,!=3.23.*,>=3.4.0``
228
+ ``google-cloud-bigquery`` ``>=3.24.0``
216
229
  ``google-cloud-bigquery-datatransfer`` ``>=3.13.0``
217
230
  ``google-cloud-bigtable`` ``>=2.17.0``
218
231
  ``google-cloud-build`` ``>=3.31.0``
219
232
  ``google-cloud-compute`` ``>=1.10.0``
220
- ``google-cloud-container`` ``>=2.17.4``
233
+ ``google-cloud-container`` ``>=2.52.0``
221
234
  ``google-cloud-datacatalog`` ``>=3.23.0``
222
235
  ``google-cloud-dataflow-client`` ``>=0.8.6``
223
236
  ``google-cloud-dataform`` ``>=0.5.0``
224
237
  ``google-cloud-dataplex`` ``>=2.6.0``
225
- ``google-cloud-dataproc`` ``>=5.12.0``
238
+ ``google-cloud-dataproc`` ``>=5.21.0``
226
239
  ``google-cloud-dataproc-metastore`` ``>=1.12.0``
227
240
  ``google-cloud-dlp`` ``>=3.12.0``
228
241
  ``google-cloud-kms`` ``>=2.15.0``
@@ -233,13 +246,13 @@ PIP package Version required
233
246
  ``google-cloud-monitoring`` ``>=2.18.0``
234
247
  ``google-cloud-orchestration-airflow`` ``>=1.10.0``
235
248
  ``google-cloud-os-login`` ``>=2.9.1``
236
- ``google-cloud-pubsub`` ``>=2.19.0``
249
+ ``google-cloud-pubsub`` ``>=2.21.3``
237
250
  ``google-cloud-redis`` ``>=2.12.0``
238
251
  ``google-cloud-secret-manager`` ``>=2.16.0``
239
- ``google-cloud-spanner`` ``>=3.11.1,!=3.49.0``
252
+ ``google-cloud-spanner`` ``>=3.50.0``
240
253
  ``google-cloud-speech`` ``>=2.18.0``
241
- ``google-cloud-storage`` ``>=2.7.0``
242
- ``google-cloud-storage-transfer`` ``>=1.4.1``
254
+ ``google-cloud-storage`` ``>=2.9.0``
255
+ ``google-cloud-storage-transfer`` ``>=1.13.0``
243
256
  ``google-cloud-tasks`` ``>=2.13.0``
244
257
  ``google-cloud-texttospeech`` ``>=2.14.1``
245
258
  ``google-cloud-translate`` ``>=3.16.0``
@@ -250,25 +263,27 @@ PIP package Version required
250
263
  ``google-cloud-batch`` ``>=0.13.0``
251
264
  ``grpcio-gcp`` ``>=0.2.2``
252
265
  ``httpx`` ``>=0.25.0``
253
- ``json-merge-patch`` ``>=0.2``
254
266
  ``looker-sdk`` ``>=22.4.0,!=24.18.0``
255
267
  ``pandas-gbq`` ``>=0.7.0``
256
- ``pandas`` ``>=2.1.2,<2.2``
257
- ``proto-plus`` ``>=1.19.6``
258
- ``pyarrow`` ``>=14.0.1``
268
+ ``pandas`` ``>=2.1.2; python_version < "3.13"``
269
+ ``pandas`` ``>=2.2.3; python_version >= "3.13"``
270
+ ``proto-plus`` ``>=1.26.0``
271
+ ``pyarrow`` ``>=16.1.0; python_version < "3.13"``
272
+ ``pyarrow`` ``>=18.0.0; python_version >= "3.13"``
259
273
  ``python-slugify`` ``>=7.0.0``
260
274
  ``PyOpenSSL`` ``>=23.0.0``
261
275
  ``sqlalchemy-bigquery`` ``>=1.2.1``
262
276
  ``sqlalchemy-spanner`` ``>=1.6.2``
263
- ``tenacity`` ``>=8.1.0``
277
+ ``tenacity`` ``>=8.3.0``
264
278
  ``immutabledict`` ``>=4.2.0``
279
+ ``types-protobuf`` ``>=5.27.0,!=5.29.1.20250402``
265
280
  ========================================== ======================================
266
281
 
267
282
  Cross provider package dependencies
268
283
  -----------------------------------
269
284
 
270
285
  Those are dependencies that might be needed in order to use all the features of the package.
271
- You need to install the specified provider packages in order to use them.
286
+ You need to install the specified providers in order to use them.
272
287
 
273
288
  You can install such cross-provider dependencies when installing from PyPI. For example:
274
289
 
@@ -287,6 +302,7 @@ Dependent package
287
302
  `apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
288
303
  `apache-airflow-providers-common-sql <https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_ ``common.sql``
289
304
  `apache-airflow-providers-facebook <https://airflow.apache.org/docs/apache-airflow-providers-facebook>`_ ``facebook``
305
+ `apache-airflow-providers-http <https://airflow.apache.org/docs/apache-airflow-providers-http>`_ ``http``
290
306
  `apache-airflow-providers-microsoft-azure <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure>`_ ``microsoft.azure``
291
307
  `apache-airflow-providers-microsoft-mssql <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-mssql>`_ ``microsoft.mssql``
292
308
  `apache-airflow-providers-mysql <https://airflow.apache.org/docs/apache-airflow-providers-mysql>`_ ``mysql``
@@ -297,9 +313,38 @@ Dependent package
297
313
  `apache-airflow-providers-salesforce <https://airflow.apache.org/docs/apache-airflow-providers-salesforce>`_ ``salesforce``
298
314
  `apache-airflow-providers-sftp <https://airflow.apache.org/docs/apache-airflow-providers-sftp>`_ ``sftp``
299
315
  `apache-airflow-providers-ssh <https://airflow.apache.org/docs/apache-airflow-providers-ssh>`_ ``ssh``
316
+ `apache-airflow-providers-standard <https://airflow.apache.org/docs/apache-airflow-providers-standard>`_ ``standard``
300
317
  `apache-airflow-providers-trino <https://airflow.apache.org/docs/apache-airflow-providers-trino>`_ ``trino``
301
318
  ======================================================================================================================== ====================
302
319
 
320
+ Optional dependencies
321
+ ----------------------
322
+
323
+ ==================== =========================================================================================================================================
324
+ Extra Dependencies
325
+ ==================== =========================================================================================================================================
326
+ ``apache.beam`` ``apache-beam[gcp]>=2.53.0; python_version < "3.12"``, ``apache-beam[gcp]>=2.57.0; python_version >= "3.12" and python_version < "3.13"``
327
+ ``cncf.kubernetes`` ``apache-airflow-providers-cncf-kubernetes>=10.1.0``
328
+ ``fab`` ``apache-airflow-providers-fab>=2.0.0; python_version < '3.13'``
329
+ ``leveldb`` ``plyvel>=1.5.1; python_version < '3.13'``
330
+ ``oracle`` ``apache-airflow-providers-oracle>=3.1.0``
331
+ ``facebook`` ``apache-airflow-providers-facebook>=2.2.0``
332
+ ``amazon`` ``apache-airflow-providers-amazon>=2.6.0``
333
+ ``apache.cassandra`` ``apache-airflow-providers-apache-cassandra``
334
+ ``microsoft.azure`` ``apache-airflow-providers-microsoft-azure``
335
+ ``microsoft.mssql`` ``apache-airflow-providers-microsoft-mssql``
336
+ ``mysql`` ``apache-airflow-providers-mysql``
337
+ ``openlineage`` ``apache-airflow-providers-openlineage``
338
+ ``postgres`` ``apache-airflow-providers-postgres``
339
+ ``presto`` ``apache-airflow-providers-presto``
340
+ ``salesforce`` ``apache-airflow-providers-salesforce``
341
+ ``sftp`` ``apache-airflow-providers-sftp``
342
+ ``ssh`` ``apache-airflow-providers-ssh``
343
+ ``trino`` ``apache-airflow-providers-trino``
344
+ ``http`` ``apache-airflow-providers-http``
345
+ ``standard`` ``apache-airflow-providers-standard``
346
+ ==================== =========================================================================================================================================
347
+
303
348
  The changelog for the provider package can be found in the
304
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/14.0.0/changelog.html>`_.
349
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/19.1.0/changelog.html>`_.
305
350