apache-airflow-providers-google 15.1.0rc1__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/NOTICE +2 -12
- airflow/providers/google/__init__.py +3 -3
- airflow/providers/google/ads/hooks/ads.py +39 -5
- airflow/providers/google/ads/operators/ads.py +2 -2
- airflow/providers/google/ads/transfers/ads_to_gcs.py +2 -2
- airflow/providers/google/assets/gcs.py +1 -11
- airflow/providers/google/cloud/bundles/__init__.py +16 -0
- airflow/providers/google/cloud/bundles/gcs.py +161 -0
- airflow/providers/google/cloud/hooks/bigquery.py +166 -281
- airflow/providers/google/cloud/hooks/cloud_composer.py +287 -14
- airflow/providers/google/cloud/hooks/cloud_logging.py +109 -0
- airflow/providers/google/cloud/hooks/cloud_run.py +17 -9
- airflow/providers/google/cloud/hooks/cloud_sql.py +101 -22
- airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py +27 -6
- airflow/providers/google/cloud/hooks/compute_ssh.py +5 -1
- airflow/providers/google/cloud/hooks/datacatalog.py +9 -1
- airflow/providers/google/cloud/hooks/dataflow.py +71 -94
- airflow/providers/google/cloud/hooks/datafusion.py +1 -1
- airflow/providers/google/cloud/hooks/dataplex.py +1 -1
- airflow/providers/google/cloud/hooks/dataprep.py +1 -1
- airflow/providers/google/cloud/hooks/dataproc.py +72 -71
- airflow/providers/google/cloud/hooks/gcs.py +111 -14
- airflow/providers/google/cloud/hooks/gen_ai.py +196 -0
- airflow/providers/google/cloud/hooks/kubernetes_engine.py +2 -2
- airflow/providers/google/cloud/hooks/looker.py +6 -1
- airflow/providers/google/cloud/hooks/mlengine.py +3 -2
- airflow/providers/google/cloud/hooks/secret_manager.py +102 -10
- airflow/providers/google/cloud/hooks/spanner.py +73 -8
- airflow/providers/google/cloud/hooks/stackdriver.py +10 -8
- airflow/providers/google/cloud/hooks/translate.py +1 -1
- airflow/providers/google/cloud/hooks/vertex_ai/auto_ml.py +0 -209
- airflow/providers/google/cloud/hooks/vertex_ai/batch_prediction_job.py +2 -2
- airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py +27 -1
- airflow/providers/google/cloud/hooks/vertex_ai/experiment_service.py +202 -0
- airflow/providers/google/cloud/hooks/vertex_ai/feature_store.py +307 -7
- airflow/providers/google/cloud/hooks/vertex_ai/generative_model.py +79 -75
- airflow/providers/google/cloud/hooks/vertex_ai/ray.py +223 -0
- airflow/providers/google/cloud/hooks/vision.py +2 -2
- airflow/providers/google/cloud/hooks/workflows.py +1 -1
- airflow/providers/google/cloud/links/alloy_db.py +0 -46
- airflow/providers/google/cloud/links/base.py +77 -13
- 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 -44
- 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 -96
- 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 -95
- airflow/providers/google/cloud/links/datastore.py +0 -31
- airflow/providers/google/cloud/links/kubernetes_engine.py +9 -60
- airflow/providers/google/cloud/links/managed_kafka.py +0 -70
- 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 +17 -9
- airflow/providers/google/cloud/log/stackdriver_task_handler.py +9 -6
- 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 +102 -1
- airflow/providers/google/cloud/openlineage/mixins.py +10 -8
- airflow/providers/google/cloud/openlineage/utils.py +15 -1
- airflow/providers/google/cloud/operators/alloy_db.py +70 -55
- airflow/providers/google/cloud/operators/bigquery.py +73 -636
- airflow/providers/google/cloud/operators/bigquery_dts.py +3 -5
- airflow/providers/google/cloud/operators/bigtable.py +36 -7
- airflow/providers/google/cloud/operators/cloud_base.py +21 -1
- airflow/providers/google/cloud/operators/cloud_batch.py +2 -2
- airflow/providers/google/cloud/operators/cloud_build.py +75 -32
- airflow/providers/google/cloud/operators/cloud_composer.py +128 -40
- airflow/providers/google/cloud/operators/cloud_logging_sink.py +341 -0
- airflow/providers/google/cloud/operators/cloud_memorystore.py +69 -43
- airflow/providers/google/cloud/operators/cloud_run.py +23 -5
- airflow/providers/google/cloud/operators/cloud_sql.py +8 -16
- airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py +92 -11
- airflow/providers/google/cloud/operators/compute.py +8 -40
- airflow/providers/google/cloud/operators/datacatalog.py +157 -21
- airflow/providers/google/cloud/operators/dataflow.py +38 -15
- airflow/providers/google/cloud/operators/dataform.py +15 -5
- airflow/providers/google/cloud/operators/datafusion.py +41 -20
- airflow/providers/google/cloud/operators/dataplex.py +193 -109
- airflow/providers/google/cloud/operators/dataprep.py +1 -5
- airflow/providers/google/cloud/operators/dataproc.py +78 -35
- airflow/providers/google/cloud/operators/dataproc_metastore.py +96 -88
- airflow/providers/google/cloud/operators/datastore.py +22 -6
- airflow/providers/google/cloud/operators/dlp.py +6 -29
- airflow/providers/google/cloud/operators/functions.py +16 -7
- airflow/providers/google/cloud/operators/gcs.py +10 -8
- airflow/providers/google/cloud/operators/gen_ai.py +389 -0
- airflow/providers/google/cloud/operators/kubernetes_engine.py +60 -99
- airflow/providers/google/cloud/operators/looker.py +1 -1
- airflow/providers/google/cloud/operators/managed_kafka.py +107 -52
- airflow/providers/google/cloud/operators/natural_language.py +1 -1
- airflow/providers/google/cloud/operators/pubsub.py +60 -14
- airflow/providers/google/cloud/operators/spanner.py +25 -12
- airflow/providers/google/cloud/operators/speech_to_text.py +1 -2
- airflow/providers/google/cloud/operators/stackdriver.py +1 -9
- airflow/providers/google/cloud/operators/tasks.py +1 -12
- airflow/providers/google/cloud/operators/text_to_speech.py +1 -2
- airflow/providers/google/cloud/operators/translate.py +40 -16
- airflow/providers/google/cloud/operators/translate_speech.py +1 -2
- airflow/providers/google/cloud/operators/vertex_ai/auto_ml.py +39 -19
- airflow/providers/google/cloud/operators/vertex_ai/batch_prediction_job.py +29 -9
- airflow/providers/google/cloud/operators/vertex_ai/custom_job.py +54 -26
- airflow/providers/google/cloud/operators/vertex_ai/dataset.py +70 -8
- airflow/providers/google/cloud/operators/vertex_ai/endpoint_service.py +43 -9
- 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 +11 -9
- airflow/providers/google/cloud/operators/vertex_ai/model_service.py +57 -11
- airflow/providers/google/cloud/operators/vertex_ai/pipeline_job.py +30 -7
- airflow/providers/google/cloud/operators/vertex_ai/ray.py +393 -0
- airflow/providers/google/cloud/operators/video_intelligence.py +1 -1
- airflow/providers/google/cloud/operators/vision.py +2 -2
- airflow/providers/google/cloud/operators/workflows.py +18 -15
- airflow/providers/google/cloud/sensors/bigquery.py +2 -2
- airflow/providers/google/cloud/sensors/bigquery_dts.py +2 -2
- airflow/providers/google/cloud/sensors/bigtable.py +11 -4
- airflow/providers/google/cloud/sensors/cloud_composer.py +533 -29
- airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py +2 -2
- airflow/providers/google/cloud/sensors/dataflow.py +26 -9
- 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 +2 -2
- airflow/providers/google/cloud/sensors/dataprep.py +2 -2
- airflow/providers/google/cloud/sensors/dataproc.py +2 -2
- airflow/providers/google/cloud/sensors/dataproc_metastore.py +2 -2
- airflow/providers/google/cloud/sensors/gcs.py +4 -4
- airflow/providers/google/cloud/sensors/looker.py +2 -2
- airflow/providers/google/cloud/sensors/pubsub.py +4 -4
- 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 +2 -2
- 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 +4 -4
- 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 +2 -2
- airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py +3 -3
- airflow/providers/google/cloud/transfers/gcs_to_bigquery.py +20 -12
- 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 +42 -9
- 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 +13 -4
- 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/cloud_build.py +1 -1
- airflow/providers/google/cloud/triggers/cloud_composer.py +302 -46
- airflow/providers/google/cloud/triggers/cloud_run.py +2 -2
- airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py +91 -1
- airflow/providers/google/cloud/triggers/dataflow.py +122 -0
- airflow/providers/google/cloud/triggers/datafusion.py +1 -1
- airflow/providers/google/cloud/triggers/dataplex.py +14 -2
- airflow/providers/google/cloud/triggers/dataproc.py +122 -52
- airflow/providers/google/cloud/triggers/kubernetes_engine.py +45 -27
- airflow/providers/google/cloud/triggers/mlengine.py +1 -1
- airflow/providers/google/cloud/triggers/pubsub.py +15 -19
- airflow/providers/google/cloud/utils/bigquery_get_data.py +1 -1
- airflow/providers/google/cloud/utils/credentials_provider.py +1 -1
- airflow/providers/google/cloud/utils/field_validator.py +1 -2
- airflow/providers/google/common/auth_backend/google_openid.py +4 -4
- airflow/providers/google/common/deprecated.py +2 -1
- airflow/providers/google/common/hooks/base_google.py +27 -8
- 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 +3 -4
- airflow/providers/google/firebase/operators/firestore.py +2 -2
- airflow/providers/google/get_provider_info.py +56 -52
- airflow/providers/google/go_module_utils.py +35 -3
- airflow/providers/google/leveldb/hooks/leveldb.py +26 -1
- airflow/providers/google/leveldb/operators/leveldb.py +2 -2
- airflow/providers/google/marketing_platform/hooks/display_video.py +3 -109
- airflow/providers/google/marketing_platform/links/analytics_admin.py +5 -14
- airflow/providers/google/marketing_platform/operators/analytics_admin.py +1 -2
- 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 +3 -63
- airflow/providers/google/suite/hooks/calendar.py +1 -1
- 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-15.1.0rc1.dist-info → apache_airflow_providers_google-19.1.0rc1.dist-info}/METADATA +92 -48
- apache_airflow_providers_google-19.1.0rc1.dist-info/RECORD +331 -0
- apache_airflow_providers_google-19.1.0rc1.dist-info/licenses/NOTICE +5 -0
- airflow/providers/google/cloud/hooks/automl.py +0 -673
- 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 -1362
- airflow/providers/google/cloud/operators/life_sciences.py +0 -119
- airflow/providers/google/cloud/operators/mlengine.py +0 -112
- apache_airflow_providers_google-15.1.0rc1.dist-info/RECORD +0 -321
- {apache_airflow_providers_google-15.1.0rc1.dist-info → apache_airflow_providers_google-19.1.0rc1.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_google-15.1.0rc1.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
|
@@ -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
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,31 +15,34 @@ 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>=26.0.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.
|
|
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
|
|
@@ -48,7 +52,7 @@ 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
|
|
@@ -62,10 +66,10 @@ Requires-Dist: google-cloud-os-login>=2.9.1
|
|
|
62
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
|
|
@@ -78,38 +82,42 @@ Requires-Dist: grpcio-gcp>=0.2.2
|
|
|
78
82
|
Requires-Dist: httpx>=0.25.0
|
|
79
83
|
Requires-Dist: looker-sdk>=22.4.0,!=24.18.0
|
|
80
84
|
Requires-Dist: pandas-gbq>=0.7.0
|
|
81
|
-
Requires-Dist: pandas>=2.1.2
|
|
82
|
-
Requires-Dist:
|
|
83
|
-
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'
|
|
84
90
|
Requires-Dist: python-slugify>=7.0.0
|
|
85
91
|
Requires-Dist: PyOpenSSL>=23.0.0
|
|
86
92
|
Requires-Dist: sqlalchemy-bigquery>=1.2.1
|
|
87
93
|
Requires-Dist: sqlalchemy-spanner>=1.6.2
|
|
88
|
-
Requires-Dist: tenacity>=8.
|
|
94
|
+
Requires-Dist: tenacity>=8.3.0
|
|
89
95
|
Requires-Dist: immutabledict>=4.2.0
|
|
90
|
-
Requires-Dist: types-protobuf!=5.29.1.20250402
|
|
91
|
-
Requires-Dist: apache-airflow-providers-amazon>=2.6.
|
|
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-fab>=2.0.
|
|
97
|
-
Requires-Dist: apache-airflow-providers-facebook>=2.2.
|
|
98
|
-
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')
|
|
99
106
|
Requires-Dist: apache-airflow-providers-microsoft-azure ; extra == "microsoft-azure"
|
|
100
107
|
Requires-Dist: apache-airflow-providers-microsoft-mssql ; extra == "microsoft-mssql"
|
|
101
108
|
Requires-Dist: apache-airflow-providers-mysql ; extra == "mysql"
|
|
102
109
|
Requires-Dist: apache-airflow-providers-openlineage ; extra == "openlineage"
|
|
103
|
-
Requires-Dist: apache-airflow-providers-oracle>=3.1.
|
|
110
|
+
Requires-Dist: apache-airflow-providers-oracle>=3.1.0rc1 ; extra == "oracle"
|
|
104
111
|
Requires-Dist: apache-airflow-providers-postgres ; extra == "postgres"
|
|
105
112
|
Requires-Dist: apache-airflow-providers-presto ; extra == "presto"
|
|
106
113
|
Requires-Dist: apache-airflow-providers-salesforce ; extra == "salesforce"
|
|
107
114
|
Requires-Dist: apache-airflow-providers-sftp ; extra == "sftp"
|
|
108
115
|
Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
|
|
116
|
+
Requires-Dist: apache-airflow-providers-standard ; extra == "standard"
|
|
109
117
|
Requires-Dist: apache-airflow-providers-trino ; extra == "trino"
|
|
110
118
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
111
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-google/
|
|
112
|
-
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
|
|
113
121
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
114
122
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
115
123
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -120,6 +128,7 @@ Provides-Extra: apache-cassandra
|
|
|
120
128
|
Provides-Extra: cncf-kubernetes
|
|
121
129
|
Provides-Extra: fab
|
|
122
130
|
Provides-Extra: facebook
|
|
131
|
+
Provides-Extra: http
|
|
123
132
|
Provides-Extra: leveldb
|
|
124
133
|
Provides-Extra: microsoft-azure
|
|
125
134
|
Provides-Extra: microsoft-mssql
|
|
@@ -131,6 +140,7 @@ Provides-Extra: presto
|
|
|
131
140
|
Provides-Extra: salesforce
|
|
132
141
|
Provides-Extra: sftp
|
|
133
142
|
Provides-Extra: ssh
|
|
143
|
+
Provides-Extra: standard
|
|
134
144
|
Provides-Extra: trino
|
|
135
145
|
|
|
136
146
|
|
|
@@ -158,7 +168,7 @@ Provides-Extra: trino
|
|
|
158
168
|
|
|
159
169
|
Package ``apache-airflow-providers-google``
|
|
160
170
|
|
|
161
|
-
Release: ``
|
|
171
|
+
Release: ``19.1.0``
|
|
162
172
|
|
|
163
173
|
|
|
164
174
|
Google services including:
|
|
@@ -178,16 +188,16 @@ This is a provider package for ``google`` provider. All classes for this provide
|
|
|
178
188
|
are in ``airflow.providers.google`` python package.
|
|
179
189
|
|
|
180
190
|
You can find package information and changelog for the provider
|
|
181
|
-
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/>`_.
|
|
182
192
|
|
|
183
193
|
Installation
|
|
184
194
|
------------
|
|
185
195
|
|
|
186
|
-
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
|
|
187
197
|
for the minimum Airflow version supported) via
|
|
188
198
|
``pip install apache-airflow-providers-google``
|
|
189
199
|
|
|
190
|
-
The package supports the following python versions: 3.
|
|
200
|
+
The package supports the following python versions: 3.10,3.11,3.12,3.13
|
|
191
201
|
|
|
192
202
|
Requirements
|
|
193
203
|
------------
|
|
@@ -195,25 +205,27 @@ Requirements
|
|
|
195
205
|
========================================== ======================================
|
|
196
206
|
PIP package Version required
|
|
197
207
|
========================================== ======================================
|
|
198
|
-
``apache-airflow`` ``>=2.
|
|
199
|
-
``apache-airflow-providers-common-compat`` ``>=1.
|
|
200
|
-
``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``
|
|
201
211
|
``asgiref`` ``>=3.5.2``
|
|
202
212
|
``dill`` ``>=0.2.3``
|
|
203
213
|
``gcloud-aio-auth`` ``>=5.2.0``
|
|
204
214
|
``gcloud-aio-bigquery`` ``>=6.1.2``
|
|
205
215
|
``gcloud-aio-storage`` ``>=9.0.0``
|
|
206
216
|
``gcsfs`` ``>=2023.10.0``
|
|
207
|
-
``google-ads`` ``>=26.0.0``
|
|
217
|
+
``google-ads`` ``>=26.0.0,!=28.0.0.post2``
|
|
208
218
|
``google-analytics-admin`` ``>=0.9.0``
|
|
209
219
|
``google-api-core`` ``>=2.11.0,!=2.16.0,!=2.18.0``
|
|
210
220
|
``google-api-python-client`` ``>=2.0.2``
|
|
211
221
|
``google-auth`` ``>=2.29.0``
|
|
212
222
|
``google-auth-httplib2`` ``>=0.0.1``
|
|
213
|
-
``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"``
|
|
214
226
|
``google-cloud-alloydb`` ``>=0.4.0``
|
|
215
227
|
``google-cloud-automl`` ``>=2.12.0``
|
|
216
|
-
``google-cloud-bigquery``
|
|
228
|
+
``google-cloud-bigquery`` ``>=3.24.0``
|
|
217
229
|
``google-cloud-bigquery-datatransfer`` ``>=3.13.0``
|
|
218
230
|
``google-cloud-bigtable`` ``>=2.17.0``
|
|
219
231
|
``google-cloud-build`` ``>=3.31.0``
|
|
@@ -223,7 +235,7 @@ PIP package Version required
|
|
|
223
235
|
``google-cloud-dataflow-client`` ``>=0.8.6``
|
|
224
236
|
``google-cloud-dataform`` ``>=0.5.0``
|
|
225
237
|
``google-cloud-dataplex`` ``>=2.6.0``
|
|
226
|
-
``google-cloud-dataproc`` ``>=5.
|
|
238
|
+
``google-cloud-dataproc`` ``>=5.21.0``
|
|
227
239
|
``google-cloud-dataproc-metastore`` ``>=1.12.0``
|
|
228
240
|
``google-cloud-dlp`` ``>=3.12.0``
|
|
229
241
|
``google-cloud-kms`` ``>=2.15.0``
|
|
@@ -237,10 +249,10 @@ PIP package Version required
|
|
|
237
249
|
``google-cloud-pubsub`` ``>=2.21.3``
|
|
238
250
|
``google-cloud-redis`` ``>=2.12.0``
|
|
239
251
|
``google-cloud-secret-manager`` ``>=2.16.0``
|
|
240
|
-
``google-cloud-spanner`` ``>=3.
|
|
252
|
+
``google-cloud-spanner`` ``>=3.50.0``
|
|
241
253
|
``google-cloud-speech`` ``>=2.18.0``
|
|
242
|
-
``google-cloud-storage`` ``>=2.
|
|
243
|
-
``google-cloud-storage-transfer`` ``>=1.
|
|
254
|
+
``google-cloud-storage`` ``>=2.9.0``
|
|
255
|
+
``google-cloud-storage-transfer`` ``>=1.13.0``
|
|
244
256
|
``google-cloud-tasks`` ``>=2.13.0``
|
|
245
257
|
``google-cloud-texttospeech`` ``>=2.14.1``
|
|
246
258
|
``google-cloud-translate`` ``>=3.16.0``
|
|
@@ -253,16 +265,18 @@ PIP package Version required
|
|
|
253
265
|
``httpx`` ``>=0.25.0``
|
|
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``
|
|
265
|
-
``types-protobuf``
|
|
279
|
+
``types-protobuf`` ``>=5.27.0,!=5.29.1.20250402``
|
|
266
280
|
========================================== ======================================
|
|
267
281
|
|
|
268
282
|
Cross provider package dependencies
|
|
@@ -288,6 +302,7 @@ Dependent package
|
|
|
288
302
|
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
|
|
289
303
|
`apache-airflow-providers-common-sql <https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_ ``common.sql``
|
|
290
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``
|
|
291
306
|
`apache-airflow-providers-microsoft-azure <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure>`_ ``microsoft.azure``
|
|
292
307
|
`apache-airflow-providers-microsoft-mssql <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-mssql>`_ ``microsoft.mssql``
|
|
293
308
|
`apache-airflow-providers-mysql <https://airflow.apache.org/docs/apache-airflow-providers-mysql>`_ ``mysql``
|
|
@@ -298,9 +313,38 @@ Dependent package
|
|
|
298
313
|
`apache-airflow-providers-salesforce <https://airflow.apache.org/docs/apache-airflow-providers-salesforce>`_ ``salesforce``
|
|
299
314
|
`apache-airflow-providers-sftp <https://airflow.apache.org/docs/apache-airflow-providers-sftp>`_ ``sftp``
|
|
300
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``
|
|
301
317
|
`apache-airflow-providers-trino <https://airflow.apache.org/docs/apache-airflow-providers-trino>`_ ``trino``
|
|
302
318
|
======================================================================================================================== ====================
|
|
303
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
|
+
|
|
304
348
|
The changelog for the provider package can be found in the
|
|
305
|
-
`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>`_.
|
|
306
350
|
|