apache-airflow-providers-google 16.1.0rc1__py3-none-any.whl → 17.0.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 (66) hide show
  1. airflow/providers/google/__init__.py +1 -1
  2. airflow/providers/google/ads/hooks/ads.py +1 -5
  3. airflow/providers/google/cloud/hooks/bigquery.py +1 -130
  4. airflow/providers/google/cloud/hooks/cloud_logging.py +109 -0
  5. airflow/providers/google/cloud/hooks/cloud_run.py +1 -1
  6. airflow/providers/google/cloud/hooks/cloud_sql.py +5 -5
  7. airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py +1 -1
  8. airflow/providers/google/cloud/hooks/dataflow.py +0 -85
  9. airflow/providers/google/cloud/hooks/datafusion.py +1 -1
  10. airflow/providers/google/cloud/hooks/dataprep.py +1 -4
  11. airflow/providers/google/cloud/hooks/dataproc.py +68 -70
  12. airflow/providers/google/cloud/hooks/gcs.py +3 -5
  13. airflow/providers/google/cloud/hooks/kubernetes_engine.py +2 -2
  14. airflow/providers/google/cloud/hooks/looker.py +1 -5
  15. airflow/providers/google/cloud/hooks/stackdriver.py +10 -8
  16. airflow/providers/google/cloud/hooks/vertex_ai/auto_ml.py +4 -4
  17. airflow/providers/google/cloud/hooks/vertex_ai/experiment_service.py +202 -0
  18. airflow/providers/google/cloud/hooks/vertex_ai/generative_model.py +7 -0
  19. airflow/providers/google/cloud/links/kubernetes_engine.py +3 -0
  20. airflow/providers/google/cloud/log/gcs_task_handler.py +2 -2
  21. airflow/providers/google/cloud/log/stackdriver_task_handler.py +1 -1
  22. airflow/providers/google/cloud/openlineage/mixins.py +7 -7
  23. airflow/providers/google/cloud/operators/automl.py +1 -1
  24. airflow/providers/google/cloud/operators/bigquery.py +8 -609
  25. airflow/providers/google/cloud/operators/cloud_logging_sink.py +341 -0
  26. airflow/providers/google/cloud/operators/cloud_sql.py +1 -5
  27. airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py +2 -2
  28. airflow/providers/google/cloud/operators/dataproc.py +1 -1
  29. airflow/providers/google/cloud/operators/dlp.py +2 -2
  30. airflow/providers/google/cloud/operators/kubernetes_engine.py +4 -4
  31. airflow/providers/google/cloud/operators/vertex_ai/experiment_service.py +435 -0
  32. airflow/providers/google/cloud/operators/vertex_ai/generative_model.py +7 -1
  33. airflow/providers/google/cloud/operators/vertex_ai/ray.py +7 -5
  34. airflow/providers/google/cloud/operators/vision.py +1 -1
  35. airflow/providers/google/cloud/sensors/dataflow.py +23 -6
  36. airflow/providers/google/cloud/sensors/datafusion.py +2 -2
  37. airflow/providers/google/cloud/transfers/gcs_to_bigquery.py +1 -2
  38. airflow/providers/google/cloud/transfers/gcs_to_local.py +3 -1
  39. airflow/providers/google/cloud/transfers/oracle_to_gcs.py +9 -9
  40. airflow/providers/google/cloud/triggers/bigquery.py +11 -13
  41. airflow/providers/google/cloud/triggers/cloud_build.py +1 -1
  42. airflow/providers/google/cloud/triggers/cloud_run.py +1 -1
  43. airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py +1 -1
  44. airflow/providers/google/cloud/triggers/datafusion.py +1 -1
  45. airflow/providers/google/cloud/triggers/dataproc.py +10 -9
  46. airflow/providers/google/cloud/triggers/kubernetes_engine.py +45 -27
  47. airflow/providers/google/cloud/triggers/mlengine.py +1 -1
  48. airflow/providers/google/cloud/triggers/pubsub.py +1 -1
  49. airflow/providers/google/cloud/utils/credentials_provider.py +1 -1
  50. airflow/providers/google/common/auth_backend/google_openid.py +2 -2
  51. airflow/providers/google/common/hooks/base_google.py +2 -6
  52. airflow/providers/google/common/utils/id_token_credentials.py +2 -2
  53. airflow/providers/google/get_provider_info.py +19 -16
  54. airflow/providers/google/leveldb/hooks/leveldb.py +1 -5
  55. airflow/providers/google/marketing_platform/hooks/display_video.py +47 -3
  56. airflow/providers/google/marketing_platform/links/analytics_admin.py +1 -1
  57. airflow/providers/google/marketing_platform/operators/display_video.py +64 -15
  58. airflow/providers/google/marketing_platform/sensors/display_video.py +9 -2
  59. airflow/providers/google/version_compat.py +10 -3
  60. {apache_airflow_providers_google-16.1.0rc1.dist-info → apache_airflow_providers_google-17.0.0rc1.dist-info}/METADATA +99 -93
  61. {apache_airflow_providers_google-16.1.0rc1.dist-info → apache_airflow_providers_google-17.0.0rc1.dist-info}/RECORD +63 -62
  62. airflow/providers/google/cloud/hooks/life_sciences.py +0 -159
  63. airflow/providers/google/cloud/links/life_sciences.py +0 -30
  64. airflow/providers/google/cloud/operators/life_sciences.py +0 -118
  65. {apache_airflow_providers_google-16.1.0rc1.dist-info → apache_airflow_providers_google-17.0.0rc1.dist-info}/WHEEL +0 -0
  66. {apache_airflow_providers_google-16.1.0rc1.dist-info → apache_airflow_providers_google-17.0.0rc1.dist-info}/entry_points.txt +0 -0
