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.
- airflow/providers/google/3rd-party-licenses/LICENSES.txt +14 -0
- airflow/providers/google/3rd-party-licenses/NOTICE +5 -0
- airflow/providers/google/__init__.py +3 -3
- airflow/providers/google/_vendor/__init__.py +0 -0
- airflow/providers/google/_vendor/json_merge_patch.py +91 -0
- airflow/providers/google/ads/hooks/ads.py +52 -43
- airflow/providers/google/ads/operators/ads.py +2 -2
- airflow/providers/google/ads/transfers/ads_to_gcs.py +3 -19
- airflow/providers/google/assets/gcs.py +1 -11
- airflow/providers/google/cloud/_internal_client/secret_manager_client.py +3 -2
- airflow/providers/google/cloud/bundles/gcs.py +161 -0
- airflow/providers/google/cloud/hooks/alloy_db.py +2 -3
- airflow/providers/google/cloud/hooks/bigquery.py +195 -318
- airflow/providers/google/cloud/hooks/bigquery_dts.py +8 -8
- airflow/providers/google/cloud/hooks/bigtable.py +3 -2
- airflow/providers/google/cloud/hooks/cloud_batch.py +8 -9
- airflow/providers/google/cloud/hooks/cloud_build.py +6 -65
- airflow/providers/google/cloud/hooks/cloud_composer.py +292 -24
- airflow/providers/google/cloud/hooks/cloud_logging.py +109 -0
- airflow/providers/google/cloud/hooks/cloud_memorystore.py +4 -3
- airflow/providers/google/cloud/hooks/cloud_run.py +20 -11
- airflow/providers/google/cloud/hooks/cloud_sql.py +136 -64
- airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py +35 -15
- airflow/providers/google/cloud/hooks/compute.py +7 -6
- airflow/providers/google/cloud/hooks/compute_ssh.py +7 -4
- airflow/providers/google/cloud/hooks/datacatalog.py +12 -3
- airflow/providers/google/cloud/hooks/dataflow.py +87 -242
- airflow/providers/google/cloud/hooks/dataform.py +9 -14
- airflow/providers/google/cloud/hooks/datafusion.py +7 -9
- airflow/providers/google/cloud/hooks/dataplex.py +13 -12
- airflow/providers/google/cloud/hooks/dataprep.py +2 -2
- airflow/providers/google/cloud/hooks/dataproc.py +76 -74
- airflow/providers/google/cloud/hooks/dataproc_metastore.py +4 -3
- airflow/providers/google/cloud/hooks/dlp.py +5 -4
- airflow/providers/google/cloud/hooks/gcs.py +144 -33
- airflow/providers/google/cloud/hooks/gen_ai.py +196 -0
- airflow/providers/google/cloud/hooks/kms.py +3 -2
- airflow/providers/google/cloud/hooks/kubernetes_engine.py +22 -17
- airflow/providers/google/cloud/hooks/looker.py +6 -1
- airflow/providers/google/cloud/hooks/managed_kafka.py +227 -3
- airflow/providers/google/cloud/hooks/mlengine.py +7 -8
- airflow/providers/google/cloud/hooks/natural_language.py +3 -2
- airflow/providers/google/cloud/hooks/os_login.py +3 -2
- airflow/providers/google/cloud/hooks/pubsub.py +6 -6
- airflow/providers/google/cloud/hooks/secret_manager.py +105 -12
- airflow/providers/google/cloud/hooks/spanner.py +75 -10
- airflow/providers/google/cloud/hooks/speech_to_text.py +3 -2
- airflow/providers/google/cloud/hooks/stackdriver.py +18 -18
- airflow/providers/google/cloud/hooks/tasks.py +4 -3
- airflow/providers/google/cloud/hooks/text_to_speech.py +3 -2
- airflow/providers/google/cloud/hooks/translate.py +8 -17
- airflow/providers/google/cloud/hooks/vertex_ai/auto_ml.py +8 -222
- airflow/providers/google/cloud/hooks/vertex_ai/batch_prediction_job.py +9 -15
- airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py +33 -283
- airflow/providers/google/cloud/hooks/vertex_ai/dataset.py +5 -12
- airflow/providers/google/cloud/hooks/vertex_ai/endpoint_service.py +6 -12
- airflow/providers/google/cloud/hooks/vertex_ai/experiment_service.py +202 -0
- airflow/providers/google/cloud/hooks/vertex_ai/feature_store.py +311 -10
- airflow/providers/google/cloud/hooks/vertex_ai/generative_model.py +79 -75
- airflow/providers/google/cloud/hooks/vertex_ai/hyperparameter_tuning_job.py +7 -13
- airflow/providers/google/cloud/hooks/vertex_ai/model_service.py +8 -12
- airflow/providers/google/cloud/hooks/vertex_ai/pipeline_job.py +6 -12
- airflow/providers/google/cloud/hooks/vertex_ai/prediction_service.py +3 -2
- airflow/providers/google/cloud/hooks/vertex_ai/ray.py +223 -0
- airflow/providers/google/cloud/hooks/video_intelligence.py +3 -2
- airflow/providers/google/cloud/hooks/vision.py +7 -7
- airflow/providers/google/cloud/hooks/workflows.py +4 -3
- airflow/providers/google/cloud/links/alloy_db.py +0 -46
- airflow/providers/google/cloud/links/base.py +77 -7
- airflow/providers/google/cloud/links/bigquery.py +0 -47
- airflow/providers/google/cloud/links/bigquery_dts.py +0 -20
- airflow/providers/google/cloud/links/bigtable.py +0 -48
- airflow/providers/google/cloud/links/cloud_build.py +0 -73
- airflow/providers/google/cloud/links/cloud_functions.py +0 -33
- airflow/providers/google/cloud/links/cloud_memorystore.py +0 -58
- airflow/providers/google/cloud/links/{life_sciences.py → cloud_run.py} +5 -27
- airflow/providers/google/cloud/links/cloud_sql.py +0 -33
- airflow/providers/google/cloud/links/cloud_storage_transfer.py +17 -46
- airflow/providers/google/cloud/links/cloud_tasks.py +7 -26
- airflow/providers/google/cloud/links/compute.py +0 -58
- airflow/providers/google/cloud/links/data_loss_prevention.py +0 -169
- airflow/providers/google/cloud/links/datacatalog.py +23 -54
- airflow/providers/google/cloud/links/dataflow.py +0 -34
- airflow/providers/google/cloud/links/dataform.py +0 -64
- airflow/providers/google/cloud/links/datafusion.py +1 -90
- airflow/providers/google/cloud/links/dataplex.py +0 -154
- airflow/providers/google/cloud/links/dataprep.py +0 -24
- airflow/providers/google/cloud/links/dataproc.py +11 -89
- airflow/providers/google/cloud/links/datastore.py +0 -31
- airflow/providers/google/cloud/links/kubernetes_engine.py +11 -61
- airflow/providers/google/cloud/links/managed_kafka.py +11 -51
- airflow/providers/google/cloud/links/mlengine.py +0 -70
- airflow/providers/google/cloud/links/pubsub.py +0 -32
- airflow/providers/google/cloud/links/spanner.py +0 -33
- airflow/providers/google/cloud/links/stackdriver.py +0 -30
- airflow/providers/google/cloud/links/translate.py +17 -187
- airflow/providers/google/cloud/links/vertex_ai.py +28 -195
- airflow/providers/google/cloud/links/workflows.py +0 -52
- airflow/providers/google/cloud/log/gcs_task_handler.py +166 -118
- airflow/providers/google/cloud/log/stackdriver_task_handler.py +14 -9
- airflow/providers/google/cloud/openlineage/CloudStorageTransferJobFacet.json +68 -0
- airflow/providers/google/cloud/openlineage/CloudStorageTransferRunFacet.json +60 -0
- airflow/providers/google/cloud/openlineage/DataFusionRunFacet.json +32 -0
- airflow/providers/google/cloud/openlineage/facets.py +141 -40
- airflow/providers/google/cloud/openlineage/mixins.py +14 -13
- airflow/providers/google/cloud/openlineage/utils.py +19 -3
- airflow/providers/google/cloud/operators/alloy_db.py +76 -61
- airflow/providers/google/cloud/operators/bigquery.py +104 -667
- airflow/providers/google/cloud/operators/bigquery_dts.py +12 -12
- airflow/providers/google/cloud/operators/bigtable.py +38 -7
- airflow/providers/google/cloud/operators/cloud_base.py +22 -1
- airflow/providers/google/cloud/operators/cloud_batch.py +18 -18
- airflow/providers/google/cloud/operators/cloud_build.py +80 -36
- airflow/providers/google/cloud/operators/cloud_composer.py +157 -71
- airflow/providers/google/cloud/operators/cloud_logging_sink.py +341 -0
- airflow/providers/google/cloud/operators/cloud_memorystore.py +74 -46
- airflow/providers/google/cloud/operators/cloud_run.py +39 -20
- airflow/providers/google/cloud/operators/cloud_sql.py +46 -61
- airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py +92 -14
- airflow/providers/google/cloud/operators/compute.py +18 -50
- airflow/providers/google/cloud/operators/datacatalog.py +167 -29
- airflow/providers/google/cloud/operators/dataflow.py +38 -15
- airflow/providers/google/cloud/operators/dataform.py +19 -7
- airflow/providers/google/cloud/operators/datafusion.py +43 -43
- airflow/providers/google/cloud/operators/dataplex.py +212 -126
- airflow/providers/google/cloud/operators/dataprep.py +1 -5
- airflow/providers/google/cloud/operators/dataproc.py +134 -207
- airflow/providers/google/cloud/operators/dataproc_metastore.py +102 -84
- airflow/providers/google/cloud/operators/datastore.py +22 -6
- airflow/providers/google/cloud/operators/dlp.py +24 -45
- airflow/providers/google/cloud/operators/functions.py +21 -14
- airflow/providers/google/cloud/operators/gcs.py +15 -12
- airflow/providers/google/cloud/operators/gen_ai.py +389 -0
- airflow/providers/google/cloud/operators/kubernetes_engine.py +115 -106
- airflow/providers/google/cloud/operators/looker.py +1 -1
- airflow/providers/google/cloud/operators/managed_kafka.py +362 -40
- airflow/providers/google/cloud/operators/natural_language.py +5 -3
- airflow/providers/google/cloud/operators/pubsub.py +69 -21
- airflow/providers/google/cloud/operators/spanner.py +53 -45
- airflow/providers/google/cloud/operators/speech_to_text.py +5 -4
- airflow/providers/google/cloud/operators/stackdriver.py +5 -11
- airflow/providers/google/cloud/operators/tasks.py +6 -15
- airflow/providers/google/cloud/operators/text_to_speech.py +4 -3
- airflow/providers/google/cloud/operators/translate.py +46 -20
- airflow/providers/google/cloud/operators/translate_speech.py +4 -3
- airflow/providers/google/cloud/operators/vertex_ai/auto_ml.py +44 -34
- airflow/providers/google/cloud/operators/vertex_ai/batch_prediction_job.py +34 -12
- airflow/providers/google/cloud/operators/vertex_ai/custom_job.py +62 -53
- airflow/providers/google/cloud/operators/vertex_ai/dataset.py +75 -11
- airflow/providers/google/cloud/operators/vertex_ai/endpoint_service.py +48 -12
- airflow/providers/google/cloud/operators/vertex_ai/experiment_service.py +435 -0
- airflow/providers/google/cloud/operators/vertex_ai/feature_store.py +532 -1
- airflow/providers/google/cloud/operators/vertex_ai/generative_model.py +135 -116
- airflow/providers/google/cloud/operators/vertex_ai/hyperparameter_tuning_job.py +16 -12
- airflow/providers/google/cloud/operators/vertex_ai/model_service.py +62 -14
- airflow/providers/google/cloud/operators/vertex_ai/pipeline_job.py +35 -10
- airflow/providers/google/cloud/operators/vertex_ai/ray.py +393 -0
- airflow/providers/google/cloud/operators/video_intelligence.py +5 -3
- airflow/providers/google/cloud/operators/vision.py +7 -5
- airflow/providers/google/cloud/operators/workflows.py +24 -19
- airflow/providers/google/cloud/secrets/secret_manager.py +2 -1
- airflow/providers/google/cloud/sensors/bigquery.py +2 -2
- airflow/providers/google/cloud/sensors/bigquery_dts.py +6 -4
- airflow/providers/google/cloud/sensors/bigtable.py +14 -6
- airflow/providers/google/cloud/sensors/cloud_composer.py +535 -33
- airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py +6 -5
- airflow/providers/google/cloud/sensors/dataflow.py +27 -10
- airflow/providers/google/cloud/sensors/dataform.py +2 -2
- airflow/providers/google/cloud/sensors/datafusion.py +4 -4
- airflow/providers/google/cloud/sensors/dataplex.py +7 -5
- airflow/providers/google/cloud/sensors/dataprep.py +2 -2
- airflow/providers/google/cloud/sensors/dataproc.py +10 -9
- airflow/providers/google/cloud/sensors/dataproc_metastore.py +4 -3
- airflow/providers/google/cloud/sensors/gcs.py +22 -21
- airflow/providers/google/cloud/sensors/looker.py +5 -5
- airflow/providers/google/cloud/sensors/pubsub.py +20 -20
- airflow/providers/google/cloud/sensors/tasks.py +2 -2
- airflow/providers/google/cloud/sensors/vertex_ai/feature_store.py +2 -2
- airflow/providers/google/cloud/sensors/workflows.py +6 -4
- airflow/providers/google/cloud/transfers/adls_to_gcs.py +1 -1
- airflow/providers/google/cloud/transfers/azure_blob_to_gcs.py +2 -2
- airflow/providers/google/cloud/transfers/azure_fileshare_to_gcs.py +2 -2
- airflow/providers/google/cloud/transfers/bigquery_to_bigquery.py +11 -8
- airflow/providers/google/cloud/transfers/bigquery_to_gcs.py +14 -13
- airflow/providers/google/cloud/transfers/bigquery_to_mssql.py +7 -3
- airflow/providers/google/cloud/transfers/bigquery_to_mysql.py +12 -1
- airflow/providers/google/cloud/transfers/bigquery_to_postgres.py +24 -10
- airflow/providers/google/cloud/transfers/bigquery_to_sql.py +104 -5
- airflow/providers/google/cloud/transfers/calendar_to_gcs.py +1 -1
- airflow/providers/google/cloud/transfers/cassandra_to_gcs.py +18 -22
- airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py +4 -5
- airflow/providers/google/cloud/transfers/gcs_to_bigquery.py +45 -38
- airflow/providers/google/cloud/transfers/gcs_to_gcs.py +2 -2
- airflow/providers/google/cloud/transfers/gcs_to_local.py +5 -3
- airflow/providers/google/cloud/transfers/gcs_to_sftp.py +10 -4
- airflow/providers/google/cloud/transfers/gdrive_to_gcs.py +6 -2
- airflow/providers/google/cloud/transfers/gdrive_to_local.py +2 -2
- airflow/providers/google/cloud/transfers/http_to_gcs.py +193 -0
- airflow/providers/google/cloud/transfers/local_to_gcs.py +2 -2
- airflow/providers/google/cloud/transfers/mssql_to_gcs.py +1 -1
- airflow/providers/google/cloud/transfers/oracle_to_gcs.py +36 -11
- airflow/providers/google/cloud/transfers/postgres_to_gcs.py +44 -12
- airflow/providers/google/cloud/transfers/s3_to_gcs.py +12 -6
- airflow/providers/google/cloud/transfers/salesforce_to_gcs.py +2 -2
- airflow/providers/google/cloud/transfers/sftp_to_gcs.py +36 -14
- airflow/providers/google/cloud/transfers/sheets_to_gcs.py +3 -3
- airflow/providers/google/cloud/transfers/sql_to_gcs.py +10 -10
- airflow/providers/google/cloud/triggers/bigquery.py +75 -34
- airflow/providers/google/cloud/triggers/bigquery_dts.py +2 -1
- airflow/providers/google/cloud/triggers/cloud_batch.py +2 -1
- airflow/providers/google/cloud/triggers/cloud_build.py +3 -2
- airflow/providers/google/cloud/triggers/cloud_composer.py +303 -47
- airflow/providers/google/cloud/triggers/cloud_run.py +2 -2
- airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py +96 -5
- airflow/providers/google/cloud/triggers/dataflow.py +125 -2
- airflow/providers/google/cloud/triggers/datafusion.py +1 -1
- airflow/providers/google/cloud/triggers/dataplex.py +16 -3
- airflow/providers/google/cloud/triggers/dataproc.py +124 -53
- airflow/providers/google/cloud/triggers/kubernetes_engine.py +46 -28
- airflow/providers/google/cloud/triggers/mlengine.py +1 -1
- airflow/providers/google/cloud/triggers/pubsub.py +17 -20
- airflow/providers/google/cloud/triggers/vertex_ai.py +8 -7
- airflow/providers/google/cloud/utils/bigquery.py +5 -7
- airflow/providers/google/cloud/utils/bigquery_get_data.py +1 -1
- airflow/providers/google/cloud/utils/credentials_provider.py +4 -3
- airflow/providers/google/cloud/utils/dataform.py +1 -1
- airflow/providers/google/cloud/utils/external_token_supplier.py +0 -1
- airflow/providers/google/cloud/utils/field_validator.py +1 -2
- airflow/providers/google/cloud/utils/validators.py +43 -0
- airflow/providers/google/common/auth_backend/google_openid.py +26 -9
- airflow/providers/google/common/consts.py +2 -1
- airflow/providers/google/common/deprecated.py +2 -1
- airflow/providers/google/common/hooks/base_google.py +40 -43
- airflow/providers/google/common/hooks/operation_helpers.py +78 -0
- airflow/providers/google/common/links/storage.py +0 -22
- airflow/providers/google/common/utils/get_secret.py +31 -0
- airflow/providers/google/common/utils/id_token_credentials.py +4 -5
- airflow/providers/google/firebase/operators/firestore.py +2 -2
- airflow/providers/google/get_provider_info.py +61 -216
- airflow/providers/google/go_module_utils.py +35 -3
- airflow/providers/google/leveldb/hooks/leveldb.py +30 -6
- airflow/providers/google/leveldb/operators/leveldb.py +2 -2
- airflow/providers/google/marketing_platform/hooks/analytics_admin.py +3 -2
- airflow/providers/google/marketing_platform/hooks/display_video.py +3 -109
- airflow/providers/google/marketing_platform/hooks/search_ads.py +1 -1
- airflow/providers/google/marketing_platform/links/analytics_admin.py +4 -5
- airflow/providers/google/marketing_platform/operators/analytics_admin.py +7 -6
- airflow/providers/google/marketing_platform/operators/campaign_manager.py +5 -5
- airflow/providers/google/marketing_platform/operators/display_video.py +28 -489
- airflow/providers/google/marketing_platform/operators/search_ads.py +2 -2
- airflow/providers/google/marketing_platform/sensors/campaign_manager.py +2 -2
- airflow/providers/google/marketing_platform/sensors/display_video.py +4 -64
- airflow/providers/google/suite/hooks/calendar.py +1 -1
- airflow/providers/google/suite/hooks/drive.py +2 -2
- airflow/providers/google/suite/hooks/sheets.py +15 -1
- airflow/providers/google/suite/operators/sheets.py +8 -3
- airflow/providers/google/suite/sensors/drive.py +2 -2
- airflow/providers/google/suite/transfers/gcs_to_gdrive.py +2 -2
- airflow/providers/google/suite/transfers/gcs_to_sheets.py +1 -1
- airflow/providers/google/suite/transfers/local_to_drive.py +3 -3
- airflow/providers/google/suite/transfers/sql_to_sheets.py +5 -4
- airflow/providers/google/version_compat.py +15 -1
- {apache_airflow_providers_google-14.0.0.dist-info → apache_airflow_providers_google-19.1.0rc1.dist-info}/METADATA +117 -72
- apache_airflow_providers_google-19.1.0rc1.dist-info/RECORD +331 -0
- {apache_airflow_providers_google-14.0.0.dist-info → apache_airflow_providers_google-19.1.0rc1.dist-info}/WHEEL +1 -1
- apache_airflow_providers_google-19.1.0rc1.dist-info/licenses/NOTICE +5 -0
- airflow/providers/google/cloud/example_dags/example_cloud_task.py +0 -54
- airflow/providers/google/cloud/hooks/automl.py +0 -679
- airflow/providers/google/cloud/hooks/life_sciences.py +0 -159
- airflow/providers/google/cloud/links/automl.py +0 -193
- airflow/providers/google/cloud/operators/automl.py +0 -1360
- airflow/providers/google/cloud/operators/life_sciences.py +0 -119
- airflow/providers/google/cloud/operators/mlengine.py +0 -1515
- airflow/providers/google/cloud/utils/mlengine_operator_utils.py +0 -273
- apache_airflow_providers_google-14.0.0.dist-info/RECORD +0 -318
- /airflow/providers/google/cloud/{example_dags → bundles}/__init__.py +0 -0
- {apache_airflow_providers_google-14.0.0.dist-info → apache_airflow_providers_google-19.1.0rc1.dist-info}/entry_points.txt +0 -0
- {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
|
|
195
|
+
path = f"{file_info['name']}"
|
|
196
196
|
else:
|
|
197
|
-
path = f
|
|
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
|
-
|
|
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
|
-
|
|
72
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
92
|
+
item_list.append(item.isoformat())
|
|
93
93
|
elif isinstance(item, int): # To exclude int from the number check.
|
|
94
|
-
|
|
94
|
+
item_list.append(item)
|
|
95
95
|
elif isinstance(item, numbers.Number):
|
|
96
|
-
|
|
97
|
-
|
|
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.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-google
|
|
3
|
-
Version:
|
|
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:
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
Requires-Dist: apache-airflow
|
|
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>=
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
68
|
-
Requires-Dist: google-cloud-storage-transfer>=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
|
|
83
|
-
Requires-Dist:
|
|
84
|
-
Requires-Dist:
|
|
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.
|
|
94
|
+
Requires-Dist: tenacity>=8.3.0
|
|
90
95
|
Requires-Dist: immutabledict>=4.2.0
|
|
91
|
-
Requires-Dist:
|
|
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.
|
|
96
|
-
Requires-Dist: apache-airflow-providers-
|
|
97
|
-
Requires-Dist:
|
|
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.
|
|
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/
|
|
111
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-google/
|
|
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
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
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
|
-
|
|
155
|
+
.. http://www.apache.org/licenses/LICENSE-2.0
|
|
144
156
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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
|
-
|
|
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: ``
|
|
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/
|
|
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
|
|
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.
|
|
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.
|
|
198
|
-
``apache-airflow-providers-common-compat`` ``>=1.
|
|
199
|
-
``apache-airflow-providers-common-sql`` ``>=1.
|
|
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`` ``>=
|
|
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.
|
|
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``
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
252
|
+
``google-cloud-spanner`` ``>=3.50.0``
|
|
240
253
|
``google-cloud-speech`` ``>=2.18.0``
|
|
241
|
-
``google-cloud-storage`` ``>=2.
|
|
242
|
-
``google-cloud-storage-transfer`` ``>=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
|
|
257
|
-
``
|
|
258
|
-
``
|
|
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.
|
|
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
|
|
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/
|
|
349
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/19.1.0/changelog.html>`_.
|
|
305
350
|
|