apache-airflow-providers-exasol 4.9.0rc1__tar.gz → 4.9.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/NOTICE +1 -1
  2. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/PKG-INFO +37 -23
  3. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/README.rst +29 -18
  4. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/docs/changelog.rst +14 -0
  5. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/docs/index.rst +20 -18
  6. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/provider.yaml +2 -1
  7. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/pyproject.toml +14 -5
  8. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/src/airflow/providers/exasol/__init__.py +1 -1
  9. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/src/airflow/providers/exasol/hooks/exasol.py +14 -1
  10. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/LICENSE +0 -0
  11. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/docs/.latest-doc-only-change.txt +0 -0
  12. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/docs/commits.rst +0 -0
  13. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/docs/conf.py +0 -0
  14. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/docs/installing-providers-from-sources.rst +0 -0
  15. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/docs/integration-logos/Exasol.png +0 -0
  16. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/docs/operators.rst +0 -0
  17. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/docs/security.rst +0 -0
  18. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/src/airflow/__init__.py +0 -0
  19. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/src/airflow/providers/__init__.py +0 -0
  20. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/src/airflow/providers/exasol/get_provider_info.py +0 -0
  21. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/src/airflow/providers/exasol/hooks/__init__.py +0 -0
  22. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/src/airflow/providers/exasol/operators/__init__.py +0 -0
  23. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/src/airflow/providers/exasol/operators/exasol.py +0 -0
  24. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/tests/conftest.py +0 -0
  25. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/tests/system/__init__.py +0 -0
  26. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/tests/system/exasol/__init__.py +0 -0
  27. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/tests/system/exasol/example_exasol.py +0 -0
  28. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/tests/unit/__init__.py +0 -0
  29. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/tests/unit/exasol/__init__.py +0 -0
  30. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/tests/unit/exasol/hooks/__init__.py +0 -0
  31. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/tests/unit/exasol/hooks/test_exasol.py +0 -0
  32. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/tests/unit/exasol/hooks/test_sql.py +0 -0
  33. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/tests/unit/exasol/operators/__init__.py +0 -0
  34. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/tests/unit/exasol/operators/test_exasol.py +0 -0
  35. {apache_airflow_providers_exasol-4.9.0rc1 → apache_airflow_providers_exasol-4.9.1}/tests/unit/exasol/operators/test_exasol_sql.py +0 -0
@@ -1,5 +1,5 @@
1
1
  Apache Airflow
2
- Copyright 2016-2025 The Apache Software Foundation
2
+ Copyright 2016-2026 The Apache Software Foundation
3
3
 
4
4
  This product includes software developed at