@@ -21,15 +21,18 @@ from __future__ import annotations
21
21
 
22
22
  import csv
23
23
  import json
24
+ import os
24
25
  import shutil
25
26
  import tempfile
26
27
  import urllib.request
28
+ import zipfile
27
29
  from collections.abc import Sequence
28
30
  from typing import TYPE_CHECKING, Any
29
31
  from urllib.parse import urlsplit
30
32
 
31
- from airflow.exceptions import AirflowException
33
+ from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
32
34
  from airflow.providers.google.cloud.hooks.gcs import GCSHook
35
+ from airflow.providers.google.common.deprecated import deprecated
33
36
  from airflow.providers.google.marketing_platform.hooks.display_video import GoogleDisplayVideo360Hook
34
37
  from airflow.providers.google.version_compat import BaseOperator
35
38
 
@@ -37,6 +40,12 @@ if TYPE_CHECKING:
37
40
  from airflow.utils.context import Context
38
41
 
39
42
 
43
+ @deprecated(
44
+ planned_removal_date="September 01, 2025",
45
+ use_instead="airflow.providers.google.marketing_platform.operators.display_video.GoogleDisplayVideo360CreateSDFDownloadTaskOperator",
46
+ reason="Display & Video 360 API v2 has been deprecated and will be removed.",
47
+ category=AirflowProviderDeprecationWarning,
48
+ )
40
49
  class GoogleDisplayVideo360CreateQueryOperator(BaseOperator):
41
50
  """
42
51
  Creates a query.
@@ -59,7 +68,7 @@ class GoogleDisplayVideo360CreateQueryOperator(BaseOperator):
59
68
  If set as a string, the account must grant the originating account
60
69
  the Service Account Token Creator IAM role.
61
70
  If set as a sequence, the identities from the list must grant
62
- Service Account Token Creator IAM role to the directly preceding identity, with first
71
+ Service Account Token Creator IAM role to the directly preceding identity, with the first
63
72
  account from the list granting this role to the originating account (templated).
64
73
  """
65
74
 
@@ -104,6 +113,12 @@ class GoogleDisplayVideo360CreateQueryOperator(BaseOperator):
104
113
  return response
105
114
 
106
115
 
116
+ @deprecated(
117
+ planned_removal_date="September 01, 2025",
118
+ reason="Display & Video 360 API v2 has been deprecated and will be removed. "
119
+ "Reports were replaced with SDF export task in v4 of API.",
120
+ category=AirflowProviderDeprecationWarning,
121
+ )
107
122
  class GoogleDisplayVideo360DeleteReportOperator(BaseOperator):
108
123
  """
109
124
  Deletes a stored query as well as the associated stored reports.
@@ -178,6 +193,12 @@ class GoogleDisplayVideo360DeleteReportOperator(BaseOperator):
178
193
  self.log.info("Report deleted.")
179
194
 
180
195
 
196
+ @deprecated(
197
+ planned_removal_date="September 01, 2025",
198
+ use_instead="airflow.providers.google.marketing_platform.operators.display_video.GoogleDisplayVideo360SDFtoGCSOperator",
199
+ reason="Display & Video 360 API v2 has been deprecated and will be removed.",
200
+ category=AirflowProviderDeprecationWarning,
201
+ )
181
202
  class GoogleDisplayVideo360DownloadReportV2Operator(BaseOperator):
182
203
  """
