This is an automated email from the ASF dual-hosted git repository. uranusjr pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push: new 0c8e30e43b Bump min airflow version of providers (#34728) 0c8e30e43b is described below commit 0c8e30e43b70e9d033e1686b327eb00aab82479c Author: Elad Kalif <45845474+elad...@users.noreply.github.com> AuthorDate: Thu Oct 5 01:14:44 2023 +0300 Bump min airflow version of providers (#34728) --- .github/workflows/ci.yml | 20 +-- PROVIDERS.rst | 4 +- airflow/providers/airbyte/provider.yaml | 2 +- airflow/providers/alibaba/provider.yaml | 2 +- airflow/providers/amazon/provider.yaml | 2 +- airflow/providers/apache/beam/provider.yaml | 2 +- airflow/providers/apache/cassandra/provider.yaml | 2 +- airflow/providers/apache/drill/provider.yaml | 2 +- airflow/providers/apache/druid/provider.yaml | 2 +- airflow/providers/apache/flink/provider.yaml | 2 +- airflow/providers/apache/hdfs/provider.yaml | 2 +- airflow/providers/apache/hive/provider.yaml | 2 +- airflow/providers/apache/impala/provider.yaml | 2 +- airflow/providers/apache/kafka/provider.yaml | 2 +- airflow/providers/apache/kylin/provider.yaml | 2 +- airflow/providers/apache/livy/provider.yaml | 2 +- airflow/providers/apache/pig/provider.yaml | 2 +- airflow/providers/apache/pinot/provider.yaml | 2 +- airflow/providers/apache/spark/provider.yaml | 2 +- airflow/providers/apache/sqoop/provider.yaml | 2 +- airflow/providers/apprise/provider.yaml | 2 +- airflow/providers/arangodb/provider.yaml | 2 +- airflow/providers/asana/hooks/asana.py | 28 +--- airflow/providers/asana/provider.yaml | 2 +- airflow/providers/atlassian/jira/provider.yaml | 2 +- airflow/providers/celery/provider.yaml | 2 +- airflow/providers/cloudant/provider.yaml | 2 +- airflow/providers/cncf/kubernetes/provider.yaml | 2 +- airflow/providers/common/sql/provider.yaml | 2 +- airflow/providers/daskexecutor/provider.yaml | 2 +- airflow/providers/databricks/provider.yaml | 2 +- airflow/providers/datadog/provider.yaml | 2 +- airflow/providers/dbt/cloud/provider.yaml | 2 +- airflow/providers/dingding/provider.yaml | 2 +- airflow/providers/discord/provider.yaml | 2 +- airflow/providers/docker/provider.yaml | 2 +- airflow/providers/elasticsearch/provider.yaml | 2 +- airflow/providers/exasol/provider.yaml | 2 +- airflow/providers/facebook/provider.yaml | 2 +- airflow/providers/ftp/provider.yaml | 2 +- airflow/providers/github/provider.yaml | 2 +- airflow/providers/google/provider.yaml | 2 +- airflow/providers/grpc/provider.yaml | 2 +- airflow/providers/hashicorp/provider.yaml | 2 +- airflow/providers/http/provider.yaml | 2 +- airflow/providers/imap/provider.yaml | 2 +- airflow/providers/influxdb/provider.yaml | 2 +- airflow/providers/jdbc/provider.yaml | 2 +- airflow/providers/jenkins/hooks/jenkins.py | 32 ---- airflow/providers/jenkins/provider.yaml | 2 +- airflow/providers/microsoft/azure/provider.yaml | 2 +- airflow/providers/microsoft/mssql/provider.yaml | 2 +- airflow/providers/microsoft/psrp/provider.yaml | 2 +- airflow/providers/microsoft/winrm/provider.yaml | 2 +- airflow/providers/mongo/provider.yaml | 2 +- airflow/providers/mysql/provider.yaml | 2 +- airflow/providers/neo4j/provider.yaml | 2 +- airflow/providers/odbc/provider.yaml | 2 +- airflow/providers/openfaas/provider.yaml | 2 +- airflow/providers/opsgenie/provider.yaml | 2 +- airflow/providers/oracle/provider.yaml | 2 +- airflow/providers/pagerduty/provider.yaml | 2 +- airflow/providers/papermill/provider.yaml | 2 +- airflow/providers/plexus/provider.yaml | 2 +- airflow/providers/postgres/provider.yaml | 2 +- airflow/providers/presto/provider.yaml | 2 +- airflow/providers/qubole/provider.yaml | 2 +- airflow/providers/redis/provider.yaml | 2 +- airflow/providers/salesforce/provider.yaml | 2 +- airflow/providers/samba/provider.yaml | 2 +- airflow/providers/segment/provider.yaml | 2 +- airflow/providers/sendgrid/provider.yaml | 2 +- airflow/providers/sftp/provider.yaml | 2 +- airflow/providers/singularity/provider.yaml | 2 +- airflow/providers/slack/hooks/slack.py | 29 +--- airflow/providers/slack/hooks/slack_webhook.py | 27 ---- airflow/providers/slack/provider.yaml | 2 +- airflow/providers/smtp/provider.yaml | 2 +- airflow/providers/snowflake/hooks/snowflake.py | 27 ---- airflow/providers/snowflake/provider.yaml | 2 +- airflow/providers/sqlite/provider.yaml | 2 +- airflow/providers/ssh/provider.yaml | 2 +- airflow/providers/tableau/provider.yaml | 2 +- airflow/providers/tabular/provider.yaml | 2 +- airflow/providers/telegram/provider.yaml | 2 +- airflow/providers/trino/provider.yaml | 2 +- airflow/providers/vertica/provider.yaml | 2 +- airflow/providers/yandex/provider.yaml | 2 +- airflow/providers/zendesk/provider.yaml | 2 +- dev/provider_packages/prepare_provider_packages.py | 2 +- generated/provider_dependencies.json | 162 ++++++++++----------- tests/providers/asana/hooks/test_asana.py | 28 ---- tests/providers/microsoft/azure/hooks/test_adx.py | 21 --- .../azure/hooks/test_azure_container_volume.py | 20 --- .../microsoft/azure/hooks/test_azure_cosmos.py | 21 --- tests/providers/slack/hooks/test_slack.py | 29 ---- tests/providers/slack/hooks/test_slack_webhook.py | 30 ---- tests/providers/snowflake/hooks/test_snowflake.py | 37 ----- 98 files changed, 178 insertions(+), 503 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7a2d6998f0..0eeb8ffae7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -728,7 +728,7 @@ jobs: provider-airflow-compatibility-check: timeout-minutes: 80 - name: "Providers Airflow 2.4 compatibility check" + name: "Providers Airflow 2.5 compatibility check" runs-on: "${{needs.build-info.outputs.runs-on}}" needs: [build-info, wait-for-ci-images] env: @@ -751,10 +751,10 @@ jobs: run: > breeze release-management prepare-provider-packages --version-suffix-for-pypi dev0 --package-format wheel ${{ needs.build-info.outputs.affected-providers-list-as-string }} - - name: "Fix incompatible 2.4 provider packages" + - name: "Fix incompatible 2.5 provider packages" run: | - # This step should remove the provider packages that are not compatible with 2.4 - # or replace them with 2.4 compatible versions. Sometimes we have good reasons to bump + # This step should remove the provider packages that are not compatible with 2.5 + # or replace them with 2.5 compatible versions. Sometimes we have good reasons to bump # the min airflow versions for some providers and then we need to add exclusions here. # # The Removal can be done with: @@ -775,15 +775,15 @@ jobs: providers = json.loads(Path("generated/provider_dependencies.json").read_text()) provider_keys = ",".join(providers.keys()) print("AIRFLOW_EXTRAS={}".format(provider_keys))' >> $GITHUB_ENV - - name: "Install and verify all provider packages and airflow on Airflow 2.4 files" + - name: "Install and verify all provider packages and airflow on Airflow 2.5 files" run: > - breeze release-management verify-provider-packages --use-airflow-version 2.4.0 - --use-packages-from-dist --airflow-constraints-reference constraints-2.4.0 + breeze release-management verify-provider-packages --use-airflow-version 2.5.0 + --use-packages-from-dist --airflow-constraints-reference constraints-2.5.0 if: needs.build-info.outputs.affected-providers-list-as-string == '' - - name: "Install affected provider packages and airflow on Airflow 2.4 files" + - name: "Install affected provider packages and airflow on Airflow 2.5 files" run: > - breeze release-management install-provider-packages --use-airflow-version 2.4.0 - --airflow-constraints-reference constraints-2.4.0 --run-in-parallel + breeze release-management install-provider-packages --use-airflow-version 2.5.0 + --airflow-constraints-reference constraints-2.5.0 --run-in-parallel # Make sure to skip the run if the only provider to be installed has been removed # in the previous step if: > diff --git a/PROVIDERS.rst b/PROVIDERS.rst index 455bed1486..bfbb33143d 100644 --- a/PROVIDERS.rst +++ b/PROVIDERS.rst @@ -120,8 +120,8 @@ Airflow version to the next MINOR release, when 12 months passed since the first MINOR version of Airflow. For example this means that by default we upgrade the minimum version of Airflow supported by providers -to 2.5.0 in the first Provider's release after 19th of September 2023. The 19th of September 2022 is the date when the -first ``PATCHLEVEL`` of 2.4 (2.4.0) has been released. +to 2.6.0 in the first Provider's release after 2nd of December 2023. The 2nd of December 2022 is the date when the +first ``PATCHLEVEL`` of 2.5 (2.5.0) has been released. When we increase the minimum Airflow version, this is not a reason to bump ``MAJOR`` version of the providers (unless there are other breaking changes in the provider). The reason for that is that people who use diff --git a/airflow/providers/airbyte/provider.yaml b/airflow/providers/airbyte/provider.yaml index fe58377919..33d52cd65d 100644 --- a/airflow/providers/airbyte/provider.yaml +++ b/airflow/providers/airbyte/provider.yaml @@ -39,7 +39,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-http integrations: diff --git a/airflow/providers/alibaba/provider.yaml b/airflow/providers/alibaba/provider.yaml index 62d5b873d0..8992f8f9f8 100644 --- a/airflow/providers/alibaba/provider.yaml +++ b/airflow/providers/alibaba/provider.yaml @@ -40,7 +40,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - oss2>=2.14.0 - alibabacloud_adb20211201>=1.0.0 - alibabacloud_tea_openapi>=0.3.7 diff --git a/airflow/providers/amazon/provider.yaml b/airflow/providers/amazon/provider.yaml index b9e2e03131..8ce738480c 100644 --- a/airflow/providers/amazon/provider.yaml +++ b/airflow/providers/amazon/provider.yaml @@ -67,7 +67,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - apache-airflow-providers-http # We should update minimum version of boto3 and here regularly to avoid `pip` backtracking with the number diff --git a/airflow/providers/apache/beam/provider.yaml b/airflow/providers/apache/beam/provider.yaml index eec593e7d0..1c1089c93a 100644 --- a/airflow/providers/apache/beam/provider.yaml +++ b/airflow/providers/apache/beam/provider.yaml @@ -47,7 +47,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-beam>=2.47.0 integrations: diff --git a/airflow/providers/apache/cassandra/provider.yaml b/airflow/providers/apache/cassandra/provider.yaml index 54c11fcdb5..f5d2906e7f 100644 --- a/airflow/providers/apache/cassandra/provider.yaml +++ b/airflow/providers/apache/cassandra/provider.yaml @@ -38,7 +38,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - cassandra-driver>=3.13.0 integrations: diff --git a/airflow/providers/apache/drill/provider.yaml b/airflow/providers/apache/drill/provider.yaml index 689a01142f..c1e1f22550 100644 --- a/airflow/providers/apache/drill/provider.yaml +++ b/airflow/providers/apache/drill/provider.yaml @@ -42,7 +42,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - sqlalchemy-drill>=1.1.0 diff --git a/airflow/providers/apache/druid/provider.yaml b/airflow/providers/apache/druid/provider.yaml index 90e54e50a4..e917e0a079 100644 --- a/airflow/providers/apache/druid/provider.yaml +++ b/airflow/providers/apache/druid/provider.yaml @@ -47,7 +47,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - pydruid>=0.4.1 diff --git a/airflow/providers/apache/flink/provider.yaml b/airflow/providers/apache/flink/provider.yaml index a22616996a..82de43be0f 100644 --- a/airflow/providers/apache/flink/provider.yaml +++ b/airflow/providers/apache/flink/provider.yaml @@ -31,7 +31,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - cryptography>=2.0.0 - apache-airflow-providers-cncf-kubernetes>=5.1.0 diff --git a/airflow/providers/apache/hdfs/provider.yaml b/airflow/providers/apache/hdfs/provider.yaml index 25bbef5bc0..6a74488743 100644 --- a/airflow/providers/apache/hdfs/provider.yaml +++ b/airflow/providers/apache/hdfs/provider.yaml @@ -43,7 +43,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - hdfs[avro,dataframe,kerberos]>=2.0.4 integrations: diff --git a/airflow/providers/apache/hive/provider.yaml b/airflow/providers/apache/hive/provider.yaml index 22ba2e3e8e..370c6a1452 100644 --- a/airflow/providers/apache/hive/provider.yaml +++ b/airflow/providers/apache/hive/provider.yaml @@ -58,7 +58,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - hmsclient>=0.1.0 - pandas>=0.17.1 diff --git a/airflow/providers/apache/impala/provider.yaml b/airflow/providers/apache/impala/provider.yaml index 90525cfc6a..6b1eacd6ca 100644 --- a/airflow/providers/apache/impala/provider.yaml +++ b/airflow/providers/apache/impala/provider.yaml @@ -31,7 +31,7 @@ versions: dependencies: - impyla>=0.18.0,<1.0 - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 integrations: - integration-name: Apache Impala diff --git a/airflow/providers/apache/kafka/provider.yaml b/airflow/providers/apache/kafka/provider.yaml index 7617440e82..2cd3226005 100644 --- a/airflow/providers/apache/kafka/provider.yaml +++ b/airflow/providers/apache/kafka/provider.yaml @@ -29,7 +29,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - asgiref - confluent-kafka>=1.8.2 diff --git a/airflow/providers/apache/kylin/provider.yaml b/airflow/providers/apache/kylin/provider.yaml index 495d02b971..f00134c0f2 100644 --- a/airflow/providers/apache/kylin/provider.yaml +++ b/airflow/providers/apache/kylin/provider.yaml @@ -36,7 +36,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - kylinpy>=2.6 integrations: diff --git a/airflow/providers/apache/livy/provider.yaml b/airflow/providers/apache/livy/provider.yaml index affd93e63a..39336aa489 100644 --- a/airflow/providers/apache/livy/provider.yaml +++ b/airflow/providers/apache/livy/provider.yaml @@ -44,7 +44,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-http - aiohttp - asgiref diff --git a/airflow/providers/apache/pig/provider.yaml b/airflow/providers/apache/pig/provider.yaml index 34e69e3650..14a140459a 100644 --- a/airflow/providers/apache/pig/provider.yaml +++ b/airflow/providers/apache/pig/provider.yaml @@ -37,7 +37,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 integrations: - integration-name: Apache Pig diff --git a/airflow/providers/apache/pinot/provider.yaml b/airflow/providers/apache/pinot/provider.yaml index 1199780712..4c5903428d 100644 --- a/airflow/providers/apache/pinot/provider.yaml +++ b/airflow/providers/apache/pinot/provider.yaml @@ -43,7 +43,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - pinotdb>0.4.7 diff --git a/airflow/providers/apache/spark/provider.yaml b/airflow/providers/apache/spark/provider.yaml index 26e272b207..515b680241 100644 --- a/airflow/providers/apache/spark/provider.yaml +++ b/airflow/providers/apache/spark/provider.yaml @@ -46,7 +46,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - pyspark integrations: diff --git a/airflow/providers/apache/sqoop/provider.yaml b/airflow/providers/apache/sqoop/provider.yaml index 60088ab22c..48239b3d49 100644 --- a/airflow/providers/apache/sqoop/provider.yaml +++ b/airflow/providers/apache/sqoop/provider.yaml @@ -40,7 +40,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 integrations: - integration-name: Apache Sqoop diff --git a/airflow/providers/apprise/provider.yaml b/airflow/providers/apprise/provider.yaml index 71f47c8ea4..daa71e969e 100644 --- a/airflow/providers/apprise/provider.yaml +++ b/airflow/providers/apprise/provider.yaml @@ -36,7 +36,7 @@ integrations: tags: [software] dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apprise hooks: diff --git a/airflow/providers/arangodb/provider.yaml b/airflow/providers/arangodb/provider.yaml index ffbd48701d..7764a44741 100644 --- a/airflow/providers/arangodb/provider.yaml +++ b/airflow/providers/arangodb/provider.yaml @@ -22,7 +22,7 @@ description: | `ArangoDB <https://www.arangodb.com/>`__ dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - python-arango>=7.3.2 suspended: false diff --git a/airflow/providers/asana/hooks/asana.py b/airflow/providers/asana/hooks/asana.py index 7c76090ee7..3bbb40eeb0 100644 --- a/airflow/providers/asana/hooks/asana.py +++ b/airflow/providers/asana/hooks/asana.py @@ -18,7 +18,7 @@ """Connect to Asana.""" from __future__ import annotations -from functools import cached_property, wraps +from functools import cached_property from typing import Any from asana import Client # type: ignore[attr-defined] @@ -27,31 +27,6 @@ from asana.error import NotFoundError # type: ignore[attr-defined] from airflow.hooks.base import BaseHook -def _ensure_prefixes(conn_type): - """Remove when provider min airflow version >= 2.5.0 since this is now handled by provider manager.""" - - def dec(func): - @wraps(func) - def inner(): - field_behaviors = func() - conn_attrs = {"host", "schema", "login", "password", "port", "extra"} - - def _ensure_prefix(field): - if field not in conn_attrs and not field.startswith("extra__"): - return f"extra__{conn_type}__{field}" - else: - return field - - if "placeholders" in field_behaviors: - placeholders = field_behaviors["placeholders"] - field_behaviors["placeholders"] = {_ensure_prefix(k): v for k, v in placeholders.items()} - return field_behaviors - - return inner - - return dec - - class AsanaHook(BaseHook): """Wrapper around Asana Python client library.""" @@ -96,7 +71,6 @@ class AsanaHook(BaseHook): } @staticmethod - @_ensure_prefixes(conn_type="asana") def get_ui_field_behaviour() -> dict[str, Any]: """Return custom field behaviour.""" return { diff --git a/airflow/providers/asana/provider.yaml b/airflow/providers/asana/provider.yaml index e567d5966e..409a9f4ff1 100644 --- a/airflow/providers/asana/provider.yaml +++ b/airflow/providers/asana/provider.yaml @@ -36,7 +36,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 # The Asana provider uses Asana Python API https://github.com/Asana/python-asana/ and version # 4.* of it introduced 31.07.2023 is heavily incompatible with previous versions # (new way of generating API client from specification has been used). Until we convert to the new API diff --git a/airflow/providers/atlassian/jira/provider.yaml b/airflow/providers/atlassian/jira/provider.yaml index d70f1915c4..787bbdb709 100644 --- a/airflow/providers/atlassian/jira/provider.yaml +++ b/airflow/providers/atlassian/jira/provider.yaml @@ -31,7 +31,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - atlassian-python-api>=1.14.2 integrations: diff --git a/airflow/providers/celery/provider.yaml b/airflow/providers/celery/provider.yaml index 5dd67f146a..290cec675a 100644 --- a/airflow/providers/celery/provider.yaml +++ b/airflow/providers/celery/provider.yaml @@ -42,7 +42,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 # The Celery is known to introduce problems when upgraded to a MAJOR version. Airflow Core # Uses Celery for CeleryExecutor, and we also know that Kubernetes Python client follows SemVer # (https://docs.celeryq.dev/en/stable/contributing.html?highlight=semver#versions). diff --git a/airflow/providers/cloudant/provider.yaml b/airflow/providers/cloudant/provider.yaml index ea7c6ebc57..eb55daff14 100644 --- a/airflow/providers/cloudant/provider.yaml +++ b/airflow/providers/cloudant/provider.yaml @@ -36,7 +36,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - cloudant>=2.0 integrations: diff --git a/airflow/providers/cncf/kubernetes/provider.yaml b/airflow/providers/cncf/kubernetes/provider.yaml index eaea00f309..0a1fbf8210 100644 --- a/airflow/providers/cncf/kubernetes/provider.yaml +++ b/airflow/providers/cncf/kubernetes/provider.yaml @@ -68,7 +68,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - asgiref>=3.5.2 - cryptography>=2.0.0 # The Kubernetes API is known to introduce problems when upgraded to a MAJOR version. Airflow Core diff --git a/airflow/providers/common/sql/provider.yaml b/airflow/providers/common/sql/provider.yaml index c4a98394f0..8ba0526451 100644 --- a/airflow/providers/common/sql/provider.yaml +++ b/airflow/providers/common/sql/provider.yaml @@ -43,7 +43,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - sqlparse>=0.4.2 additional-extras: diff --git a/airflow/providers/daskexecutor/provider.yaml b/airflow/providers/daskexecutor/provider.yaml index 32a5188692..fedb9aa6c9 100644 --- a/airflow/providers/daskexecutor/provider.yaml +++ b/airflow/providers/daskexecutor/provider.yaml @@ -27,7 +27,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 # Dask support is limited, we need Dask team to upgrade support for dask if we were to continue # Supporting it in the future - cloudpickle>=1.4.1 diff --git a/airflow/providers/databricks/provider.yaml b/airflow/providers/databricks/provider.yaml index afa8eacc68..6eb7ef9977 100644 --- a/airflow/providers/databricks/provider.yaml +++ b/airflow/providers/databricks/provider.yaml @@ -52,7 +52,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.5.0 - requests>=2.27,<3 # The connector 2.9.0 released on Aug 10, 2023 has a bug that it does not properly declare urllib3 and diff --git a/airflow/providers/datadog/provider.yaml b/airflow/providers/datadog/provider.yaml index dbb40b5a02..11ec5ca0fb 100644 --- a/airflow/providers/datadog/provider.yaml +++ b/airflow/providers/datadog/provider.yaml @@ -38,7 +38,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - datadog>=0.14.0 integrations: diff --git a/airflow/providers/dbt/cloud/provider.yaml b/airflow/providers/dbt/cloud/provider.yaml index c7481be9f2..6eb10a16ed 100644 --- a/airflow/providers/dbt/cloud/provider.yaml +++ b/airflow/providers/dbt/cloud/provider.yaml @@ -41,7 +41,7 @@ versions: - 1.0.1 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-http - asgiref - aiohttp diff --git a/airflow/providers/dingding/provider.yaml b/airflow/providers/dingding/provider.yaml index fa81c228d1..c84ec3e3f1 100644 --- a/airflow/providers/dingding/provider.yaml +++ b/airflow/providers/dingding/provider.yaml @@ -37,7 +37,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-http integrations: diff --git a/airflow/providers/discord/provider.yaml b/airflow/providers/discord/provider.yaml index 6d227e6219..42f7f75202 100644 --- a/airflow/providers/discord/provider.yaml +++ b/airflow/providers/discord/provider.yaml @@ -38,7 +38,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-http integrations: diff --git a/airflow/providers/docker/provider.yaml b/airflow/providers/docker/provider.yaml index 577d7be623..9b4fcc90d9 100644 --- a/airflow/providers/docker/provider.yaml +++ b/airflow/providers/docker/provider.yaml @@ -56,7 +56,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - docker>=5.0.3 - python-dotenv>=0.21.0 diff --git a/airflow/providers/elasticsearch/provider.yaml b/airflow/providers/elasticsearch/provider.yaml index 9c6b966859..2d79301d95 100644 --- a/airflow/providers/elasticsearch/provider.yaml +++ b/airflow/providers/elasticsearch/provider.yaml @@ -53,7 +53,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - elasticsearch>8,<9 diff --git a/airflow/providers/exasol/provider.yaml b/airflow/providers/exasol/provider.yaml index 166afc4929..beb1d3fc01 100644 --- a/airflow/providers/exasol/provider.yaml +++ b/airflow/providers/exasol/provider.yaml @@ -48,7 +48,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - pyexasol>=0.5.1 - pandas>=0.17.1 diff --git a/airflow/providers/facebook/provider.yaml b/airflow/providers/facebook/provider.yaml index 0aa51d96ea..ec5f28498b 100644 --- a/airflow/providers/facebook/provider.yaml +++ b/airflow/providers/facebook/provider.yaml @@ -41,7 +41,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - facebook-business>=6.0.2 integrations: diff --git a/airflow/providers/ftp/provider.yaml b/airflow/providers/ftp/provider.yaml index e338af5b90..4fd4e6b1f5 100644 --- a/airflow/providers/ftp/provider.yaml +++ b/airflow/providers/ftp/provider.yaml @@ -44,7 +44,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 integrations: - integration-name: File Transfer Protocol (FTP) diff --git a/airflow/providers/github/provider.yaml b/airflow/providers/github/provider.yaml index 3715c40c73..d6257ac420 100644 --- a/airflow/providers/github/provider.yaml +++ b/airflow/providers/github/provider.yaml @@ -23,7 +23,7 @@ description: | `GitHub <https://www.github.com/>`__ dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 # There was a change introduced in version 1.58 which breaks `pickle` serialization out of the box. # See https://github.com/PyGithub/PyGithub/issues/2436. - PyGithub!=1.58 diff --git a/airflow/providers/google/provider.yaml b/airflow/providers/google/provider.yaml index 6323c4832f..e842a5489e 100644 --- a/airflow/providers/google/provider.yaml +++ b/airflow/providers/google/provider.yaml @@ -75,7 +75,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.7.2 - asgiref>=3.5.2 - gcloud-aio-auth>=4.0.0,<5.0.0 diff --git a/airflow/providers/grpc/provider.yaml b/airflow/providers/grpc/provider.yaml index 0d00033f09..b9c432b247 100644 --- a/airflow/providers/grpc/provider.yaml +++ b/airflow/providers/grpc/provider.yaml @@ -37,7 +37,7 @@ versions: - 1.0.1 - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 # Google has very clear rules on what dependencies should be used. All the limits below # follow strict guidelines of Google Libraries as quoted here: # While this issue is open, dependents of google-api-core, google-cloud-core. and google-auth diff --git a/airflow/providers/hashicorp/provider.yaml b/airflow/providers/hashicorp/provider.yaml index ac1809cfed..796647e0f1 100644 --- a/airflow/providers/hashicorp/provider.yaml +++ b/airflow/providers/hashicorp/provider.yaml @@ -45,7 +45,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - hvac>=0.10 integrations: diff --git a/airflow/providers/http/provider.yaml b/airflow/providers/http/provider.yaml index 0b342a6518..90a8072520 100644 --- a/airflow/providers/http/provider.yaml +++ b/airflow/providers/http/provider.yaml @@ -47,7 +47,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 # The 2.26.0 release of requests got rid of the chardet LGPL mandatory dependency, allowing us to # release it as a requirement for airflow - requests>=2.26.0 diff --git a/airflow/providers/imap/provider.yaml b/airflow/providers/imap/provider.yaml index 4795ea6c07..b7149f8bdd 100644 --- a/airflow/providers/imap/provider.yaml +++ b/airflow/providers/imap/provider.yaml @@ -44,7 +44,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 integrations: - integration-name: Internet Message Access Protocol (IMAP) diff --git a/airflow/providers/influxdb/provider.yaml b/airflow/providers/influxdb/provider.yaml index 35848a768a..2aba7aa90d 100644 --- a/airflow/providers/influxdb/provider.yaml +++ b/airflow/providers/influxdb/provider.yaml @@ -24,7 +24,7 @@ description: | `InfluxDB <https://www.influxdata.com/>`__ dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - influxdb-client>=1.19.0 - requests>=2.26.0 diff --git a/airflow/providers/jdbc/provider.yaml b/airflow/providers/jdbc/provider.yaml index 7eafc4422c..6baeafd03f 100644 --- a/airflow/providers/jdbc/provider.yaml +++ b/airflow/providers/jdbc/provider.yaml @@ -42,7 +42,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - jaydebeapi>=1.1.1 diff --git a/airflow/providers/jenkins/hooks/jenkins.py b/airflow/providers/jenkins/hooks/jenkins.py index 3a91fd151b..680b995d5c 100644 --- a/airflow/providers/jenkins/hooks/jenkins.py +++ b/airflow/providers/jenkins/hooks/jenkins.py @@ -17,7 +17,6 @@ # under the License. from __future__ import annotations -from functools import wraps from typing import Any import jenkins @@ -25,36 +24,6 @@ import jenkins from airflow.hooks.base import BaseHook -def _ensure_prefixes(conn_type): - """ - Deprecated. - - Remove when provider min airflow version >= 2.5.0 since - this is handled by provider manager from that version. - """ - - def dec(func): - @wraps(func) - def inner(): - field_behaviors = func() - conn_attrs = {"host", "schema", "login", "password", "port", "extra"} - - def _ensure_prefix(field): - if field not in conn_attrs and not field.startswith("extra__"): - return f"extra__{conn_type}__{field}" - else: - return field - - if "placeholders" in field_behaviors: - placeholders = field_behaviors["placeholders"] - field_behaviors["placeholders"] = {_ensure_prefix(k): v for k, v in placeholders.items()} - return field_behaviors - - return inner - - return dec - - class JenkinsHook(BaseHook): """Hook to manage connection to jenkins server.""" @@ -77,7 +46,6 @@ class JenkinsHook(BaseHook): } @staticmethod - @_ensure_prefixes(conn_type="jenkins") def get_ui_field_behaviour() -> dict[str, Any]: """Returns custom field behaviour.""" return { diff --git a/airflow/providers/jenkins/provider.yaml b/airflow/providers/jenkins/provider.yaml index 4e5c55b35e..b49b83af34 100644 --- a/airflow/providers/jenkins/provider.yaml +++ b/airflow/providers/jenkins/provider.yaml @@ -44,7 +44,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - python-jenkins>=1.0.0 integrations: diff --git a/airflow/providers/microsoft/azure/provider.yaml b/airflow/providers/microsoft/azure/provider.yaml index 86ab0e6d78..e2822f3822 100644 --- a/airflow/providers/microsoft/azure/provider.yaml +++ b/airflow/providers/microsoft/azure/provider.yaml @@ -64,7 +64,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - azure-batch>=8.0.0 - azure-cosmos>=4.0.0 - azure-mgmt-cosmosdb diff --git a/airflow/providers/microsoft/mssql/provider.yaml b/airflow/providers/microsoft/mssql/provider.yaml index f1714b5b80..2e6397746b 100644 --- a/airflow/providers/microsoft/mssql/provider.yaml +++ b/airflow/providers/microsoft/mssql/provider.yaml @@ -44,7 +44,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - pymssql>=2.1.5 diff --git a/airflow/providers/microsoft/psrp/provider.yaml b/airflow/providers/microsoft/psrp/provider.yaml index cd9c953a7d..e448b5dc4d 100644 --- a/airflow/providers/microsoft/psrp/provider.yaml +++ b/airflow/providers/microsoft/psrp/provider.yaml @@ -40,7 +40,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - pypsrp>=0.8.0 integrations: diff --git a/airflow/providers/microsoft/winrm/provider.yaml b/airflow/providers/microsoft/winrm/provider.yaml index a050adf29b..833cb380c1 100644 --- a/airflow/providers/microsoft/winrm/provider.yaml +++ b/airflow/providers/microsoft/winrm/provider.yaml @@ -41,7 +41,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - pywinrm>=0.4 integrations: diff --git a/airflow/providers/mongo/provider.yaml b/airflow/providers/mongo/provider.yaml index 65de3fce55..d1879b309a 100644 --- a/airflow/providers/mongo/provider.yaml +++ b/airflow/providers/mongo/provider.yaml @@ -40,7 +40,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - dnspython>=1.13.0 - pymongo>=3.6.0 diff --git a/airflow/providers/mysql/provider.yaml b/airflow/providers/mysql/provider.yaml index eaf99e4ce0..dc665d01e9 100644 --- a/airflow/providers/mysql/provider.yaml +++ b/airflow/providers/mysql/provider.yaml @@ -52,7 +52,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - mysqlclient>=1.3.6 - mysql-connector-python>=8.0.11 diff --git a/airflow/providers/neo4j/provider.yaml b/airflow/providers/neo4j/provider.yaml index 43e150f59a..4091dd6570 100644 --- a/airflow/providers/neo4j/provider.yaml +++ b/airflow/providers/neo4j/provider.yaml @@ -42,7 +42,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - neo4j>=4.2.1 integrations: diff --git a/airflow/providers/odbc/provider.yaml b/airflow/providers/odbc/provider.yaml index 226baefadc..3ccceaf859 100644 --- a/airflow/providers/odbc/provider.yaml +++ b/airflow/providers/odbc/provider.yaml @@ -40,7 +40,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - pyodbc diff --git a/airflow/providers/openfaas/provider.yaml b/airflow/providers/openfaas/provider.yaml index 9a21f509de..0ef1dd3a36 100644 --- a/airflow/providers/openfaas/provider.yaml +++ b/airflow/providers/openfaas/provider.yaml @@ -36,7 +36,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 integrations: - integration-name: OpenFaaS diff --git a/airflow/providers/opsgenie/provider.yaml b/airflow/providers/opsgenie/provider.yaml index efa630a12a..e6cb88da3e 100644 --- a/airflow/providers/opsgenie/provider.yaml +++ b/airflow/providers/opsgenie/provider.yaml @@ -39,7 +39,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - opsgenie-sdk>=2.1.5 integrations: diff --git a/airflow/providers/oracle/provider.yaml b/airflow/providers/oracle/provider.yaml index 7d3b8fd709..60b135f57f 100644 --- a/airflow/providers/oracle/provider.yaml +++ b/airflow/providers/oracle/provider.yaml @@ -48,7 +48,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - oracledb>=1.0.0 diff --git a/airflow/providers/pagerduty/provider.yaml b/airflow/providers/pagerduty/provider.yaml index d13bf50ea5..90406b2151 100644 --- a/airflow/providers/pagerduty/provider.yaml +++ b/airflow/providers/pagerduty/provider.yaml @@ -38,7 +38,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - pdpyras>=4.1.2 integrations: diff --git a/airflow/providers/papermill/provider.yaml b/airflow/providers/papermill/provider.yaml index bf6b2adb23..76304c761c 100644 --- a/airflow/providers/papermill/provider.yaml +++ b/airflow/providers/papermill/provider.yaml @@ -40,7 +40,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - papermill[all]>=1.2.1 - scrapbook[all] diff --git a/airflow/providers/plexus/provider.yaml b/airflow/providers/plexus/provider.yaml index ae4320cb47..316fd3d153 100644 --- a/airflow/providers/plexus/provider.yaml +++ b/airflow/providers/plexus/provider.yaml @@ -37,7 +37,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - arrow>=0.16.0 integrations: diff --git a/airflow/providers/postgres/provider.yaml b/airflow/providers/postgres/provider.yaml index af862c549c..e9278e2e5a 100644 --- a/airflow/providers/postgres/provider.yaml +++ b/airflow/providers/postgres/provider.yaml @@ -50,7 +50,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - psycopg2-binary>=2.8.0 diff --git a/airflow/providers/presto/provider.yaml b/airflow/providers/presto/provider.yaml index 7cc4c5aa25..b37a881144 100644 --- a/airflow/providers/presto/provider.yaml +++ b/airflow/providers/presto/provider.yaml @@ -49,7 +49,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - presto-python-client>=0.8.2 - pandas>=0.17.1 diff --git a/airflow/providers/qubole/provider.yaml b/airflow/providers/qubole/provider.yaml index b02cd29fc8..7f6c80ba14 100644 --- a/airflow/providers/qubole/provider.yaml +++ b/airflow/providers/qubole/provider.yaml @@ -47,7 +47,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - qds-sdk>=1.10.4 diff --git a/airflow/providers/redis/provider.yaml b/airflow/providers/redis/provider.yaml index a4f5986682..a11064d189 100644 --- a/airflow/providers/redis/provider.yaml +++ b/airflow/providers/redis/provider.yaml @@ -39,7 +39,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 # We limit redis to <5.0.0 because of incompatibility with celery. Both Celery and Kombu limited it # and deferred fixing it for later, we should bump the limit once they do. Also !=4.5.5 matches celery # limits and prevents installing 4.5.5 which is broken. diff --git a/airflow/providers/salesforce/provider.yaml b/airflow/providers/salesforce/provider.yaml index 16f9e5e72e..e50d1be62b 100644 --- a/airflow/providers/salesforce/provider.yaml +++ b/airflow/providers/salesforce/provider.yaml @@ -46,7 +46,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - simple-salesforce>=1.0.0 - pandas>=0.17.1 diff --git a/airflow/providers/samba/provider.yaml b/airflow/providers/samba/provider.yaml index 2dfdec782a..108fd36703 100644 --- a/airflow/providers/samba/provider.yaml +++ b/airflow/providers/samba/provider.yaml @@ -38,7 +38,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - smbprotocol>=1.5.0 integrations: diff --git a/airflow/providers/segment/provider.yaml b/airflow/providers/segment/provider.yaml index 2d9e865c55..77db4ca9f8 100644 --- a/airflow/providers/segment/provider.yaml +++ b/airflow/providers/segment/provider.yaml @@ -36,7 +36,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - analytics-python>=1.2.9 integrations: diff --git a/airflow/providers/sendgrid/provider.yaml b/airflow/providers/sendgrid/provider.yaml index 750dad9d11..5c28b81ec4 100644 --- a/airflow/providers/sendgrid/provider.yaml +++ b/airflow/providers/sendgrid/provider.yaml @@ -22,7 +22,7 @@ description: | `Sendgrid <https://sendgrid.com/>`__ dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - sendgrid>=6.0.0 suspended: false diff --git a/airflow/providers/sftp/provider.yaml b/airflow/providers/sftp/provider.yaml index cd21d50205..3e585c555c 100644 --- a/airflow/providers/sftp/provider.yaml +++ b/airflow/providers/sftp/provider.yaml @@ -54,7 +54,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-ssh>=2.1.0 - paramiko>=2.8.0 diff --git a/airflow/providers/singularity/provider.yaml b/airflow/providers/singularity/provider.yaml index e35ef69094..fff65be605 100644 --- a/airflow/providers/singularity/provider.yaml +++ b/airflow/providers/singularity/provider.yaml @@ -38,7 +38,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - spython>=0.0.56 integrations: diff --git a/airflow/providers/slack/hooks/slack.py b/airflow/providers/slack/hooks/slack.py index 5b3a89579c..1c81aca1c2 100644 --- a/airflow/providers/slack/hooks/slack.py +++ b/airflow/providers/slack/hooks/slack.py @@ -19,7 +19,7 @@ from __future__ import annotations import json import warnings -from functools import cached_property, wraps +from functools import cached_property from pathlib import Path from typing import TYPE_CHECKING, Any, Sequence @@ -36,32 +36,6 @@ if TYPE_CHECKING: from slack_sdk.web.slack_response import SlackResponse -def _ensure_prefixes(conn_type): - # TODO: Remove when provider min airflow version >= 2.5.0 since - # this is handled by provider manager from that version. - - def dec(func): - @wraps(func) - def inner(cls): - field_behaviors = func(cls) - conn_attrs = {"host", "schema", "login", "password", "port", "extra"} - - def _ensure_prefix(field): - if field not in conn_attrs and not field.startswith("extra__"): - return f"extra__{conn_type}__{field}" - else: - return field - - if "placeholders" in field_behaviors: - placeholders = field_behaviors["placeholders"] - field_behaviors["placeholders"] = {_ensure_prefix(k): v for k, v in placeholders.items()} - return field_behaviors - - return inner - - return dec - - class SlackHook(BaseHook): """ Creates a Slack API Connection to be used for calls. @@ -290,7 +264,6 @@ class SlackHook(BaseHook): } @classmethod - @_ensure_prefixes(conn_type="slack") def get_ui_field_behaviour(cls) -> dict[str, Any]: """Returns custom field behaviour.""" return { diff --git a/airflow/providers/slack/hooks/slack_webhook.py b/airflow/providers/slack/hooks/slack_webhook.py index bbaf271082..83ab7a63bd 100644 --- a/airflow/providers/slack/hooks/slack_webhook.py +++ b/airflow/providers/slack/hooks/slack_webhook.py @@ -50,32 +50,6 @@ def check_webhook_response(func: Callable) -> Callable: return wrapper -def _ensure_prefixes(conn_type): - # TODO: Remove when provider min airflow version >= 2.5.0 since - # this is handled by provider manager from that version. - - def dec(func): - @wraps(func) - def inner(cls): - field_behaviors = func(cls) - conn_attrs = {"host", "schema", "login", "password", "port", "extra"} - - def _ensure_prefix(field): - if field not in conn_attrs and not field.startswith("extra__"): - return f"extra__{conn_type}__{field}" - else: - return field - - if "placeholders" in field_behaviors: - placeholders = field_behaviors["placeholders"] - field_behaviors["placeholders"] = {_ensure_prefix(k): v for k, v in placeholders.items()} - return field_behaviors - - return inner - - return dec - - class SlackWebhookHook(BaseHook): """ This class provide a thin wrapper around the ``slack_sdk.WebhookClient``. @@ -316,7 +290,6 @@ class SlackWebhookHook(BaseHook): } @classmethod - @_ensure_prefixes(conn_type="slackwebhook") def get_ui_field_behaviour(cls) -> dict[str, Any]: """Returns custom field behaviour.""" return { diff --git a/airflow/providers/slack/provider.yaml b/airflow/providers/slack/provider.yaml index 48f436230c..a2f507dafc 100644 --- a/airflow/providers/slack/provider.yaml +++ b/airflow/providers/slack/provider.yaml @@ -47,7 +47,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - slack_sdk>=3.0.0 diff --git a/airflow/providers/smtp/provider.yaml b/airflow/providers/smtp/provider.yaml index d26fc1d7d1..d582fcc5d9 100644 --- a/airflow/providers/smtp/provider.yaml +++ b/airflow/providers/smtp/provider.yaml @@ -33,7 +33,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 integrations: - integration-name: Simple Mail Transfer Protocol (SMTP) diff --git a/airflow/providers/snowflake/hooks/snowflake.py b/airflow/providers/snowflake/hooks/snowflake.py index d08b51b8e0..ae8acd89f4 100644 --- a/airflow/providers/snowflake/hooks/snowflake.py +++ b/airflow/providers/snowflake/hooks/snowflake.py @@ -19,7 +19,6 @@ from __future__ import annotations import os from contextlib import closing, contextmanager -from functools import wraps from io import StringIO from pathlib import Path from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, TypeVar, overload @@ -48,31 +47,6 @@ def _try_to_boolean(value: Any): return value -# TODO: Remove this when provider min airflow version >= 2.5.0 since this is -# handled by provider manager from that version. -def _ensure_prefixes(conn_type): - def dec(func): - @wraps(func) - def inner(): - field_behaviors = func() - conn_attrs = {"host", "schema", "login", "password", "port", "extra"} - - def _ensure_prefix(field): - if field not in conn_attrs and not field.startswith("extra__"): - return f"extra__{conn_type}__{field}" - else: - return field - - if "placeholders" in field_behaviors: - placeholders = field_behaviors["placeholders"] - field_behaviors["placeholders"] = {_ensure_prefix(k): v for k, v in placeholders.items()} - return field_behaviors - - return inner - - return dec - - class SnowflakeHook(DbApiHook): """A client to interact with Snowflake. @@ -139,7 +113,6 @@ class SnowflakeHook(DbApiHook): } @staticmethod - @_ensure_prefixes(conn_type="snowflake") def get_ui_field_behaviour() -> dict[str, Any]: """Returns custom field behaviour.""" import json diff --git a/airflow/providers/snowflake/provider.yaml b/airflow/providers/snowflake/provider.yaml index 10d8632263..09df4899c9 100644 --- a/airflow/providers/snowflake/provider.yaml +++ b/airflow/providers/snowflake/provider.yaml @@ -61,7 +61,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - snowflake-connector-python>=2.4.1 - snowflake-sqlalchemy>=1.1.0 diff --git a/airflow/providers/sqlite/provider.yaml b/airflow/providers/sqlite/provider.yaml index c276de2138..f2f2a504e6 100644 --- a/airflow/providers/sqlite/provider.yaml +++ b/airflow/providers/sqlite/provider.yaml @@ -45,7 +45,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 integrations: diff --git a/airflow/providers/ssh/provider.yaml b/airflow/providers/ssh/provider.yaml index be68c572cd..52acf20fc8 100644 --- a/airflow/providers/ssh/provider.yaml +++ b/airflow/providers/ssh/provider.yaml @@ -50,7 +50,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - paramiko>=2.6.0 - sshtunnel>=0.3.2 diff --git a/airflow/providers/tableau/provider.yaml b/airflow/providers/tableau/provider.yaml index 64d1e75e44..83105e46d4 100644 --- a/airflow/providers/tableau/provider.yaml +++ b/airflow/providers/tableau/provider.yaml @@ -43,7 +43,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - tableauserverclient integrations: diff --git a/airflow/providers/tabular/provider.yaml b/airflow/providers/tabular/provider.yaml index b7b27fc8f9..c07f2a1a7e 100644 --- a/airflow/providers/tabular/provider.yaml +++ b/airflow/providers/tabular/provider.yaml @@ -30,7 +30,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 integrations: - integration-name: Tabular diff --git a/airflow/providers/telegram/provider.yaml b/airflow/providers/telegram/provider.yaml index 43578df98d..9c350c63b9 100644 --- a/airflow/providers/telegram/provider.yaml +++ b/airflow/providers/telegram/provider.yaml @@ -39,7 +39,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - python-telegram-bot>=20.0.0 integrations: diff --git a/airflow/providers/trino/provider.yaml b/airflow/providers/trino/provider.yaml index 96b4d5de6b..7a90fe7273 100644 --- a/airflow/providers/trino/provider.yaml +++ b/airflow/providers/trino/provider.yaml @@ -50,7 +50,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - pandas>=0.17.1 - trino>=0.318.0 diff --git a/airflow/providers/vertica/provider.yaml b/airflow/providers/vertica/provider.yaml index c49bed98ef..1082f6437c 100644 --- a/airflow/providers/vertica/provider.yaml +++ b/airflow/providers/vertica/provider.yaml @@ -44,7 +44,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - apache-airflow-providers-common-sql>=1.3.1 - vertica-python>=0.5.1 diff --git a/airflow/providers/yandex/provider.yaml b/airflow/providers/yandex/provider.yaml index af4ce9904d..c82b56f07b 100644 --- a/airflow/providers/yandex/provider.yaml +++ b/airflow/providers/yandex/provider.yaml @@ -37,7 +37,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - yandexcloud>=0.228.0 integrations: diff --git a/airflow/providers/zendesk/provider.yaml b/airflow/providers/zendesk/provider.yaml index 74b93c981e..e944dcdf1e 100644 --- a/airflow/providers/zendesk/provider.yaml +++ b/airflow/providers/zendesk/provider.yaml @@ -39,7 +39,7 @@ versions: - 1.0.0 dependencies: - - apache-airflow>=2.4.0 + - apache-airflow>=2.5.0 - zenpy>=2.0.24 integrations: diff --git a/dev/provider_packages/prepare_provider_packages.py b/dev/provider_packages/prepare_provider_packages.py index a62581101b..6d5a82327c 100755 --- a/dev/provider_packages/prepare_provider_packages.py +++ b/dev/provider_packages/prepare_provider_packages.py @@ -54,7 +54,7 @@ from yaml import safe_load ALL_PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11"] -MIN_AIRFLOW_VERSION = "2.4.0" +MIN_AIRFLOW_VERSION = "2.5.0" # In case you have some providers that you want to have different min-airflow version for, # Add them as exceptions here. Make sure to remove it once the min-airflow version is bumped # to the same version that is required by the exceptional provider diff --git a/generated/provider_dependencies.json b/generated/provider_dependencies.json index d72638a0db..028caf09ae 100644 --- a/generated/provider_dependencies.json +++ b/generated/provider_dependencies.json @@ -2,7 +2,7 @@ "airbyte": { "deps": [ "apache-airflow-providers-http", - "apache-airflow>=2.4.0" + "apache-airflow>=2.5.0" ], "cross-providers-deps": [ "http" @@ -13,7 +13,7 @@ "deps": [ "alibabacloud_adb20211201>=1.0.0", "alibabacloud_tea_openapi>=0.3.7", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "oss2>=2.14.0" ], "cross-providers-deps": [], @@ -23,7 +23,7 @@ "deps": [ "apache-airflow-providers-common-sql>=1.3.1", "apache-airflow-providers-http", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "asgiref", "boto3>=1.28.0", "botocore>=1.31.0", @@ -51,7 +51,7 @@ }, "apache.beam": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "apache-beam>=2.47.0" ], "cross-providers-deps": [ @@ -61,7 +61,7 @@ }, "apache.cassandra": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "cassandra-driver>=3.13.0" ], "cross-providers-deps": [], @@ -70,7 +70,7 @@ "apache.drill": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "sqlalchemy-drill>=1.1.0" ], "cross-providers-deps": [ @@ -81,7 +81,7 @@ "apache.druid": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "pydruid>=0.4.1" ], "cross-providers-deps": [ @@ -93,7 +93,7 @@ "apache.flink": { "deps": [ "apache-airflow-providers-cncf-kubernetes>=5.1.0", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "cryptography>=2.0.0" ], "cross-providers-deps": [ @@ -103,7 +103,7 @@ }, "apache.hdfs": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "hdfs[avro,dataframe,kerberos]>=2.0.4" ], "cross-providers-deps": [], @@ -112,7 +112,7 @@ "apache.hive": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "hmsclient>=0.1.0", "pandas>=0.17.1", "pyhive[hive_pure_sasl]>=0.7.0", @@ -131,7 +131,7 @@ }, "apache.impala": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "impyla>=0.18.0,<1.0" ], "cross-providers-deps": [ @@ -141,7 +141,7 @@ }, "apache.kafka": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "asgiref", "confluent-kafka>=1.8.2" ], @@ -150,7 +150,7 @@ }, "apache.kylin": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "kylinpy>=2.6" ], "cross-providers-deps": [], @@ -160,7 +160,7 @@ "deps": [ "aiohttp", "apache-airflow-providers-http", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "asgiref" ], "cross-providers-deps": [ @@ -170,7 +170,7 @@ }, "apache.pig": { "deps": [ - "apache-airflow>=2.4.0" + "apache-airflow>=2.5.0" ], "cross-providers-deps": [], "excluded-python-versions": [] @@ -178,7 +178,7 @@ "apache.pinot": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "pinotdb>0.4.7" ], "cross-providers-deps": [ @@ -188,7 +188,7 @@ }, "apache.spark": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "pyspark" ], "cross-providers-deps": [ @@ -198,14 +198,14 @@ }, "apache.sqoop": { "deps": [ - "apache-airflow>=2.4.0" + "apache-airflow>=2.5.0" ], "cross-providers-deps": [], "excluded-python-versions": [] }, "apprise": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "apprise" ], "cross-providers-deps": [], @@ -213,7 +213,7 @@ }, "arangodb": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "python-arango>=7.3.2" ], "cross-providers-deps": [], @@ -221,7 +221,7 @@ }, "asana": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "asana>=0.10,<4.0.0" ], "cross-providers-deps": [], @@ -229,7 +229,7 @@ }, "atlassian.jira": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "atlassian-python-api>=1.14.2" ], "cross-providers-deps": [], @@ -237,7 +237,7 @@ }, "celery": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "celery>=5.3.0,<6,!=5.3.3,!=5.3.2", "flower>=1.0.0", "google-re2>=1.0" @@ -249,7 +249,7 @@ }, "cloudant": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "cloudant>=2.0" ], "cross-providers-deps": [], @@ -257,7 +257,7 @@ }, "cncf.kubernetes": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "asgiref>=3.5.2", "cryptography>=2.0.0", "google-re2>=1.0", @@ -269,7 +269,7 @@ }, "common.sql": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "sqlparse>=0.4.2" ], "cross-providers-deps": [ @@ -279,7 +279,7 @@ }, "daskexecutor": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "cloudpickle>=1.4.1", "dask>=2.9.0,!=2022.10.1,!=2023.5.0", "distributed>=2.11.1,!=2023.5.0" @@ -291,7 +291,7 @@ "deps": [ "aiohttp>=3.6.3, <4", "apache-airflow-providers-common-sql>=1.5.0", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "databricks-sql-connector>=2.0.0, <3.0.0, !=2.9.0", "requests>=2.27,<3" ], @@ -302,7 +302,7 @@ }, "datadog": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "datadog>=0.14.0" ], "cross-providers-deps": [], @@ -312,7 +312,7 @@ "deps": [ "aiohttp", "apache-airflow-providers-http", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "asgiref" ], "cross-providers-deps": [ @@ -324,7 +324,7 @@ "dingding": { "deps": [ "apache-airflow-providers-http", - "apache-airflow>=2.4.0" + "apache-airflow>=2.5.0" ], "cross-providers-deps": [ "http" @@ -334,7 +334,7 @@ "discord": { "deps": [ "apache-airflow-providers-http", - "apache-airflow>=2.4.0" + "apache-airflow>=2.5.0" ], "cross-providers-deps": [ "http" @@ -343,7 +343,7 @@ }, "docker": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "docker>=5.0.3", "python-dotenv>=0.21.0" ], @@ -353,7 +353,7 @@ "elasticsearch": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "elasticsearch>8,<9" ], "cross-providers-deps": [ @@ -364,7 +364,7 @@ "exasol": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "pandas>=0.17.1", "pyexasol>=0.5.1" ], @@ -375,7 +375,7 @@ }, "facebook": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "facebook-business>=6.0.2" ], "cross-providers-deps": [], @@ -383,7 +383,7 @@ }, "ftp": { "deps": [ - "apache-airflow>=2.4.0" + "apache-airflow>=2.5.0" ], "cross-providers-deps": [ "openlineage" @@ -393,7 +393,7 @@ "github": { "deps": [ "PyGithub!=1.58", - "apache-airflow>=2.4.0" + "apache-airflow>=2.5.0" ], "cross-providers-deps": [], "excluded-python-versions": [] @@ -402,7 +402,7 @@ "deps": [ "PyOpenSSL", "apache-airflow-providers-common-sql>=1.7.2", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "asgiref>=3.5.2", "gcloud-aio-auth>=4.0.0,<5.0.0", "gcloud-aio-bigquery>=6.1.2", @@ -481,7 +481,7 @@ }, "grpc": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "google-auth-httplib2>=0.0.1", "google-auth>=1.0.0, <3.0.0", "grpcio>=1.15.0" @@ -491,7 +491,7 @@ }, "hashicorp": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "hvac>=0.10" ], "cross-providers-deps": [ @@ -502,7 +502,7 @@ "http": { "deps": [ "aiohttp", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "asgiref", "requests>=2.26.0", "requests_toolbelt" @@ -512,14 +512,14 @@ }, "imap": { "deps": [ - "apache-airflow>=2.4.0" + "apache-airflow>=2.5.0" ], "cross-providers-deps": [], "excluded-python-versions": [] }, "influxdb": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "influxdb-client>=1.19.0", "requests>=2.26.0" ], @@ -529,7 +529,7 @@ "jdbc": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "jaydebeapi>=1.1.1" ], "cross-providers-deps": [ @@ -539,7 +539,7 @@ }, "jenkins": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "python-jenkins>=1.0.0" ], "cross-providers-deps": [], @@ -548,7 +548,7 @@ "microsoft.azure": { "deps": [ "adal>=1.2.7", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "azure-batch>=8.0.0", "azure-cosmos>=4.0.0", "azure-datalake-store>=0.0.45", @@ -578,7 +578,7 @@ "microsoft.mssql": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "pymssql>=2.1.5" ], "cross-providers-deps": [ @@ -588,7 +588,7 @@ }, "microsoft.psrp": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "pypsrp>=0.8.0" ], "cross-providers-deps": [], @@ -596,7 +596,7 @@ }, "microsoft.winrm": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "pywinrm>=0.4" ], "cross-providers-deps": [], @@ -604,7 +604,7 @@ }, "mongo": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "dnspython>=1.13.0", "pymongo>=3.6.0" ], @@ -614,7 +614,7 @@ "mysql": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "mysql-connector-python>=8.0.11", "mysqlclient>=1.3.6" ], @@ -630,7 +630,7 @@ }, "neo4j": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "neo4j>=4.2.1" ], "cross-providers-deps": [], @@ -639,7 +639,7 @@ "odbc": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "pyodbc" ], "cross-providers-deps": [ @@ -649,7 +649,7 @@ }, "openfaas": { "deps": [ - "apache-airflow>=2.4.0" + "apache-airflow>=2.5.0" ], "cross-providers-deps": [], "excluded-python-versions": [] @@ -669,7 +669,7 @@ }, "opsgenie": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "opsgenie-sdk>=2.1.5" ], "cross-providers-deps": [], @@ -678,7 +678,7 @@ "oracle": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "oracledb>=1.0.0" ], "cross-providers-deps": [ @@ -688,7 +688,7 @@ }, "pagerduty": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "pdpyras>=4.1.2" ], "cross-providers-deps": [], @@ -696,7 +696,7 @@ }, "papermill": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "papermill[all]>=1.2.1", "scrapbook[all]" ], @@ -705,7 +705,7 @@ }, "plexus": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "arrow>=0.16.0" ], "cross-providers-deps": [], @@ -714,7 +714,7 @@ "postgres": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "psycopg2-binary>=2.8.0" ], "cross-providers-deps": [ @@ -727,7 +727,7 @@ "presto": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "pandas>=0.17.1", "presto-python-client>=0.8.2" ], @@ -739,7 +739,7 @@ }, "redis": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "redis>=4.5.2,<5.0.0,!=4.5.5" ], "cross-providers-deps": [], @@ -747,7 +747,7 @@ }, "salesforce": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "pandas>=0.17.1", "simple-salesforce>=1.0.0" ], @@ -756,7 +756,7 @@ }, "samba": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "smbprotocol>=1.5.0" ], "cross-providers-deps": [ @@ -767,14 +767,14 @@ "segment": { "deps": [ "analytics-python>=1.2.9", - "apache-airflow>=2.4.0" + "apache-airflow>=2.5.0" ], "cross-providers-deps": [], "excluded-python-versions": [] }, "sendgrid": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "sendgrid>=6.0.0" ], "cross-providers-deps": [], @@ -783,7 +783,7 @@ "sftp": { "deps": [ "apache-airflow-providers-ssh>=2.1.0", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "paramiko>=2.8.0" ], "cross-providers-deps": [ @@ -794,7 +794,7 @@ }, "singularity": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "spython>=0.0.56" ], "cross-providers-deps": [], @@ -803,7 +803,7 @@ "slack": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "slack_sdk>=3.0.0" ], "cross-providers-deps": [ @@ -813,7 +813,7 @@ }, "smtp": { "deps": [ - "apache-airflow>=2.4.0" + "apache-airflow>=2.5.0" ], "cross-providers-deps": [], "excluded-python-versions": [] @@ -821,7 +821,7 @@ "snowflake": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "snowflake-connector-python>=2.4.1", "snowflake-sqlalchemy>=1.1.0" ], @@ -834,7 +834,7 @@ "sqlite": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0" + "apache-airflow>=2.5.0" ], "cross-providers-deps": [ "common.sql" @@ -843,7 +843,7 @@ }, "ssh": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "paramiko>=2.6.0", "sshtunnel>=0.3.2" ], @@ -852,7 +852,7 @@ }, "tableau": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "tableauserverclient" ], "cross-providers-deps": [], @@ -860,14 +860,14 @@ }, "tabular": { "deps": [ - "apache-airflow>=2.4.0" + "apache-airflow>=2.5.0" ], "cross-providers-deps": [], "excluded-python-versions": [] }, "telegram": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "python-telegram-bot>=20.0.0" ], "cross-providers-deps": [], @@ -876,7 +876,7 @@ "trino": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "pandas>=0.17.1", "trino>=0.318.0" ], @@ -890,7 +890,7 @@ "vertica": { "deps": [ "apache-airflow-providers-common-sql>=1.3.1", - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "vertica-python>=0.5.1" ], "cross-providers-deps": [ @@ -900,7 +900,7 @@ }, "yandex": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "yandexcloud>=0.228.0" ], "cross-providers-deps": [], @@ -908,7 +908,7 @@ }, "zendesk": { "deps": [ - "apache-airflow>=2.4.0", + "apache-airflow>=2.5.0", "zenpy>=2.0.24" ], "cross-providers-deps": [], diff --git a/tests/providers/asana/hooks/test_asana.py b/tests/providers/asana/hooks/test_asana.py index b2412320ea..7d6311785e 100644 --- a/tests/providers/asana/hooks/test_asana.py +++ b/tests/providers/asana/hooks/test_asana.py @@ -24,7 +24,6 @@ from asana import Client from airflow.models import Connection from airflow.providers.asana.hooks.asana import AsanaHook -from tests.test_utils.providers import get_provider_min_airflow_version, object_exists class TestAsanaHook: @@ -223,33 +222,6 @@ class TestAsanaHook: expected_merged_params = {"workspace": "2"} assert hook._merge_project_parameters({"workspace": "2"}) == expected_merged_params - def test__ensure_prefixes_removal(self): - """Ensure that _ensure_prefixes is removed from snowflake when airflow min version >= 2.5.0.""" - path = "airflow.providers.asana.hooks.asana._ensure_prefixes" - if not object_exists(path): - raise Exception( - "You must remove this test. It only exists to " - "remind us to remove decorator `_ensure_prefixes`." - ) - - if get_provider_min_airflow_version("apache-airflow-providers-asana") >= (2, 5): - raise Exception( - "You must now remove `_ensure_prefixes` from AsanaHook." - " The functionality is now taken care of by providers manager." - ) - - def test__ensure_prefixes(self): - """ - Check that ensure_prefixes decorator working properly - - Note: remove this test when removing ensure_prefixes (after min airflow version >= 2.5.0 - """ - assert list(AsanaHook.get_ui_field_behaviour()["placeholders"].keys()) == [ - "password", - "extra__asana__workspace", - "extra__asana__project", - ] - @pytest.mark.parametrize( "uri", [ diff --git a/tests/providers/microsoft/azure/hooks/test_adx.py b/tests/providers/microsoft/azure/hooks/test_adx.py index 827d8b8a5b..3dc696b83d 100644 --- a/tests/providers/microsoft/azure/hooks/test_adx.py +++ b/tests/providers/microsoft/azure/hooks/test_adx.py @@ -25,7 +25,6 @@ from azure.kusto.data import ClientRequestProperties, KustoClient, KustoConnecti from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.microsoft.azure.hooks.adx import AzureDataExplorerHook -from tests.test_utils.providers import get_provider_min_airflow_version ADX_TEST_CONN_ID = "adx_test_connection_id" @@ -245,26 +244,6 @@ class TestAzureDataExplorerHook: properties.set_option("option1", "option_value") assert mock_execute.called_with("Database", "Logs | schema", properties=properties) - def test_get_ui_field_behaviour_placeholders(self): - """ - Check that ensure_prefixes decorator working properly - - Note: remove this test and the _ensure_prefixes decorator after min airflow version >= 2.5.0 - """ - assert list(AzureDataExplorerHook.get_ui_field_behaviour()["placeholders"].keys()) == [ - "login", - "password", - "auth_method", - "tenant", - "certificate", - "thumbprint", - ] - if get_provider_min_airflow_version("apache-airflow-providers-microsoft-azure") >= (2, 5): - raise Exception( - "You must now remove `_ensure_prefixes` from azure utils." - " The functionality is now taken care of by providers manager." - ) - @pytest.mark.parametrize( "mocked_connection", [ diff --git a/tests/providers/microsoft/azure/hooks/test_azure_container_volume.py b/tests/providers/microsoft/azure/hooks/test_azure_container_volume.py index 49a4ed9550..b5fdf2b08c 100644 --- a/tests/providers/microsoft/azure/hooks/test_azure_container_volume.py +++ b/tests/providers/microsoft/azure/hooks/test_azure_container_volume.py @@ -23,7 +23,6 @@ import pytest from airflow.models import Connection from airflow.providers.microsoft.azure.hooks.container_volume import AzureContainerVolumeHook -from tests.test_utils.providers import get_provider_min_airflow_version class TestAzureContainerVolumeHook: @@ -114,22 +113,3 @@ class TestAzureContainerVolumeHook: assert volume.azure_file.read_only is True mocked_default_azure_credential.assert_called_with() - - def test_get_ui_field_behaviour_placeholders(self): - """ - Check that ensure_prefixes decorator working properly - - Note: remove this test and the _ensure_prefixes decorator after min airflow version >= 2.5.0 - """ - assert list(AzureContainerVolumeHook.get_ui_field_behaviour()["placeholders"].keys()) == [ - "login", - "password", - "connection_string", - "subscription_id", - "resource_group", - ] - if get_provider_min_airflow_version("apache-airflow-providers-microsoft-azure") >= (2, 5): - raise Exception( - "You must now remove `_ensure_prefixes` from azure utils." - " The functionality is now taken care of by providers manager." - ) diff --git a/tests/providers/microsoft/azure/hooks/test_azure_cosmos.py b/tests/providers/microsoft/azure/hooks/test_azure_cosmos.py index ecaca3c0b9..2508cb9dd8 100644 --- a/tests/providers/microsoft/azure/hooks/test_azure_cosmos.py +++ b/tests/providers/microsoft/azure/hooks/test_azure_cosmos.py @@ -28,7 +28,6 @@ from azure.cosmos.cosmos_client import CosmosClient from airflow.exceptions import AirflowException from airflow.models import Connection from airflow.providers.microsoft.azure.hooks.cosmos import AzureCosmosDBHook -from tests.test_utils.providers import get_provider_min_airflow_version class TestAzureCosmosDbHook: @@ -239,23 +238,3 @@ class TestAzureCosmosDbHook: status, msg = hook.test_connection() assert status is False assert msg == "Authentication failed." - - def test_get_ui_field_behaviour_placeholders(self): - """ - Check that ensure_prefixes decorator working properly - - Note: remove this test and the _ensure_prefixes decorator after min airflow version >= 2.5.0 - """ - assert list(AzureCosmosDBHook.get_ui_field_behaviour()["placeholders"].keys()) == [ - "login", - "password", - "database_name", - "collection_name", - "subscription_id", - "resource_group_name", - ] - if get_provider_min_airflow_version("apache-airflow-providers-microsoft-azure") >= (2, 5): - raise Exception( - "You must now remove `_ensure_prefixes` from azure utils." - " The functionality is now taken care of by providers manager." - ) diff --git a/tests/providers/slack/hooks/test_slack.py b/tests/providers/slack/hooks/test_slack.py index a97ca2591e..5dba70fbdd 100644 --- a/tests/providers/slack/hooks/test_slack.py +++ b/tests/providers/slack/hooks/test_slack.py @@ -31,7 +31,6 @@ from slack_sdk.web.slack_response import SlackResponse from airflow.exceptions import AirflowNotFoundException from airflow.models.connection import Connection from airflow.providers.slack.hooks.slack import SlackHook -from tests.test_utils.providers import get_provider_min_airflow_version, object_exists MOCK_SLACK_API_TOKEN = "xoxb-1234567890123-09876543210987-AbCdEfGhIjKlMnOpQrStUvWx" SLACK_API_DEFAULT_CONN_ID = SlackHook.default_conn_name @@ -403,34 +402,6 @@ class TestSlackHook: filetype=filetype, ) - def test__ensure_prefixes_removal(self): - """Ensure that _ensure_prefixes is removed from snowflake when airflow min version >= 2.5.0.""" - path = "airflow.providers.slack.hooks.slack._ensure_prefixes" - if not object_exists(path): - raise Exception( - "You must remove this test. It only exists to " - "remind us to remove decorator `_ensure_prefixes`." - ) - - if get_provider_min_airflow_version("apache-airflow-providers-slack") >= (2, 5): - raise Exception( - "You must now remove `_ensure_prefixes` from SlackHook." - " The functionality is now taken care of by providers manager." - ) - - def test___ensure_prefixes(self): - """ - Check that ensure_prefixes decorator working properly - - Note: remove this test when removing ensure_prefixes (after min airflow version >= 2.5.0 - """ - assert list(SlackHook.get_ui_field_behaviour()["placeholders"].keys()) == [ - "password", - "extra__slack__timeout", - "extra__slack__base_url", - "extra__slack__proxy", - ] - @pytest.mark.parametrize( "uri", [ diff --git a/tests/providers/slack/hooks/test_slack_webhook.py b/tests/providers/slack/hooks/test_slack_webhook.py index 3a12f643a3..0af09e3068 100644 --- a/tests/providers/slack/hooks/test_slack_webhook.py +++ b/tests/providers/slack/hooks/test_slack_webhook.py @@ -32,7 +32,6 @@ from slack_sdk.webhook.webhook_response import WebhookResponse from airflow.exceptions import AirflowException, AirflowNotFoundException from airflow.models.connection import Connection from airflow.providers.slack.hooks.slack_webhook import SlackWebhookHook, check_webhook_response -from tests.test_utils.providers import get_provider_min_airflow_version, object_exists TEST_TOKEN = "T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX" TEST_WEBHOOK_URL = f"https://hooks.slack.com/services/{TEST_TOKEN}" @@ -446,35 +445,6 @@ class TestSlackWebhookHook: text="Test Text", headers=headers, unfurl_links=unfurl_links, unfurl_media=unfurl_media ) - def test__ensure_prefixes_removal(self): - """Ensure that _ensure_prefixes is removed from snowflake when airflow min version >= 2.5.0.""" - path = "airflow.providers.slack.hooks.slack_webhook._ensure_prefixes" - if not object_exists(path): - raise Exception( - "You must remove this test. It only exists to " - "remind us to remove decorator `_ensure_prefixes`." - ) - - if get_provider_min_airflow_version("apache-airflow-providers-slack") >= (2, 5): - raise Exception( - "You must now remove `_ensure_prefixes` from SlackWebhookHook." - " The functionality is now taken care of by providers manager." - ) - - def test___ensure_prefixes(self): - """ - Check that ensure_prefixes decorator working properly - - Note: remove this test when removing ensure_prefixes (after min airflow version >= 2.5.0 - """ - assert list(SlackWebhookHook.get_ui_field_behaviour()["placeholders"].keys()) == [ - "schema", - "host", - "password", - "extra__slackwebhook__timeout", - "extra__slackwebhook__proxy", - ] - @pytest.mark.parametrize( "uri", [ diff --git a/tests/providers/snowflake/hooks/test_snowflake.py b/tests/providers/snowflake/hooks/test_snowflake.py index 9170edc3f0..08b54c58f3 100644 --- a/tests/providers/snowflake/hooks/test_snowflake.py +++ b/tests/providers/snowflake/hooks/test_snowflake.py @@ -29,7 +29,6 @@ from cryptography.hazmat.primitives.asymmetric import rsa from airflow.models import Connection from airflow.providers.snowflake.hooks.snowflake import SnowflakeHook -from tests.test_utils.providers import get_provider_min_airflow_version, object_exists if TYPE_CHECKING: from pathlib import Path @@ -588,42 +587,6 @@ class TestPytestSnowflakeHook: hook.run(sql=empty_statement) assert err.value.args[0] == "List of SQL statements is empty" - def test__ensure_prefixes_removal(self): - """Ensure that _ensure_prefixes is removed from snowflake when airflow min version >= 2.5.0.""" - path = "airflow.providers.snowflake.hooks.snowflake._ensure_prefixes" - if not object_exists(path): - raise Exception( - "You must remove this test. It only exists to " - "remind us to remove decorator `_ensure_prefixes`." - ) - - if get_provider_min_airflow_version("apache-airflow-providers-snowflake") >= (2, 5): - raise Exception( - "You must now remove `_ensure_prefixes` from SnowflakeHook. The functionality is now taken" - "care of by providers manager." - ) - - def test___ensure_prefixes(self): - """ - Check that ensure_prefixes decorator working properly - - Note: remove this test when removing ensure_prefixes (after min airflow version >= 2.5.0 - """ - assert list(SnowflakeHook.get_ui_field_behaviour()["placeholders"].keys()) == [ - "extra", - "schema", - "login", - "password", - "extra__snowflake__account", - "extra__snowflake__warehouse", - "extra__snowflake__database", - "extra__snowflake__region", - "extra__snowflake__role", - "extra__snowflake__private_key_file", - "extra__snowflake__private_key_content", - "extra__snowflake__insecure_mode", - ] - @pytest.mark.parametrize( "returned_schema,expected_schema", [([None], ""), (["DATABASE.SCHEMA"], "SCHEMA")],