5
5
  The Apache Software Foundation (http://www.apache.org/).
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-exasol
3
- Version: 4.9.0rc1
3
+ Version: 4.9.1
4
4
  Summary: Provider package apache-airflow-providers-exasol for Apache Airflow
5
5
  Keywords: airflow-provider,exasol,airflow,integration
6
6
  Author-email: Apache Software Foundation <dev@airflow.apache.org>
@@ -22,18 +22,21 @@ Classifier: Programming Language :: Python :: 3.13
22
22
  Classifier: Topic :: System :: Monitoring
23
23
  License-File: LICENSE
24
24
  License-File: NOTICE
25
- Requires-Dist: apache-airflow>=2.11.0rc1
26
- Requires-Dist: apache-airflow-providers-common-sql>=1.26.0rc1
25
+ Requires-Dist: apache-airflow>=2.11.0
26
+ Requires-Dist: apache-airflow-providers-common-compat>=1.12.0
27
+ Requires-Dist: apache-airflow-providers-common-sql>=1.26.0
27
28
  Requires-Dist: pyexasol>=0.26.0
28
29
  Requires-Dist: pandas>=2.1.2; python_version <"3.13"
29
30
  Requires-Dist: pandas>=2.2.3; python_version >="3.13"
31
+ Requires-Dist: sqlalchemy>=1.4.49 ; extra == "sqlalchemy"
30
32
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
31
- Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-exasol/4.9.0/changelog.html
32
- Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-exasol/4.9.0
33
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.9.1/changelog.html
34
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.9.1
33
35
  Project-URL: Mastodon, https://fosstodon.org/@airflow
34
36
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
35
37
  Project-URL: Source Code, https://github.com/apache/airflow
36
38
  Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
39
+ Provides-Extra: sqlalchemy
37
40
 
38
41
 
39
42
  .. Licensed to the Apache Software Foundation (ASF) under one
@@ -60,7 +63,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
60
63
 
61
64
  Package ``apache-airflow-providers-exasol``
62
65
 
63
- Release: ``4.9.0``
66
+ Release: ``4.9.1``
64
67
 
65
68
 
66
69
  `Exasol <https://www.exasol.com/>`__
@@ -73,7 +76,7 @@ This is a provider package for ``exasol`` provider. All classes for this provide
73
76
  are in ``airflow.providers.exasol`` python package.
74
77
 
75
78
  You can find package information and changelog for the provider
76
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.9.0/>`_.
79
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.9.1/>`_.
77
80
 
78
81
  Installation
79
82
  ------------
@@ -87,15 +90,16 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13
87
90
  Requirements
88
91
  ------------
89
92
 
90
- ======================================= =====================================
91
- PIP package Version required
92
- ======================================= =====================================
93
- ``apache-airflow`` ``>=2.11.0``
94
- ``apache-airflow-providers-common-sql`` ``>=1.26.0``
95
- ``pyexasol`` ``>=0.26.0``
96
- ``pandas`` ``>=2.1.2; python_version < "3.13"``
97
- ``pandas`` ``>=2.2.3; python_version >= "3.13"``
98
- ======================================= =====================================
93
+ ========================================== =====================================
94
+ PIP package Version required
95
+ ========================================== =====================================
96
+ ``apache-airflow`` ``>=2.11.0``
97
+ ``apache-airflow-providers-common-compat`` ``>=1.10.1``
98
+ ``apache-airflow-providers-common-sql`` ``>=1.26.0``
99
+ ``pyexasol`` ``>=0.26.0``
100
+ ``pandas`` ``>=2.1.2; python_version < "3.13"``
101
+ ``pandas`` ``>=2.2.3; python_version >= "3.13"``
102
+ ========================================== =====================================
99
103
 
100
104
  Cross provider package dependencies
101
105
  -----------------------------------
@@ -107,15 +111,25 @@ You can install such cross-provider dependencies when installing from PyPI. For
107
111
 
108
112
  .. code-block:: bash
109
113
 
110
- pip install apache-airflow-providers-exasol[common.sql]
114
+ pip install apache-airflow-providers-exasol[common.compat]
111
115
 
112
116
 
113
- ============================================================================================================ ==============
114
- Dependent package Extra
115
- ============================================================================================================ ==============
116
- `apache-airflow-providers-common-sql <https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_ ``common.sql``
117
- ============================================================================================================ ==============
117
+ ================================================================================================================== =================
118
+ Dependent package Extra
119
+ ================================================================================================================== =================
120
+ `apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
121
+ `apache-airflow-providers-common-sql <https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_ ``common.sql``
122
+ ================================================================================================================== =================
123
+
124
+ Optional dependencies
125
+ ----------------------
126
+
127
+ ============== ======================
128
+ Extra Dependencies
129
+ ============== ======================
130
+ ``sqlalchemy`` ``sqlalchemy>=1.4.49``
131
+ ============== ======================
118
132
 
119
133
  The changelog for the provider package can be found in the
120
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.9.0/changelog.html>`_.
134
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.9.1/changelog.html>`_.
121
135
 
@@ -23,7 +23,7 @@
23
23
 
24
24
  Package ``apache-airflow-providers-exasol``
25
25
 
26
- Release: ``4.9.0``
26
+ Release: ``4.9.1``
27
27
 
28
28
 
29
29
  `Exasol <https://www.exasol.com/>`__
@@ -36,7 +36,7 @@ This is a provider package for ``exasol`` provider. All classes for this provide
36
36
  are in ``airflow.providers.exasol`` python package.
37
37
 
38
38
  You can find package information and changelog for the provider
39
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.9.0/>`_.
39
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.9.1/>`_.
40
40
 
41
41
  Installation
42
42
  ------------
@@ -50,15 +50,16 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13
50
50
  Requirements
51
51
  ------------
52
52
 
53
- ======================================= =====================================
54
- PIP package Version required
55
- ======================================= =====================================
56
- ``apache-airflow`` ``>=2.11.0``
57
- ``apache-airflow-providers-common-sql`` ``>=1.26.0``
58
- ``pyexasol`` ``>=0.26.0``
59
- ``pandas`` ``>=2.1.2; python_version < "3.13"``
60
- ``pandas`` ``>=2.2.3; python_version >= "3.13"``
61
- ======================================= =====================================
53
+ ========================================== =====================================
54
+ PIP package Version required
55
+ ========================================== =====================================
56
+ ``apache-airflow`` ``>=2.11.0``
57
+ ``apache-airflow-providers-common-compat`` ``>=1.10.1``
58
+ ``apache-airflow-providers-common-sql`` ``>=1.26.0``
59
+ ``pyexasol`` ``>=0.26.0``
60
+ ``pandas`` ``>=2.1.2; python_version < "3.13"``
61
+ ``pandas`` ``>=2.2.3; python_version >= "3.13"``
62
+ ========================================== =====================================
62
63
 
63
64
  Cross provider package dependencies
64
65
  -----------------------------------
@@ -70,14 +71,24 @@ You can install such cross-provider dependencies when installing from PyPI. For
70
71
 
71
72
  .. code-block:: bash
72
73
 
73
- pip install apache-airflow-providers-exasol[common.sql]
74
+ pip install apache-airflow-providers-exasol[common.compat]
74
75
 
75
76
 
76
- ============================================================================================================ ==============
77
- Dependent package Extra
78
- ============================================================================================================ ==============
79
- `apache-airflow-providers-common-sql <https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_ ``common.sql``
80
- ============================================================================================================ ==============
77
+ ================================================================================================================== =================
78
+ Dependent package Extra
79
+ ================================================================================================================== =================
80
+ `apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
81
+ `apache-airflow-providers-common-sql <https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_ ``common.sql``
82
+ ================================================================================================================== =================
83
+
84
+ Optional dependencies
85
+ ----------------------
86
+
87
+ ============== ======================
88
+ Extra Dependencies
89
+ ============== ======================
90
+ ``sqlalchemy`` ``sqlalchemy>=1.4.49``
91
+ ============== ======================
81
92
 
82
93
  The changelog for the provider package can be found in the
83
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.9.0/changelog.html>`_.
94
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.9.1/changelog.html>`_.
@@ -27,6 +27,20 @@
27
27
  Changelog
28
28
  ---------
29
29
 
30
+ 4.9.1
31
+ .....
32
+
33
+ Misc
34
+ ~~~~
35
+
36
+ * ``Consume ''AirflowOptionalProviderFeatureException'' from compat sdk in providers (#60335)``
37
+ * ``New year means updated Copyright notices (#60344)``
38
+ * ``Assorted SQLA2/Mypy fixes (#60094)``
39
+ * ``Add SQLAlchemy dependency to Exasol provider (#59902) (#59915)``
40
+
41
+ .. Below changes are excluded from the changelog. Move them to
42
+ appropriate section above if needed. Do not delete the lines(!):
43
+
30
44
  4.9.0
31
45
  .....
32
46
 
@@ -75,7 +75,7 @@ apache-airflow-providers-exasol package
75
75
  `Exasol <https://www.exasol.com/>`__
76
76
 
77
77
 
78
- Release: 4.9.0
78
+ Release: 4.9.1
79
79
 
80
80
  Provider package
81
81
  ----------------
@@ -95,15 +95,16 @@ Requirements
95
95
 
96
96
  The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``.
97
97
 
98
- ======================================= =====================================
99
- PIP package Version required
100
- ======================================= =====================================
101
- ``apache-airflow`` ``>=2.11.0``
102
- ``apache-airflow-providers-common-sql`` ``>=1.26.0``
103
- ``pyexasol`` ``>=0.26.0``
104
- ``pandas`` ``>=2.1.2; python_version < "3.13"``
105
- ``pandas`` ``>=2.2.3; python_version >= "3.13"``
106
- ======================================= =====================================
98
+ ========================================== =====================================
99
+ PIP package Version required
100
+ ========================================== =====================================
101
+ ``apache-airflow`` ``>=2.11.0``
102
+ ``apache-airflow-providers-common-compat`` ``>=1.12.0``
103
+ ``apache-airflow-providers-common-sql`` ``>=1.26.0``
104
+ ``pyexasol`` ``>=0.26.0``
105
+ ``pandas`` ``>=2.1.2; python_version < "3.13"``
106
+ ``pandas`` ``>=2.2.3; python_version >= "3.13"``
107
+ ========================================== =====================================
107
108
 
108
109
  Cross provider package dependencies
109
110
  -----------------------------------
@@ -115,14 +116,15 @@ You can install such cross-provider dependencies when installing from PyPI. For
115
116
 
116
117
  .. code-block:: bash
117
118
 
118
- pip install apache-airflow-providers-exasol[common.sql]
119
+ pip install apache-airflow-providers-exasol[common.compat]
119
120
 
120
121
 
121
- ============================================================================================================ ==============
122
- Dependent package Extra
123
- ============================================================================================================ ==============
124
- `apache-airflow-providers-common-sql <https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_ ``common.sql``
125
- ============================================================================================================ ==============
122
+ ================================================================================================================== =================
123
+ Dependent package Extra
124
+ ================================================================================================================== =================
125
+ `apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
126
+ `apache-airflow-providers-common-sql <https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_ ``common.sql``
127
+ ================================================================================================================== =================
126
128
 
127
129
  Downloading official packages
128
130
  -----------------------------
@@ -130,5 +132,5 @@ Downloading official packages
130
132
  You can download officially released packages and verify their checksums and signatures from the
131
133
  `Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
132
134
 
133
- * `The apache-airflow-providers-exasol 4.9.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_exasol-4.9.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_exasol-4.9.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_exasol-4.9.0.tar.gz.sha512>`__)
134
- * `The apache-airflow-providers-exasol 4.9.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_exasol-4.9.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_exasol-4.9.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_exasol-4.9.0-py3-none-any.whl.sha512>`__)
135
+ * `The apache-airflow-providers-exasol 4.9.1 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_exasol-4.9.1.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_exasol-4.9.1.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_exasol-4.9.1.tar.gz.sha512>`__)
136
+ * `The apache-airflow-providers-exasol 4.9.1 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_exasol-4.9.1-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_exasol-4.9.1-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_exasol-4.9.1-py3-none-any.whl.sha512>`__)
@@ -22,12 +22,13 @@ description: |
22
22
  `Exasol <https://www.exasol.com/>`__