183
204
  Retrieves a stored query.
@@ -298,6 +319,12 @@ class GoogleDisplayVideo360DownloadReportV2Operator(BaseOperator):
298
319
  context["task_instance"].xcom_push(key="report_name", value=report_name)
299
320
 
300
321
 
322
+ @deprecated(
323
+ planned_removal_date="September 01, 2025",
324
+ use_instead="airflow.providers.google.marketing_platform.operators.display_video.GoogleDisplayVideo360CreateSDFDownloadTaskOperator",
325
+ reason="Display & Video 360 API v2 has been deprecated and will be removed.",
326
+ category=AirflowProviderDeprecationWarning,
327
+ )
301
328
  class GoogleDisplayVideo360RunQueryOperator(BaseOperator):
302
329
  """
303
330
  Runs a stored query to generate a report.
@@ -365,6 +392,12 @@ class GoogleDisplayVideo360RunQueryOperator(BaseOperator):
365
392
  return response
366
393
 
367
394
 
395
+ @deprecated(
396
+ planned_removal_date="September 01, 2025",
397
+ use_instead="airflow.providers.google.marketing_platform.operators.display_video.GoogleDisplayVideo360CreateSDFDownloadTaskOperator",
398
+ reason="Display & Video 360 API v2 has been deprecated and will be removed.",
399
+ category=AirflowProviderDeprecationWarning,
400
+ )
368
401
  class GoogleDisplayVideo360DownloadLineItemsOperator(BaseOperator):
369
402
  """
370
403
  Retrieves line items in CSV format.
@@ -438,6 +471,12 @@ class GoogleDisplayVideo360DownloadLineItemsOperator(BaseOperator):
438
471
  return f"{self.bucket_name}/{self.object_name}"
439
472
 
440
473
 
474
+ @deprecated(
475
+ planned_removal_date="September 01, 2025",
476
+ use_instead="airflow.providers.google.marketing_platform.operators.display_video.GoogleDisplayVideo360SDFtoGCSOperator",
477
+ reason="Display & Video 360 API v2 has been deprecated and will be removed.",
478
+ category=AirflowProviderDeprecationWarning,
479
+ )
441
480
  class GoogleDisplayVideo360UploadLineItemsOperator(BaseOperator):
442
481
  """
443
482
  Uploads line items in CSV format.
@@ -506,7 +545,7 @@ class GoogleDisplayVideo360UploadLineItemsOperator(BaseOperator):
506
545
 
507
546
  class GoogleDisplayVideo360CreateSDFDownloadTaskOperator(BaseOperator):
508
547
  """
509
- Creates SDF operation task.
548
+ Creates an SDF operation task.
510
549
 
511
550
  .. seealso::
512
551
  For more information on how to use this operator, take a look at the guide:
@@ -542,7 +581,7 @@ class GoogleDisplayVideo360CreateSDFDownloadTaskOperator(BaseOperator):
542
581
  self,
543
582
  *,
544
583
  body_request: dict[str, Any],
545
- api_version: str = "v1",
584
+ api_version: str = "v4",
546
585
  gcp_conn_id: str = "google_cloud_default",
547
586
  impersonation_chain: str | Sequence[str] | None = None,
548
587
  **kwargs,
@@ -613,7 +652,7 @@ class GoogleDisplayVideo360SDFtoGCSOperator(BaseOperator):
613
652
  bucket_name: str,
614
653
  object_name: str,
615
654
  gzip: bool = False,
616
- api_version: str = "v1",
655
+ api_version: str = "v4",
617
656
  gcp_conn_id: str = "google_cloud_default",
618
657
  impersonation_chain: str | Sequence[str] | None = None,
619
658
  **kwargs,
@@ -645,14 +684,24 @@ class GoogleDisplayVideo360SDFtoGCSOperator(BaseOperator):
645
684
  media = hook.download_media(resource_name=operation_state["response"]["resourceName"])
646
685
 
647
686
  self.log.info("Sending file to the Google Cloud Storage...")
