This is an automated email from the ASF dual-hosted git repository.
potiuk 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 919d59a138a Source odbc provider to use airflow.sdk.configuration.conf
(#59995)
919d59a138a is described below
commit 919d59a138a5079f560f0cd1058585493da2b73a
Author: Ankit Chaurasia <[email protected]>
AuthorDate: Sun Jan 4 06:33:40 2026 +0545
Source odbc provider to use airflow.sdk.configuration.conf (#59995)
* Migrate odbc provider to use airflow.sdk.configuration.conf
* Add common.compat optional dependency to odbc provider
* Move apache-airflow-providers-common-compat from optional to required
dependencies with version constraint >=1.10.1. This ensures the compatibility
layer is always available when using the ODBC provider.
---
providers/odbc/docs/index.rst | 30 ++++++++++++----------
providers/odbc/pyproject.toml | 2 ++
.../odbc/src/airflow/providers/odbc/hooks/odbc.py | 2 +-
3 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/providers/odbc/docs/index.rst b/providers/odbc/docs/index.rst
index c2c11da71fc..9d80dc96aa3 100644
--- a/providers/odbc/docs/index.rst
+++ b/providers/odbc/docs/index.rst
@@ -97,14 +97,15 @@ Requirements
The minimum Apache Airflow version supported by this provider distribution is
``2.11.0``.
-======================================= =====================================
-PIP package Version required
-======================================= =====================================
-``apache-airflow`` ``>=2.11.0``
-``apache-airflow-providers-common-sql`` ``>=1.20.0``
-``pyodbc`` ``>=5.0.0; python_version < "3.13"``
-``pyodbc`` ``>=5.2.0; python_version >= "3.13"``
-======================================= =====================================
+==========================================
=====================================
+PIP package Version required
+==========================================
=====================================
+``apache-airflow`` ``>=2.11.0``
+``apache-airflow-providers-common-compat`` ``>=1.10.1``
+``apache-airflow-providers-common-sql`` ``>=1.20.0``
+``pyodbc`` ``>=5.0.0; python_version <
"3.13"``
+``pyodbc`` ``>=5.2.0; python_version >=
"3.13"``
+==========================================
=====================================
Cross provider package dependencies
-----------------------------------
@@ -116,14 +117,15 @@ You can install such cross-provider dependencies when
installing from PyPI. For
.. code-block:: bash
- pip install apache-airflow-providers-odbc[common.sql]
+ pip install apache-airflow-providers-odbc[common.compat]
-============================================================================================================
==============
-Dependent package
Extra
-============================================================================================================
==============
-`apache-airflow-providers-common-sql
<https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_
``common.sql``
-============================================================================================================
==============
+==================================================================================================================
=================
+Dependent package
Extra
+==================================================================================================================
=================
+`apache-airflow-providers-common-compat
<https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_
``common.compat``
+`apache-airflow-providers-common-sql
<https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_
``common.sql``
+==================================================================================================================
=================
Downloading official packages
-----------------------------
diff --git a/providers/odbc/pyproject.toml b/providers/odbc/pyproject.toml
index bb9efc0e595..13727722d17 100644
--- a/providers/odbc/pyproject.toml
+++ b/providers/odbc/pyproject.toml
@@ -59,6 +59,7 @@ requires-python = ">=3.10"
# After you modify the dependencies, and rebuild your Breeze CI image with
``breeze ci-image build``
dependencies = [
"apache-airflow>=2.11.0",
+ "apache-airflow-providers-common-compat>=1.10.1", # use next version
"apache-airflow-providers-common-sql>=1.20.0",
"pyodbc>=5.0.0; python_version < '3.13'",
"pyodbc>=5.2.0; python_version >= '3.13'",
@@ -69,6 +70,7 @@ dev = [
"apache-airflow",
"apache-airflow-task-sdk",
"apache-airflow-devel-common",
+ "apache-airflow-providers-common-compat",
"apache-airflow-providers-common-sql",
# Additional devel dependencies (do not remove this line and add extra
development dependencies)
]
diff --git a/providers/odbc/src/airflow/providers/odbc/hooks/odbc.py
b/providers/odbc/src/airflow/providers/odbc/hooks/odbc.py
index 8a4797def53..4226fe8bb7f 100644
--- a/providers/odbc/src/airflow/providers/odbc/hooks/odbc.py
+++ b/providers/odbc/src/airflow/providers/odbc/hooks/odbc.py
@@ -97,7 +97,7 @@ class OdbcHook(DbApiHook):
def driver(self) -> str | None:
"""Driver from init param if given; else try to find one in connection
extra."""
extra_driver = self.connection_extra_lower.get("driver")
- from airflow.configuration import conf
+ from airflow.providers.common.compat.sdk import conf
if extra_driver and conf.getboolean("providers.odbc",
"allow_driver_in_extra", fallback=False):
self._driver = extra_driver