23
23
 
24
24
  state: ready
25
- source-date-epoch: 1764110080
25
+ source-date-epoch: 1768334877
26
26
  # Note that those versions are maintained by release manager - do not update them manually
27
27
  # with the exception of case where other provider in sources has >= new provider version.
28
28
  # In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
29
29
  # to be done in the same PR
30
30
  versions:
31
+ - 4.9.1
31
32
  - 4.9.0
32
33
  - 4.8.4
33
34
  - 4.8.3
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
25
25
 
26
26
  [project]
27
27
  name = "apache-airflow-providers-exasol"
28
- version = "4.9.0rc1"
28
+ version = "4.9.1"
29
29
  description = "Provider package apache-airflow-providers-exasol for Apache Airflow"
30
30
  readme = "README.rst"
31
31
  license = "Apache-2.0"
@@ -58,18 +58,27 @@ requires-python = ">=3.10"
58
58
  # Make sure to run ``prek update-providers-dependencies --all-files``
59
59
  # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
60
60
  dependencies = [
61
- "apache-airflow>=2.11.0rc1",
62
- "apache-airflow-providers-common-sql>=1.26.0rc1",
61
+ "apache-airflow>=2.11.0",
62
+ "apache-airflow-providers-common-compat>=1.12.0",
63
+ "apache-airflow-providers-common-sql>=1.26.0",
63
64
  "pyexasol>=0.26.0",
64
65
  'pandas>=2.1.2; python_version <"3.13"',
65
66
  'pandas>=2.2.3; python_version >="3.13"',
66
67
  ]