648
- with tempfile.NamedTemporaryFile() as temp_file:
649
- hook.download_content_from_request(temp_file, media, chunk_size=1024 * 1024)
650
- temp_file.flush()
651
- gcs_hook.upload(
652
- bucket_name=self.bucket_name,
653
- object_name=self.object_name,
654
- filename=temp_file.name,
655
- gzip=self.gzip,
656
- )
657
-
687
+ with tempfile.TemporaryDirectory() as tmp_dir:
688
+ zip_path = os.path.join(tmp_dir, "sdf.zip")
689
+
690
+ # Download the ZIP
691
+ with open(zip_path, "wb") as f:
692
+ hook.download_content_from_request(f, media, chunk_size=1024 * 1024)
693
+
694
+ # Extract CSV
695
+ with zipfile.ZipFile(zip_path, "r") as zip_ref:
696
+ zip_ref.extractall(tmp_dir)
697
+
698
+ # Upload CSV file
699
+ for fname in os.listdir(tmp_dir):
700
+ if fname.endswith(".csv"):
701
+ gcs_hook.upload(
702
+ bucket_name=self.bucket_name,
703
+ object_name=self.object_name,
704
+ filename=os.path.join(tmp_dir, fname),
705
+ gzip=False,
706
+ )
658
707
  return f"{self.bucket_name}/{self.object_name}"
@@ -21,7 +21,8 @@ from __future__ import annotations
21
21
  from collections.abc import Sequence
22
22
  from typing import TYPE_CHECKING
23
23
 
24
- from airflow.exceptions import AirflowException
24
+ from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
25
+ from airflow.providers.google.common.deprecated import deprecated
25
26
  from airflow.providers.google.marketing_platform.hooks.display_video import GoogleDisplayVideo360Hook
26
27
  from airflow.providers.google.version_compat import AIRFLOW_V_3_0_PLUS
27
28
 
