apache-airflow-providers-exasol 4.7.5__py3-none-any.whl → 4.8.0rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of apache-airflow-providers-exasol might be problematic. Click here for more details.
- airflow/providers/exasol/__init__.py +3 -3
- airflow/providers/exasol/hooks/exasol.py +33 -2
- {apache_airflow_providers_exasol-4.7.5.dist-info → apache_airflow_providers_exasol-4.8.0rc1.dist-info}/METADATA +10 -10
- apache_airflow_providers_exasol-4.8.0rc1.dist-info/RECORD +11 -0
- apache_airflow_providers_exasol-4.7.5.dist-info/RECORD +0 -11
- {apache_airflow_providers_exasol-4.7.5.dist-info → apache_airflow_providers_exasol-4.8.0rc1.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_exasol-4.7.5.dist-info → apache_airflow_providers_exasol-4.8.0rc1.dist-info}/entry_points.txt +0 -0
|
@@ -29,11 +29,11 @@ from airflow import __version__ as airflow_version
|
|
|
29
29
|
|
|
30
30
|
__all__ = ["__version__"]
|
|
31
31
|
|
|
32
|
-
__version__ = "4.
|
|
32
|
+
__version__ = "4.8.0"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
|
-
"2.
|
|
35
|
+
"2.10.0"
|
|
36
36
|
):
|
|
37
37
|
raise RuntimeError(
|
|
38
|
-
f"The package `apache-airflow-providers-exasol:{__version__}` needs Apache Airflow 2.
|
|
38
|
+
f"The package `apache-airflow-providers-exasol:{__version__}` needs Apache Airflow 2.10.0+"
|
|
39
39
|
)
|
|
@@ -22,9 +22,12 @@ from contextlib import closing
|
|
|
22
22
|
from typing import TYPE_CHECKING, Any, Callable, TypeVar, overload
|
|
23
23
|
|
|
24
24
|
import pyexasol
|
|
25
|
+
from deprecated import deprecated
|
|
25
26
|
from pyexasol import ExaConnection, ExaStatement
|
|
26
27
|
|
|
27
|
-
from airflow.
|
|
28
|
+
from airflow.exceptions import AirflowProviderDeprecationWarning
|
|
29
|
+
from airflow.providers.common.sql.hooks.handlers import return_single_query_results
|
|
30
|
+
from airflow.providers.common.sql.hooks.sql import DbApiHook
|
|
28
31
|
|
|
29
32
|
if TYPE_CHECKING:
|
|
30
33
|
import pandas as pd
|
|
@@ -72,7 +75,7 @@ class ExasolHook(DbApiHook):
|
|
|
72
75
|
conn = pyexasol.connect(**conn_args)
|
|
73
76
|
return conn
|
|
74
77
|
|
|
75
|
-
def
|
|
78
|
+
def _get_pandas_df(
|
|
76
79
|
self, sql, parameters: Iterable | Mapping[str, Any] | None = None, **kwargs
|
|
77
80
|
) -> pd.DataFrame:
|
|
78
81
|
"""
|
|
@@ -89,6 +92,34 @@ class ExasolHook(DbApiHook):
|
|
|
89
92
|
df = conn.export_to_pandas(sql, query_params=parameters, **kwargs)
|
|
90
93
|
return df
|
|
91
94
|
|
|
95
|
+
@deprecated(
|
|
96
|
+
reason="Replaced by function `get_df`.",
|
|
97
|
+
category=AirflowProviderDeprecationWarning,
|
|
98
|
+
action="ignore",
|
|
99
|
+
)
|
|
100
|
+
def get_pandas_df(
|
|
101
|
+
self,
|
|
102
|
+
sql,
|
|
103
|
+
parameters: list | tuple | Mapping[str, Any] | None = None,
|
|
104
|
+
**kwargs,
|
|
105
|
+
) -> pd.DataFrame:
|
|
106
|
+
"""
|
|
107
|
+
Execute the sql and returns a pandas dataframe.
|
|
108
|
+
|
|
109
|
+
:param sql: the sql statement to be executed (str) or a list of sql statements to execute
|
|
110
|
+
:param parameters: The parameters to render the SQL query with.
|
|
111
|
+
:param kwargs: (optional) passed into pandas.io.sql.read_sql method
|
|
112
|
+
"""
|
|
113
|
+
return self._get_pandas_df(sql, parameters, **kwargs)
|
|
114
|
+
|
|
115
|
+
def _get_polars_df(
|
|
116
|
+
self,
|
|
117
|
+
sql,
|
|
118
|
+
parameters: list | tuple | Mapping[str, Any] | None = None,
|
|
119
|
+
**kwargs,
|
|
120
|
+
):
|
|
121
|
+
raise NotImplementedError("Polars is not supported for Exasol")
|
|
122
|
+
|
|
92
123
|
def get_records(
|
|
93
124
|
self,
|
|
94
125
|
sql: str | list[str],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-exasol
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.8.0rc1
|
|
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>
|
|
@@ -20,13 +20,13 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
|
23
|
-
Requires-Dist: apache-airflow>=2.
|
|
24
|
-
Requires-Dist: apache-airflow-providers-common-sql>=1.
|
|
23
|
+
Requires-Dist: apache-airflow>=2.10.0rc1
|
|
24
|
+
Requires-Dist: apache-airflow-providers-common-sql>=1.26.0rc1
|
|
25
25
|
Requires-Dist: pyexasol>=0.5.1
|
|
26
26
|
Requires-Dist: pandas>=2.1.2,<2.2
|
|
27
27
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
28
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.
|
|
29
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.
|
|
28
|
+
Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-exasol/4.8.0/changelog.html
|
|
29
|
+
Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-exasol/4.8.0
|
|
30
30
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
31
31
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
32
32
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -57,7 +57,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
|
57
57
|
|
|
58
58
|
Package ``apache-airflow-providers-exasol``
|
|
59
59
|
|
|
60
|
-
Release: ``4.
|
|
60
|
+
Release: ``4.8.0``
|
|
61
61
|
|
|
62
62
|
|
|
63
63
|
`Exasol <https://www.exasol.com/>`__
|
|
@@ -70,7 +70,7 @@ This is a provider package for ``exasol`` provider. All classes for this provide
|
|
|
70
70
|
are in ``airflow.providers.exasol`` python package.
|
|
71
71
|
|
|
72
72
|
You can find package information and changelog for the provider
|
|
73
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.
|
|
73
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.8.0/>`_.
|
|
74
74
|
|
|
75
75
|
Installation
|
|
76
76
|
------------
|
|
@@ -87,8 +87,8 @@ Requirements
|
|
|
87
87
|
======================================= ==================
|
|
88
88
|
PIP package Version required
|
|
89
89
|
======================================= ==================
|
|
90
|
-
``apache-airflow`` ``>=2.
|
|
91
|
-
``apache-airflow-providers-common-sql`` ``>=1.
|
|
90
|
+
``apache-airflow`` ``>=2.10.0``
|
|
91
|
+
``apache-airflow-providers-common-sql`` ``>=1.26.0``
|
|
92
92
|
``pyexasol`` ``>=0.5.1``
|
|
93
93
|
``pandas`` ``>=2.1.2,<2.2``
|
|
94
94
|
======================================= ==================
|
|
@@ -113,5 +113,5 @@ Dependent package
|
|
|
113
113
|
============================================================================================================ ==============
|
|
114
114
|
|
|
115
115
|
The changelog for the provider package can be found in the
|
|
116
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.
|
|
116
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-exasol/4.8.0/changelog.html>`_.
|
|
117
117
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
airflow/providers/exasol/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
|
|
2
|
+
airflow/providers/exasol/__init__.py,sha256=p1PmrE9YJjTWGsBhROjGDJzk8Cye3sd4OgNwzBw0bYk,1495
|
|
3
|
+
airflow/providers/exasol/get_provider_info.py,sha256=uupz_ak2p7d1WTyVzKAFgaWsvNlCMYuMT892FXqytWA,1980
|
|
4
|
+
airflow/providers/exasol/hooks/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
|
5
|
+
airflow/providers/exasol/hooks/exasol.py,sha256=fTDbDttSGVX_5XMrm_9M8pPhpwRqWspHZZLRc71K2Cw,13007
|
|
6
|
+
airflow/providers/exasol/operators/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
|
7
|
+
airflow/providers/exasol/operators/exasol.py,sha256=A4P3Qo65RJzrSVEgSNwPbJ2BSA9OsitmFm8kutyxVfw,2500
|
|
8
|
+
apache_airflow_providers_exasol-4.8.0rc1.dist-info/entry_points.txt,sha256=8pvKoFs3wCXkl3x0a5dzqvTonx17I8zD8oodM_M386Q,102
|
|
9
|
+
apache_airflow_providers_exasol-4.8.0rc1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
10
|
+
apache_airflow_providers_exasol-4.8.0rc1.dist-info/METADATA,sha256=gl6JDyBmGUe5TkR90Fd9eyDGxY4M_oWzKn6mVaxm-Dk,5218
|
|
11
|
+
apache_airflow_providers_exasol-4.8.0rc1.dist-info/RECORD,,
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
airflow/providers/exasol/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
|
|
2
|
-
airflow/providers/exasol/__init__.py,sha256=LHl9EWu8z5wLKbYhr0KxytLVFjS3OFzJ9Nz58z6zwCc,1493
|
|
3
|
-
airflow/providers/exasol/get_provider_info.py,sha256=uupz_ak2p7d1WTyVzKAFgaWsvNlCMYuMT892FXqytWA,1980
|
|
4
|
-
airflow/providers/exasol/hooks/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
|
5
|
-
airflow/providers/exasol/hooks/exasol.py,sha256=3lzxjiHvVOzGllBHhhmtJgMnwinmvBt3RPcnp1bd56g,11937
|
|
6
|
-
airflow/providers/exasol/operators/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
|
7
|
-
airflow/providers/exasol/operators/exasol.py,sha256=A4P3Qo65RJzrSVEgSNwPbJ2BSA9OsitmFm8kutyxVfw,2500
|
|
8
|
-
apache_airflow_providers_exasol-4.7.5.dist-info/entry_points.txt,sha256=8pvKoFs3wCXkl3x0a5dzqvTonx17I8zD8oodM_M386Q,102
|
|
9
|
-
apache_airflow_providers_exasol-4.7.5.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
10
|
-
apache_airflow_providers_exasol-4.7.5.dist-info/METADATA,sha256=gGhVtXzSyWhgcc3sxiItxkZjBMDrzMzlaB0Ej83HITc,5193
|
|
11
|
-
apache_airflow_providers_exasol-4.7.5.dist-info/RECORD,,
|
|
File without changes
|