67
68
 
69
+ # The optional dependencies should be modified in place in the generated file
70
+ # Any change in the dependencies is preserved when the file is regenerated
71
+ [project.optional-dependencies]
72
+ sqlalchemy = [
73
+ "sqlalchemy>=1.4.49",
74
+ ]
75
+
68
76
  [dependency-groups]
69
77
  dev = [
70
78
  "apache-airflow",
71
79
  "apache-airflow-task-sdk",
72
80
  "apache-airflow-devel-common",
81
+ "apache-airflow-providers-common-compat",
73
82
  "apache-airflow-providers-common-sql",
74
83
  # Additional devel dependencies (do not remove this line and add extra development dependencies)
75
84
  ]
@@ -100,8 +109,8 @@ apache-airflow-providers-common-sql = {workspace = true}
100
109
  apache-airflow-providers-standard = {workspace = true}
101
110
 
102
111
  [project.urls]
103
- "Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-exasol/4.9.0"
104
- "Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-exasol/4.9.0/changelog.html"
112
+ "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.9.1"
113
+ "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.9.1/changelog.html"
105
114
  "Bug Tracker" = "https://github.com/apache/airflow/issues"
106
115
  "Source Code" = "https://github.com/apache/airflow"
107
116
  "Slack Chat" = "https://s.apache.org/airflow-slack"
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "4.9.0"
32
+ __version__ = "4.9.1"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.11.0"
@@ -24,9 +24,14 @@ from typing import TYPE_CHECKING, Any, TypeVar, overload
24
24
  import pyexasol
