You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by am...@apache.org on 2025/07/02 04:49:37 UTC
(airflow) branch main updated (09a58cc407f -> ea5d5c3ea3c)
This is an automated email from the ASF dual-hosted git repository.
amoghdesai pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
from 09a58cc407f Remove language flags (#52671)
add ea5d5c3ea3c Move `BaseHook` implementation to task SDK (#51873)
No new revisions were added by this update.
Summary of changes:
airflow-core/docs/public-airflow-interface.rst | 2 +-
.../src/airflow/cli/commands/connection_command.py | 3 +-
airflow-core/src/airflow/hooks/__init__.py | 3 +
airflow-core/src/airflow/hooks/base.py | 70 +---------------
airflow-core/src/airflow/lineage/hook.py | 3 +-
airflow-core/src/airflow/providers_manager.py | 2 +-
airflow-core/src/airflow/utils/email.py | 2 +-
airflow-core/tests/unit/always/test_connection.py | 14 +++-
.../tests/unit/always/test_example_dags.py | 2 +-
.../unit/cli/commands/test_connection_command.py | 5 +-
.../cli/commands/test_rotate_fernet_key_command.py | 28 ++++++-
.../tests/unit/dag_processing/test_processor.py | 6 +-
airflow-core/tests/unit/jobs/test_triggerer_job.py | 2 +-
airflow-core/tests/unit/lineage/test_hook.py | 2 +-
.../unit/serialization/test_dag_serialization.py | 3 +-
.../src/tests_common/test_utils/common_sql.py | 2 +-
.../src/airflow/providers/airbyte/hooks/airbyte.py | 6 +-
.../alibaba/cloud/hooks/analyticdb_spark.py | 6 +-
.../providers/alibaba/cloud/hooks/base_alibaba.py | 5 +-
.../airflow/providers/alibaba/cloud/hooks/oss.py | 11 ++-
.../providers/amazon/aws/hooks/athena_sql.py | 5 +-
.../airflow/providers/amazon/aws/hooks/base_aws.py | 11 ++-
.../airflow/providers/amazon/aws/hooks/chime.py | 4 +
.../amazon/aws/hooks/sagemaker_unified_studio.py | 6 +-
.../providers/amazon/aws/transfers/s3_to_sql.py | 6 +-
.../providers/amazon/aws/transfers/sql_to_s3.py | 6 +-
.../amazon/aws/utils/connection_wrapper.py | 5 +-
.../amazon/tests/unit/amazon/aws/hooks/test_s3.py | 14 +++-
.../unit/amazon/aws/operators/test_base_aws.py | 6 +-
.../tests/unit/amazon/aws/sensors/test_base_aws.py | 6 +-
.../airflow/providers/apache/beam/hooks/beam.py | 6 +-
.../providers/apache/cassandra/hooks/cassandra.py | 7 +-
.../airflow/providers/apache/drill/hooks/drill.py | 2 +-
.../airflow/providers/apache/druid/hooks/druid.py | 12 ++-
.../airflow/providers/apache/hdfs/hooks/webhdfs.py | 16 ++--
.../airflow/providers/apache/hive/hooks/hive.py | 12 ++-
.../providers/apache/iceberg/hooks/iceberg.py | 9 +-
.../airflow/providers/apache/kafka/hooks/base.py | 5 +-
.../tests/unit/apache/kafka/hooks/test_base.py | 20 +++--
.../airflow/providers/apache/kylin/hooks/kylin.py | 6 +-
.../airflow/providers/apache/livy/hooks/livy.py | 2 +-
.../src/airflow/providers/apache/pig/hooks/pig.py | 6 +-
.../airflow/providers/apache/pinot/hooks/pinot.py | 17 ++--
.../providers/apache/spark/decorators/pyspark.py | 6 +-
.../providers/apache/spark/hooks/spark_connect.py | 15 ++--
.../providers/apache/spark/hooks/spark_jdbc.py | 18 ++--
.../providers/apache/spark/hooks/spark_sql.py | 11 ++-
.../providers/apache/spark/hooks/spark_submit.py | 6 +-
.../providers/apache/tinkerpop/hooks/gremlin.py | 12 ++-
.../src/airflow/providers/apprise/hooks/apprise.py | 5 +-
.../airflow/providers/arangodb/hooks/arangodb.py | 8 +-
.../src/airflow/providers/asana/hooks/asana.py | 5 +-
.../airflow/providers/atlassian/jira/hooks/jira.py | 10 ++-
.../airflow/providers/cloudant/hooks/cloudant.py | 19 +++--
.../providers/cncf/kubernetes/hooks/kubernetes.py | 8 +-
.../src/airflow/providers/cohere/hooks/cohere.py | 6 +-
.../src/airflow/providers/common/sql/hooks/sql.py | 17 +++-
.../common/sql/operators/generic_transfer.py | 6 +-
.../airflow/providers/common/sql/operators/sql.py | 6 +-
.../airflow/providers/common/sql/sensors/sql.py | 7 +-
.../airflow/providers/common/sql/triggers/sql.py | 6 +-
.../sql/tests/unit/common/sql/hooks/test_dbapi.py | 6 +-
.../common/sql/operators/test_generic_transfer.py | 17 +++-
.../tests/unit/common/sql/operators/test_sql.py | 13 ++-
.../sql/tests/unit/common/sql/triggers/test_sql.py | 11 ++-
.../providers/databricks/hooks/databricks_base.py | 8 +-
.../src/airflow/providers/datadog/hooks/datadog.py | 6 +-
.../src/airflow/providers/dbt/cloud/hooks/dbt.py | 2 +-
.../src/airflow/providers/docker/hooks/docker.py | 8 +-
providers/docker/tests/conftest.py | 12 ++-
.../edge3/example_dags/integration_test.py | 6 +-
.../providers/edge3/example_dags/win_test.py | 6 +-
.../providers/elasticsearch/hooks/elasticsearch.py | 16 ++--
.../airflow/providers/facebook/ads/hooks/ads.py | 6 +-
.../tests/unit/facebook/ads/hooks/test_ads.py | 14 +++-
.../ftp/src/airflow/providers/ftp/hooks/ftp.py | 13 ++-
.../git/src/airflow/providers/git/hooks/git.py | 6 +-
.../src/airflow/providers/github/hooks/github.py | 6 +-
.../src/airflow/providers/google/ads/hooks/ads.py | 6 +-
.../providers/google/cloud/hooks/cloud_sql.py | 12 ++-
.../providers/google/cloud/hooks/dataprep.py | 5 +-
.../airflow/providers/google/cloud/hooks/looker.py | 6 +-
.../providers/google/cloud/operators/cloud_sql.py | 6 +-
.../providers/google/common/hooks/base_google.py | 6 +-
.../providers/google/leveldb/hooks/leveldb.py | 6 +-
.../google/tests/unit/google/ads/hooks/test_ads.py | 14 +++-
.../tests/unit/google/cloud/hooks/test_alloy_db.py | 11 ++-
.../tests/unit/google/cloud/hooks/test_dataprep.py | 13 ++-
.../tests/unit/google/cloud/hooks/test_looker.py | 11 ++-
.../unit/google/cloud/operators/test_cloud_sql.py | 13 ++-
.../tests/unit/google/suite/hooks/test_drive.py | 12 ++-
.../grpc/src/airflow/providers/grpc/hooks/grpc.py | 8 +-
providers/grpc/tests/unit/grpc/hooks/test_grpc.py | 34 +++++---
.../src/airflow/providers/hashicorp/hooks/vault.py | 6 +-
.../http/src/airflow/providers/http/hooks/http.py | 14 ++--
.../src/airflow/providers/http/operators/http.py | 6 +-
.../imap/src/airflow/providers/imap/hooks/imap.py | 11 ++-
.../airflow/providers/influxdb/hooks/influxdb.py | 7 +-
.../jdbc/src/airflow/providers/jdbc/hooks/jdbc.py | 16 ++--
.../src/airflow/providers/jenkins/hooks/jenkins.py | 5 +-
.../tests/unit/jenkins/hooks/test_jenkins.py | 16 +++-
.../airflow/providers/microsoft/azure/fs/adls.py | 6 +-
.../airflow/providers/microsoft/azure/hooks/adx.py | 14 ++--
.../airflow/providers/microsoft/azure/hooks/asb.py | 6 +-
.../providers/microsoft/azure/hooks/base_azure.py | 6 +-
.../providers/microsoft/azure/hooks/batch.py | 6 +-
.../microsoft/azure/hooks/container_instance.py | 4 +-
.../microsoft/azure/hooks/container_registry.py | 12 ++-
.../microsoft/azure/hooks/container_volume.py | 10 ++-
.../providers/microsoft/azure/hooks/cosmos.py | 13 ++-
.../microsoft/azure/hooks/data_factory.py | 6 +-
.../providers/microsoft/azure/hooks/data_lake.py | 13 ++-
.../providers/microsoft/azure/hooks/fileshare.py | 6 +-
.../providers/microsoft/azure/hooks/msgraph.py | 8 +-
.../providers/microsoft/azure/hooks/synapse.py | 6 +-
.../providers/microsoft/azure/hooks/wasb.py | 15 ++--
.../microsoft/azure/operators/data_factory.py | 6 +-
.../providers/microsoft/azure/operators/synapse.py | 6 +-
.../azure/tests/unit/microsoft/azure/base.py | 12 ++-
.../unit/microsoft/azure/hooks/test_msgraph.py | 48 ++++++-----
.../unit/microsoft/azure/operators/test_powerbi.py | 13 ++-
.../microsoft/azure/operators/test_powerbi_list.py | 13 ++-
.../unit/microsoft/azure/triggers/test_msgraph.py | 12 ++-
.../unit/microsoft/azure/triggers/test_powerbi.py | 11 ++-
.../providers/microsoft/mssql/hooks/mssql.py | 4 +-
.../airflow/providers/microsoft/psrp/hooks/psrp.py | 9 +-
.../providers/microsoft/winrm/hooks/winrm.py | 6 +-
.../src/airflow/providers/mongo/hooks/mongo.py | 8 +-
.../src/airflow/providers/mysql/hooks/mysql.py | 4 +-
.../src/airflow/providers/neo4j/hooks/neo4j.py | 9 +-
.../src/airflow/providers/openai/hooks/openai.py | 6 +-
.../airflow/providers/openfaas/hooks/openfaas.py | 6 +-
.../tests/unit/openfaas/hooks/test_openfaas.py | 6 +-
.../src/airflow/providers/openlineage/sqlparser.py | 2 +-
.../src/airflow/providers/openlineage/utils/sql.py | 2 +-
.../providers/opensearch/hooks/opensearch.py | 6 +-
.../opensearch/tests/unit/opensearch/conftest.py | 6 +-
.../tests/unit/opensearch/hooks/test_opensearch.py | 11 ++-
.../airflow/providers/opsgenie/hooks/opsgenie.py | 9 +-
.../src/airflow/providers/oracle/hooks/oracle.py | 11 +--
.../airflow/providers/pagerduty/hooks/pagerduty.py | 6 +-
.../providers/pagerduty/hooks/pagerduty_events.py | 6 +-
.../airflow/providers/papermill/hooks/kernel.py | 8 +-
.../airflow/providers/pinecone/hooks/pinecone.py | 7 +-
.../airflow/providers/postgres/hooks/postgres.py | 16 ++--
.../src/airflow/providers/qdrant/hooks/qdrant.py | 5 +-
.../src/airflow/providers/redis/hooks/redis.py | 5 +-
.../providers/salesforce/hooks/salesforce.py | 5 +-
.../src/airflow/providers/samba/hooks/samba.py | 5 +-
.../samba/tests/unit/samba/hooks/test_samba.py | 15 +++-
.../src/airflow/providers/segment/hooks/segment.py | 6 +-
.../airflow/providers/sendgrid/utils/emailer.py | 5 +-
.../sftp/src/airflow/providers/sftp/hooks/sftp.py | 14 ++--
.../src/airflow/providers/slack/hooks/slack.py | 6 +-
.../airflow/providers/slack/hooks/slack_webhook.py | 6 +-
.../providers/slack/transfers/base_sql_to_slack.py | 6 +-
.../smtp/src/airflow/providers/smtp/hooks/smtp.py | 21 +++--
.../ssh/src/airflow/providers/ssh/hooks/ssh.py | 9 +-
.../airflow/providers/standard/hooks/filesystem.py | 5 +-
.../providers/standard/hooks/package_index.py | 5 +-
.../airflow/providers/standard/hooks/subprocess.py | 5 +-
.../src/airflow/providers/tableau/hooks/tableau.py | 12 ++-
.../airflow/providers/telegram/hooks/telegram.py | 6 +-
.../airflow/providers/teradata/hooks/teradata.py | 7 +-
.../src/airflow/providers/teradata/hooks/ttu.py | 6 +-
.../src/airflow/providers/vertica/hooks/vertica.py | 2 +-
.../airflow/providers/weaviate/hooks/weaviate.py | 9 +-
.../src/airflow/providers/yandex/hooks/yandex.py | 6 +-
.../tests/unit/yandex/hooks/test_dataproc.py | 11 ++-
.../yandex/tests/unit/yandex/hooks/test_yandex.py | 21 +++--
.../yandex/tests/unit/yandex/hooks/test_yq.py | 11 ++-
.../tests/unit/yandex/operators/test_dataproc.py | 22 +++--
.../yandex/tests/unit/yandex/operators/test_yq.py | 12 ++-
.../ydb/src/airflow/providers/ydb/hooks/ydb.py | 8 +-
.../src/airflow/providers/ydb/utils/credentials.py | 5 +-
providers/ydb/tests/unit/ydb/hooks/test_ydb.py | 12 ++-
providers/ydb/tests/unit/ydb/operators/test_ydb.py | 12 ++-
.../src/airflow/providers/zendesk/hooks/zendesk.py | 20 +++--
scripts/in_container/verify_providers.py | 2 +-
scripts/tools/list-integrations.py | 2 +-
task-sdk/docs/api.rst | 2 +
task-sdk/src/airflow/sdk/__init__.py | 3 +
task-sdk/src/airflow/sdk/__init__.pyi | 2 +
task-sdk/src/airflow/sdk/bases/hook.py | 96 ++++++++++++++++++++++
.../tests/task_sdk/bases/test_hook.py | 9 +-
185 files changed, 1307 insertions(+), 451 deletions(-)
create mode 100644 task-sdk/src/airflow/sdk/bases/hook.py
rename airflow-core/tests/unit/hooks/test_base.py => task-sdk/tests/task_sdk/bases/test_hook.py (90%)