@@ -64,7 +65,7 @@ class GoogleDisplayVideo360GetSDFDownloadOperationSensor(BaseSensorOperator):
64
65
  def __init__(
65
66
  self,
66
67
  operation_name: str,
67
- api_version: str = "v1",
68
+ api_version: str = "v4",
68
69
  gcp_conn_id: str = "google_cloud_default",
69
70
  mode: str = "reschedule",
70
71
  poke_interval: int = 60 * 5,
@@ -95,6 +96,12 @@ class GoogleDisplayVideo360GetSDFDownloadOperationSensor(BaseSensorOperator):
95
96
  return False
96
97
 
97
98
 
99
+ @deprecated(
100
+ planned_removal_date="September 01, 2025",
101
+ reason="Display & Video 360 API v2 has been deprecated and will be removed. "
102
+ "Reports were replaced with SDF export task in v4 of API.",
103
+ category=AirflowProviderDeprecationWarning,
104
+ )
98
105
  class GoogleDisplayVideo360RunQuerySensor(BaseSensorOperator):
99
106
  """
100
107
  Sensor for detecting the completion of DV360 reports for API v2.
@@ -39,8 +39,12 @@ AIRFLOW_V_3_1_PLUS = get_base_airflow_version_tuple() >= (3, 1, 0)
39
39
  # BaseOperator: Use 3.1+ due to xcom_push method missing in SDK BaseOperator 3.0.x
40
40
  # This is needed for DecoratedOperator compatibility
41
41
  if AIRFLOW_V_3_1_PLUS:
42
- from airflow.sdk import BaseOperator
42
+ from airflow.sdk import (
43
+ BaseHook,
44
+ BaseOperator,
45
+ )
43
46
  else:
47
+ from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
44
48
  from airflow.models import BaseOperator
45
49
 
46
50
  # Other SDK components: Available since 3.0+
@@ -48,16 +52,19 @@ if AIRFLOW_V_3_0_PLUS:
48
52
  from airflow.sdk import (
49
53
  BaseOperatorLink,
50
54
  BaseSensorOperator,
55
+ PokeReturnValue,
51
56
  )
52
57
  else:
53
- from airflow.models import BaseOperatorLink # type: ignore[no-redef]
54
- from airflow.sensors.base import BaseSensorOperator # type: ignore[no-redef]
58
+ from airflow.models import BaseOperatorLink
59
+ from airflow.sensors.base import BaseSensorOperator, PokeReturnValue # type: ignore[no-redef]
55
60
 
56
61
  # Explicitly export these imports to protect them from being removed by linters
57
62
  __all__ = [
58
63
  "AIRFLOW_V_3_0_PLUS",
59
64
  "AIRFLOW_V_3_1_PLUS",
65
+ "BaseHook",
60
66
  "BaseOperator",
61
67
  "BaseSensorOperator",
62
68
  "BaseOperatorLink",
69
+ "PokeReturnValue",
63
70
  ]
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-google
3
- Version: 16.1.0rc1
3
+ Version: 17.0.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.10
8
+ Requires-Python: >=3.10
9
9
  Description-Content-Type: text/x-rst
10
10
  Classifier: Development Status :: 5 - Production/Stable
11
11
  Classifier: Environment :: Console
@@ -18,6 +18,7 @@ Classifier: License :: OSI Approved :: Apache Software License
18
18
  Classifier: Programming Language :: Python :: 3.10
19
19
  Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
21
22
  Classifier: Topic :: System :: Monitoring
22
23
  Requires-Dist: apache-airflow>=2.10.0rc1
23
24
  Requires-Dist: apache-airflow-providers-common-compat>=1.4.0rc1
@@ -34,10 +35,9 @@ Requires-Dist: google-api-core>=2.11.0,!=2.16.0,!=2.18.0
34
35
  Requires-Dist: google-api-python-client>=2.0.2
35
36
  Requires-Dist: google-auth>=2.29.0
36
37
  Requires-Dist: google-auth-httplib2>=0.0.1
37
- Requires-Dist: google-cloud-aiplatform[evaluation, ray]>=1.73.0;python_version < '3.12'
38
- Requires-Dist: google-cloud-aiplatform[evaluation]>=1.73.0;python_version >= '3.12'
39
- Requires-Dist: ray[default]>=2.42.0 ; python_version >= '3.12' and python_version < '3.13'
40
- Requires-Dist: google-cloud-bigquery-storage>=2.31.0; python_version >= '3.12'
38
+ Requires-Dist: google-cloud-aiplatform[evaluation]>=1.73.0
39
+ Requires-Dist: ray[default]>=2.42.0 ; python_version < '3.13'
40
+ Requires-Dist: google-cloud-bigquery-storage>=2.31.0 ; python_version < '3.13'
41
41
  Requires-Dist: google-cloud-alloydb>=0.4.0
42
42
  Requires-Dist: google-cloud-automl>=2.12.0
43
43
  Requires-Dist: google-cloud-bigquery>=3.24.0
@@ -66,8 +66,8 @@ Requires-Dist: google-cloud-redis>=2.12.0
66
66
  Requires-Dist: google-cloud-secret-manager>=2.16.0
67
67
  Requires-Dist: google-cloud-spanner>=3.50.0
68
68
  Requires-Dist: google-cloud-speech>=2.18.0
69
- Requires-Dist: google-cloud-storage>=2.7.0
70
- Requires-Dist: google-cloud-storage-transfer>=1.4.1
69
+ Requires-Dist: google-cloud-storage>=2.9.0
70
+ Requires-Dist: google-cloud-storage-transfer>=1.13.0
71
71
  Requires-Dist: google-cloud-tasks>=2.13.0
72
72
  Requires-Dist: google-cloud-texttospeech>=2.14.1
73
73
  Requires-Dist: google-cloud-translate>=3.16.0
@@ -80,8 +80,11 @@ Requires-Dist: grpcio-gcp>=0.2.2
80
80
  Requires-Dist: httpx>=0.25.0
81
81
  Requires-Dist: looker-sdk>=22.4.0,!=24.18.0
82
82
  Requires-Dist: pandas-gbq>=0.7.0
83
- Requires-Dist: proto-plus>=1.19.6
84
- Requires-Dist: pyarrow>=16.1.0
83
+ Requires-Dist: pandas>=2.1.2; python_version <"3.13"
84
+ Requires-Dist: pandas>=2.2.3; python_version >="3.13"
85
+ Requires-Dist: proto-plus>=1.26.0
86
+ Requires-Dist: pyarrow>=16.1.0; python_version < '3.13'
87
+ Requires-Dist: pyarrow>=18.0.0; python_version >= '3.13'
85
88
  Requires-Dist: python-slugify>=7.0.0
86
89
  Requires-Dist: PyOpenSSL>=23.0.0
87
90
  Requires-Dist: sqlalchemy-bigquery>=1.2.1
@@ -91,13 +94,13 @@ Requires-Dist: immutabledict>=4.2.0
91
94
  Requires-Dist: types-protobuf!=5.29.1.20250402,>=5.27.0
92
95
  Requires-Dist: apache-airflow-providers-amazon>=2.6.0rc1 ; extra == "amazon"
93
96
  Requires-Dist: apache-beam[gcp]>=2.53.0 ; extra == "apache-beam" and ( python_version < "3.12")
94
- Requires-Dist: apache-beam[gcp]>=2.57.0 ; extra == "apache-beam" and ( python_version >= "3.12")
97
+ Requires-Dist: apache-beam[gcp]>=2.57.0 ; extra == "apache-beam" and ( python_version >= "3.12" and python_version < "3.13")
95
98
  Requires-Dist: apache-airflow-providers-apache-cassandra ; extra == "apache-cassandra"
96
99
  Requires-Dist: apache-airflow-providers-cncf-kubernetes>=10.1.0rc1 ; extra == "cncf-kubernetes"
97
- Requires-Dist: apache-airflow-providers-fab>=2.0.0rc1 ; extra == "fab"
100
+ Requires-Dist: apache-airflow-providers-fab>=2.0.0rc1 ; extra == "fab" and ( python_version < '3.13')
98
101
  Requires-Dist: apache-airflow-providers-facebook>=2.2.0rc1 ; extra == "facebook"
99
102
  Requires-Dist: apache-airflow-providers-http ; extra == "http"
100
- Requires-Dist: plyvel>=1.5.1 ; extra == "leveldb"
103
+ Requires-Dist: plyvel>=1.5.1 ; extra == "leveldb" and ( python_version < '3.13')
101
104
  Requires-Dist: apache-airflow-providers-microsoft-azure ; extra == "microsoft-azure"
102
105
  Requires-Dist: apache-airflow-providers-microsoft-mssql ; extra == "microsoft-mssql"
103
106
  Requires-Dist: apache-airflow-providers-mysql ; extra == "mysql"
@@ -110,8 +113,8 @@ Requires-Dist: apache-airflow-providers-sftp ; extra == "sftp"
110
113
  Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
111
114
  Requires-Dist: apache-airflow-providers-trino ; extra == "trino"
112
115
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
113
- Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-google/16.1.0/changelog.html
114
- Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-google/16.1.0
116
+ Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-google/17.0.0/changelog.html
117
+ Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-google/17.0.0
115
118
  Project-URL: Mastodon, https://fosstodon.org/@airflow
116
119
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
117
120
  Project-URL: Source Code, https://github.com/apache/airflow
@@ -161,8 +164,9 @@ Provides-Extra: trino
161
164
 
162
165
  Package ``apache-airflow-providers-google``
163
166
 
164
- Release: ``16.1.0``
167
+ Release: ``17.0.0``
165
168
 
169
+ Release Date: ``|PypiReleaseDate|``
166
170
 
167
171
  Google services including:
168
172
 
@@ -181,7 +185,7 @@ This is a provider package for ``google`` provider. All classes for this provide
181
185
  are in ``airflow.providers.google`` python package.
182
186
 
183
187
  You can find package information and changelog for the provider
184
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-google/16.1.0/>`_.
188
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-google/17.0.0/>`_.
185
189
 
186
190
  Installation
187
191
  ------------
@@ -190,85 +194,87 @@ You can install this package on top of an existing Airflow 2 installation (see `
190
194
  for the minimum Airflow version supported) via
191
195
  ``pip install apache-airflow-providers-google``
192
196
 
193
- The package supports the following python versions: 3.10,3.11,3.12
197
+ The package supports the following python versions: 3.10,3.11,3.12,3.13
194
198
 
195
199
  Requirements
196
200
  ------------
197
201
 
198
- =========================================== ==================================================================
199
- PIP package Version required
200
- =========================================== ==================================================================
201
- ``apache-airflow`` ``>=2.10.0``
202
- ``apache-airflow-providers-common-compat`` ``>=1.4.0``
203
- ``apache-airflow-providers-common-sql`` ``>=1.27.0``
204
- ``asgiref`` ``>=3.5.2``
205
- ``dill`` ``>=0.2.3``
206
- ``gcloud-aio-auth`` ``>=5.2.0``
207
- ``gcloud-aio-bigquery`` ``>=6.1.2``
208
- ``gcloud-aio-storage`` ``>=9.0.0``
209
- ``gcsfs`` ``>=2023.10.0``
210
- ``google-ads`` ``>=26.0.0``
211
- ``google-analytics-admin`` ``>=0.9.0``
212
- ``google-api-core`` ``>=2.11.0,!=2.16.0,!=2.18.0``
213
- ``google-api-python-client`` ``>=2.0.2``
214
- ``google-auth`` ``>=2.29.0``
215
- ``google-auth-httplib2`` ``>=0.0.1``
216
- ``google-cloud-aiplatform[evaluation,ray]`` ``>=1.73.0; python_version < "3.12"``
217
- ``google-cloud-aiplatform[evaluation]`` ``>=1.73.0; python_version >= "3.12"``
218
- ``ray[default]`` ``>=2.42.0; python_version >= "3.12" and python_version < "3.13"``
219
- ``google-cloud-bigquery-storage`` ``>=2.31.0; python_version >= "3.12"``
220
- ``google-cloud-alloydb`` ``>=0.4.0``
221
- ``google-cloud-automl`` ``>=2.12.0``
222
- ``google-cloud-bigquery`` ``>=3.24.0``
223
- ``google-cloud-bigquery-datatransfer`` ``>=3.13.0``
224
- ``google-cloud-bigtable`` ``>=2.17.0``
225
- ``google-cloud-build`` ``>=3.31.0``
226
- ``google-cloud-compute`` ``>=1.10.0``
227
- ``google-cloud-container`` ``>=2.52.0``
228
- ``google-cloud-datacatalog`` ``>=3.23.0``
229
- ``google-cloud-dataflow-client`` ``>=0.8.6``
230
- ``google-cloud-dataform`` ``>=0.5.0``
231
- ``google-cloud-dataplex`` ``>=2.6.0``
232
- ``google-cloud-dataproc`` ``>=5.12.0``
233
- ``google-cloud-dataproc-metastore`` ``>=1.12.0``
234
- ``google-cloud-dlp`` ``>=3.12.0``
235
- ``google-cloud-kms`` ``>=2.15.0``
236
- ``google-cloud-language`` ``>=2.9.0``
237
- ``google-cloud-logging`` ``>=3.5.0``
238
- ``google-cloud-managedkafka`` ``>=0.1.6``
239
- ``google-cloud-memcache`` ``>=1.7.0``
240
- ``google-cloud-monitoring`` ``>=2.18.0``
241
- ``google-cloud-orchestration-airflow`` ``>=1.10.0``
242
- ``google-cloud-os-login`` ``>=2.9.1``
243
- ``google-cloud-pubsub`` ``>=2.21.3``
244
- ``google-cloud-redis`` ``>=2.12.0``
245
- ``google-cloud-secret-manager`` ``>=2.16.0``
246
- ``google-cloud-spanner`` ``>=3.50.0``
247
- ``google-cloud-speech`` ``>=2.18.0``
248
- ``google-cloud-storage`` ``>=2.7.0``
249
- ``google-cloud-storage-transfer`` ``>=1.4.1``
250
- ``google-cloud-tasks`` ``>=2.13.0``
251
- ``google-cloud-texttospeech`` ``>=2.14.1``
252
- ``google-cloud-translate`` ``>=3.16.0``
253
- ``google-cloud-videointelligence`` ``>=2.11.0``
254
- ``google-cloud-vision`` ``>=3.4.0``
255
- ``google-cloud-workflows`` ``>=1.10.0``
256
- ``google-cloud-run`` ``>=0.10.0``
257
- ``google-cloud-batch`` ``>=0.13.0``
258
- ``grpcio-gcp`` ``>=0.2.2``
259
- ``httpx`` ``>=0.25.0``
260
- ``looker-sdk`` ``>=22.4.0,!=24.18.0``
261
- ``pandas-gbq`` ``>=0.7.0``
262
- ``proto-plus`` ``>=1.19.6``
263
- ``pyarrow`` ``>=16.1.0``
264
- ``python-slugify`` ``>=7.0.0``
265
- ``PyOpenSSL`` ``>=23.0.0``
266
- ``sqlalchemy-bigquery`` ``>=1.2.1``
267
- ``sqlalchemy-spanner`` ``>=1.6.2``
268
- ``tenacity`` ``>=8.3.0``
269
- ``immutabledict`` ``>=4.2.0``
270
- ``types-protobuf`` ``>=5.27.0,!=5.29.1.20250402``
271
- =========================================== ==================================================================
202
+ ========================================== ======================================
203
+ PIP package Version required
204
+ ========================================== ======================================
205
+ ``apache-airflow`` ``>=2.10.0``
206
+ ``apache-airflow-providers-common-compat`` ``>=1.4.0``
207
+ ``apache-airflow-providers-common-sql`` ``>=1.27.0``
208
+ ``asgiref`` ``>=3.5.2``
209
+ ``dill`` ``>=0.2.3``
210
+ ``gcloud-aio-auth`` ``>=5.2.0``
211
+ ``gcloud-aio-bigquery`` ``>=6.1.2``
212
+ ``gcloud-aio-storage`` ``>=9.0.0``
213
+ ``gcsfs`` ``>=2023.10.0``
214
+ ``google-ads`` ``>=26.0.0``
215
+ ``google-analytics-admin`` ``>=0.9.0``
216
+ ``google-api-core`` ``>=2.11.0,!=2.16.0,!=2.18.0``
217
+ ``google-api-python-client`` ``>=2.0.2``
218
+ ``google-auth`` ``>=2.29.0``
219
+ ``google-auth-httplib2`` ``>=0.0.1``
220
+ ``google-cloud-aiplatform[evaluation]`` ``>=1.73.0``
221
+ ``ray[default]`` ``>=2.42.0; python_version < "3.13"``
222
+ ``google-cloud-bigquery-storage`` ``>=2.31.0; python_version < "3.13"``
223
+ ``google-cloud-alloydb`` ``>=0.4.0``
224
+ ``google-cloud-automl`` ``>=2.12.0``
225
+ ``google-cloud-bigquery`` ``>=3.24.0``
226
+ ``google-cloud-bigquery-datatransfer`` ``>=3.13.0``
227
+ ``google-cloud-bigtable`` ``>=2.17.0``
228
+ ``google-cloud-build`` ``>=3.31.0``
229
+ ``google-cloud-compute`` ``>=1.10.0``
230
+ ``google-cloud-container`` ``>=2.52.0``
231
+ ``google-cloud-datacatalog`` ``>=3.23.0``
232
+ ``google-cloud-dataflow-client`` ``>=0.8.6``
233
+ ``google-cloud-dataform`` ``>=0.5.0``
234
+ ``google-cloud-dataplex`` ``>=2.6.0``
235
+ ``google-cloud-dataproc`` ``>=5.12.0``
236
+ ``google-cloud-dataproc-metastore`` ``>=1.12.0``
237
+ ``google-cloud-dlp`` ``>=3.12.0``
238
+ ``google-cloud-kms`` ``>=2.15.0``
239
+ ``google-cloud-language`` ``>=2.9.0``
240
+ ``google-cloud-logging`` ``>=3.5.0``
241
+ ``google-cloud-managedkafka`` ``>=0.1.6``
242
+ ``google-cloud-memcache`` ``>=1.7.0``
243
+ ``google-cloud-monitoring`` ``>=2.18.0``
244
+ ``google-cloud-orchestration-airflow`` ``>=1.10.0``
245
+ ``google-cloud-os-login`` ``>=2.9.1``
246
+ ``google-cloud-pubsub`` ``>=2.21.3``
247
+ ``google-cloud-redis`` ``>=2.12.0``
248
+ ``google-cloud-secret-manager`` ``>=2.16.0``
249
+ ``google-cloud-spanner`` ``>=3.50.0``
250
+ ``google-cloud-speech`` ``>=2.18.0``
251
+ ``google-cloud-storage`` ``>=2.9.0``
252
+ ``google-cloud-storage-transfer`` ``>=1.13.0``
253
+ ``google-cloud-tasks`` ``>=2.13.0``
254
+ ``google-cloud-texttospeech`` ``>=2.14.1``
255
+ ``google-cloud-translate`` ``>=3.16.0``
256
+ ``google-cloud-videointelligence`` ``>=2.11.0``
257
+ ``google-cloud-vision`` ``>=3.4.0``
258
+ ``google-cloud-workflows`` ``>=1.10.0``
259
+ ``google-cloud-run`` ``>=0.10.0``
260
+ ``google-cloud-batch`` ``>=0.13.0``
261
+ ``grpcio-gcp`` ``>=0.2.2``
262
+ ``httpx`` ``>=0.25.0``
263
+ ``looker-sdk`` ``>=22.4.0,!=24.18.0``
264
+ ``pandas-gbq`` ``>=0.7.0``
265
+ ``pandas`` ``>=2.1.2; python_version < "3.13"``
266
+ ``pandas`` ``>=2.2.3; python_version >= "3.13"``
267
+ ``proto-plus`` ``>=1.26.0``
268
+ ``pyarrow`` ``>=16.1.0; python_version < "3.13"``
269
+ ``pyarrow`` ``>=18.0.0; python_version >= "3.13"``
270
+ ``python-slugify`` ``>=7.0.0``
271
+ ``PyOpenSSL`` ``>=23.0.0``
272
+ ``sqlalchemy-bigquery`` ``>=1.2.1``
273
+ ``sqlalchemy-spanner`` ``>=1.6.2``
274
+ ``tenacity`` ``>=8.3.0``
275
+ ``immutabledict`` ``>=4.2.0``
276
+ ``types-protobuf`` ``>=5.27.0,!=5.29.1.20250402``
277
+ ========================================== ======================================
272
278
 
273
279
  Cross provider package dependencies
274
280
  -----------------------------------
@@ -308,5 +314,5 @@ Dependent package
308
314
  ======================================================================================================================== ====================
309
315
 
310
316
  The changelog for the provider package can be found in the
311
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/16.1.0/changelog.html>`_.
317
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/17.0.0/changelog.html>`_.
312
318