25
25
  from deprecated import deprecated
26
26
  from pyexasol import ExaConnection, ExaStatement
27
- from sqlalchemy.engine import URL
27
+
28
+ try:
29
+ from sqlalchemy.engine import URL
30
+ except ImportError:
31
+ URL = None # type: ignore[assignment,misc]
28
32
 
29
33
  from airflow.exceptions import AirflowProviderDeprecationWarning
34
+ from airflow.providers.common.compat.sdk import AirflowOptionalProviderFeatureException
30
35
  from airflow.providers.common.sql.hooks.handlers import return_single_query_results
31
36
  from airflow.providers.common.sql.hooks.sql import DbApiHook
32
37
 
@@ -96,6 +101,10 @@ class ExasolHook(DbApiHook):
96
101
 
97
102
  :return: the extracted sqlalchemy.engine.URL object.
98
103
  """
104
+ if URL is None:
105
+ raise AirflowOptionalProviderFeatureException(
106
+ "The 'sqlalchemy' library is required to use 'sqlalchemy_url'."
107
+ )
99
108
  connection = self.connection
100
109
  query = connection.extra_dejson
101
110
  query = {k: v for k, v in query.items() if k.lower() != "sqlalchemy_scheme"}
@@ -115,6 +124,10 @@ class ExasolHook(DbApiHook):
115
124
 
116
125
  :return: the extracted uri.
117
126
  """
127
+ if URL is None:
128
+ raise AirflowOptionalProviderFeatureException(
129
+ "The 'sqlalchemy' library is required to render the connection URI."
130
+ )
118
131
  return self.sqlalchemy_url.render_as_string(hide_password=False)
119
132
 
120
133
  def _get_pandas_df(