apache-airflow-providers-common-sql 1.28.2rc1__tar.gz → 1.30.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.
- apache_airflow_providers_common_sql-1.30.1/NOTICE +5 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/PKG-INFO +27 -22
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/README.rst +19 -17
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/docs/changelog.rst +57 -7
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/docs/index.rst +20 -18
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/provider.yaml +4 -1
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/pyproject.toml +8 -5
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/__init__.py +3 -3
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/hooks/sql.py +3 -11
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/hooks/sql.pyi +3 -3
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/operators/generic_transfer.py +13 -12
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/operators/generic_transfer.pyi +1 -1
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/operators/sql.py +127 -93
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/sensors/sql.py +2 -3
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/sensors/sql.pyi +1 -7
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/triggers/sql.py +1 -2
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/version_compat.py +0 -14
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/hooks/test_dbapi.py +1 -2
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/hooks/test_sql.py +11 -4
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/hooks/test_sqlparse.py +1 -1
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/operators/test_generic_transfer.py +32 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/operators/test_sql.py +28 -11
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/operators/test_sql_execute.py +3 -3
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/sensors/test_sql.py +1 -1
- {apache_airflow_providers_common_sql-1.28.2rc1/src/airflow/providers/common/sql → apache_airflow_providers_common_sql-1.30.1}/LICENSE +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/docs/.latest-doc-only-change.txt +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/docs/commits.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/docs/conf.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/docs/connections.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/docs/dataframes.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/docs/dialects.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/docs/integration-logos/sql.png +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/docs/operators.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/docs/security.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/docs/supported-database-types.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/README_API.md +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/dialects/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/dialects/dialect.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/dialects/dialect.pyi +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/doc/adr/0001-record-architecture-decisions.md +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/doc/adr/0002-return-common-data-structure-from-dbapihook-derived-hooks.md +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/doc/adr/0003-introduce-notion-of-dialects-in-dbapihook.md +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/get_provider_info.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/get_provider_info.pyi +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/hooks/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/hooks/handlers.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/hooks/handlers.pyi +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/operators/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/sensors/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/triggers/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/src/airflow/providers/common/sql/triggers/sql.pyi +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/conftest.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/system/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/system/common/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/system/common/sql/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/system/common/sql/example_generic_transfer.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/system/common/sql/example_sql_column_table_check.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/system/common/sql/example_sql_execute_query.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/system/common/sql/example_sql_insert_rows.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/system/common/sql/example_sql_threshold_check.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/dialects/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/dialects/test_dialect.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/hooks/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/hooks/test_handlers.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/operators/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/sensors/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/triggers/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.2rc1 → apache_airflow_providers_common_sql-1.30.1}/tests/unit/common/sql/triggers/test_sql.py +0 -0
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-common-sql
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.30.1
|
|
4
4
|
Summary: Provider package apache-airflow-providers-common-sql for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,common.sql,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
7
7
|
Maintainer-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
8
8
|
Requires-Python: >=3.10
|
|
9
9
|
Description-Content-Type: text/x-rst
|
|
10
|
+
License-Expression: Apache-2.0
|
|
10
11
|
Classifier: Development Status :: 5 - Production/Stable
|
|
11
12
|
Classifier: Environment :: Console
|
|
12
13
|
Classifier: Environment :: Web Environment
|
|
@@ -14,13 +15,15 @@ Classifier: Intended Audience :: Developers
|
|
|
14
15
|
Classifier: Intended Audience :: System Administrators
|
|
15
16
|
Classifier: Framework :: Apache Airflow
|
|
16
17
|
Classifier: Framework :: Apache Airflow :: Provider
|
|
17
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.13
|
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
|
23
|
-
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
License-File: NOTICE
|
|
25
|
+
Requires-Dist: apache-airflow>=2.11.0
|
|
26
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.10.1
|
|
24
27
|
Requires-Dist: sqlparse>=0.5.1
|
|
25
28
|
Requires-Dist: more-itertools>=9.0.0
|
|
26
29
|
Requires-Dist: methodtools>=0.4.7
|
|
@@ -29,8 +32,8 @@ Requires-Dist: pandas[sql-other]>=2.1.2 ; extra == "pandas" and ( python_version
|
|
|
29
32
|
Requires-Dist: pandas>=2.2.3 ; extra == "pandas" and ( python_version >="3.13")
|
|
30
33
|
Requires-Dist: polars>=1.26.0 ; extra == "polars"
|
|
31
34
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
32
|
-
Project-URL: Changelog, https://airflow.
|
|
33
|
-
Project-URL: Documentation, https://airflow.
|
|
35
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.30.1/changelog.html
|
|
36
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.30.1
|
|
34
37
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
35
38
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
36
39
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -64,7 +67,7 @@ Provides-Extra: polars
|
|
|
64
67
|
|
|
65
68
|
Package ``apache-airflow-providers-common-sql``
|
|
66
69
|
|
|
67
|
-
Release: ``1.
|
|
70
|
+
Release: ``1.30.1``
|
|
68
71
|
|
|
69
72
|
|
|
70
73
|
`Common SQL Provider <https://en.wikipedia.org/wiki/SQL>`__
|
|
@@ -77,7 +80,7 @@ This is a provider package for ``common.sql`` provider. All classes for this pro
|
|
|
77
80
|
are in ``airflow.providers.common.sql`` python package.
|
|
78
81
|
|
|
79
82
|
You can find package information and changelog for the provider
|
|
80
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.
|
|
83
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.30.1/>`_.
|
|
81
84
|
|
|
82
85
|
Installation
|
|
83
86
|
------------
|
|
@@ -91,14 +94,15 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13
|
|
|
91
94
|
Requirements
|
|
92
95
|
------------
|
|
93
96
|
|
|
94
|
-
|
|
95
|
-
PIP package
|
|
96
|
-
|
|
97
|
-
``apache-airflow``
|
|
98
|
-
``
|
|
99
|
-
``
|
|
100
|
-
``
|
|
101
|
-
|
|
97
|
+
========================================== ==================
|
|
98
|
+
PIP package Version required
|
|
99
|
+
========================================== ==================
|
|
100
|
+
``apache-airflow`` ``>=2.11.0``
|
|
101
|
+
``apache-airflow-providers-common-compat`` ``>=1.10.1``
|
|
102
|
+
``sqlparse`` ``>=0.5.1``
|
|
103
|
+
``more-itertools`` ``>=9.0.0``
|
|
104
|
+
``methodtools`` ``>=0.4.7``
|
|
105
|
+
========================================== ==================
|
|
102
106
|
|
|
103
107
|
Cross provider package dependencies
|
|
104
108
|
-----------------------------------
|
|
@@ -110,14 +114,15 @@ You can install such cross-provider dependencies when installing from PyPI. For
|
|
|
110
114
|
|
|
111
115
|
.. code-block:: bash
|
|
112
116
|
|
|
113
|
-
pip install apache-airflow-providers-common-sql[
|
|
117
|
+
pip install apache-airflow-providers-common-sql[common.compat]
|
|
114
118
|
|
|
115
119
|
|
|
116
|
-
|
|
117
|
-
Dependent package
|
|
118
|
-
|
|
119
|
-
`apache-airflow-providers-
|
|
120
|
-
|
|
120
|
+
================================================================================================================== =================
|
|
121
|
+
Dependent package Extra
|
|
122
|
+
================================================================================================================== =================
|
|
123
|
+
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
|
|
124
|
+
`apache-airflow-providers-openlineage <https://airflow.apache.org/docs/apache-airflow-providers-openlineage>`_ ``openlineage``
|
|
125
|
+
================================================================================================================== =================
|
|
121
126
|
|
|
122
127
|
Optional dependencies
|
|
123
128
|
----------------------
|
|
@@ -131,5 +136,5 @@ Extra Dependencies
|
|
|
131
136
|
=============== ================================================================================================
|
|
132
137
|
|
|
133
138
|
The changelog for the provider package can be found in the
|
|
134
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.
|
|
139
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.30.1/changelog.html>`_.
|
|
135
140
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
Package ``apache-airflow-providers-common-sql``
|
|
25
25
|
|
|
26
|
-
Release: ``1.
|
|
26
|
+
Release: ``1.30.1``
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
`Common SQL Provider <https://en.wikipedia.org/wiki/SQL>`__
|
|
@@ -36,7 +36,7 @@ This is a provider package for ``common.sql`` provider. All classes for this pro
|
|
|
36
36
|
are in ``airflow.providers.common.sql`` 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-common-sql/1.
|
|
39
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.30.1/>`_.
|
|
40
40
|
|
|
41
41
|
Installation
|
|
42
42
|
------------
|
|
@@ -50,14 +50,15 @@ 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
|
|
55
|
-
|
|
56
|
-
``apache-airflow``
|
|
57
|
-
``
|
|
58
|
-
``
|
|
59
|
-
``
|
|
60
|
-
|
|
53
|
+
========================================== ==================
|
|
54
|
+
PIP package Version required
|
|
55
|
+
========================================== ==================
|
|
56
|
+
``apache-airflow`` ``>=2.11.0``
|
|
57
|
+
``apache-airflow-providers-common-compat`` ``>=1.10.1``
|
|
58
|
+
``sqlparse`` ``>=0.5.1``
|
|
59
|
+
``more-itertools`` ``>=9.0.0``
|
|
60
|
+
``methodtools`` ``>=0.4.7``
|
|
61
|
+
========================================== ==================
|
|
61
62
|
|
|
62
63
|
Cross provider package dependencies
|
|
63
64
|
-----------------------------------
|
|
@@ -69,14 +70,15 @@ You can install such cross-provider dependencies when installing from PyPI. For
|
|
|
69
70
|
|
|
70
71
|
.. code-block:: bash
|
|
71
72
|
|
|
72
|
-
pip install apache-airflow-providers-common-sql[
|
|
73
|
+
pip install apache-airflow-providers-common-sql[common.compat]
|
|
73
74
|
|
|
74
75
|
|
|
75
|
-
|
|
76
|
-
Dependent package
|
|
77
|
-
|
|
78
|
-
`apache-airflow-providers-
|
|
79
|
-
|
|
76
|
+
================================================================================================================== =================
|
|
77
|
+
Dependent package Extra
|
|
78
|
+
================================================================================================================== =================
|
|
79
|
+
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
|
|
80
|
+
`apache-airflow-providers-openlineage <https://airflow.apache.org/docs/apache-airflow-providers-openlineage>`_ ``openlineage``
|
|
81
|
+
================================================================================================================== =================
|
|
80
82
|
|
|
81
83
|
Optional dependencies
|
|
82
84
|
----------------------
|
|
@@ -90,4 +92,4 @@ Extra Dependencies
|
|
|
90
92
|
=============== ================================================================================================
|
|
91
93
|
|
|
92
94
|
The changelog for the provider package can be found in the
|
|
93
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.
|
|
95
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.30.1/changelog.html>`_.
|
|
@@ -25,6 +25,59 @@
|
|
|
25
25
|
Changelog
|
|
26
26
|
---------
|
|
27
27
|
|
|
28
|
+
1.30.1
|
|
29
|
+
......
|
|
30
|
+
|
|
31
|
+
Misc
|
|
32
|
+
~~~~
|
|
33
|
+
|
|
34
|
+
* ``Add backcompat for exceptions in providers (#58727)``
|
|
35
|
+
* ``chore: Move OpenLineage methods to BaseSQLOperator (#58897)``
|
|
36
|
+
|
|
37
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
38
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
39
|
+
|
|
40
|
+
1.30.0
|
|
41
|
+
......
|
|
42
|
+
|
|
43
|
+
.. note::
|
|
44
|
+
This release of provider is only available for Airflow 2.11+ as explained in the
|
|
45
|
+
Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>_.
|
|
46
|
+
|
|
47
|
+
Misc
|
|
48
|
+
~~~~
|
|
49
|
+
|
|
50
|
+
* ``Move out some exceptions to TaskSDK (#54505)``
|
|
51
|
+
* ``Bump minimum Airflow version in providers to Airflow 2.11.0 (#58612)``
|
|
52
|
+
* ``Fix lower bound dependency to common-compat provider (#58833)``
|
|
53
|
+
|
|
54
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
55
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
56
|
+
* ``Updates to release process of providers (#58316)``
|
|
57
|
+
* ``Prepare release for 2025-11-27 wave of providers (#58697)``
|
|
58
|
+
|
|
59
|
+
1.29.0
|
|
60
|
+
......
|
|
61
|
+
|
|
62
|
+
Features
|
|
63
|
+
~~~~~~~~
|
|
64
|
+
|
|
65
|
+
* ``Allow a list of SQL statements in GenericTransfer (#56041)``
|
|
66
|
+
|
|
67
|
+
Misc
|
|
68
|
+
~~~~
|
|
69
|
+
|
|
70
|
+
* ``Convert all airflow distributions to be compliant with ASF requirements (#58138)``
|
|
71
|
+
* ``Migrate 'common/sql' provider to 'common.compat' (#57135)``
|
|
72
|
+
* ``Migrate 'common.sql' provider to 'common.compat' (#57075)``
|
|
73
|
+
|
|
74
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
75
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
76
|
+
* ``Delete all unnecessary LICENSE Files (#58191)``
|
|
77
|
+
* ``Enable PT006 rule to 19 files in providers (cncf,common) (#57995)``
|
|
78
|
+
* ``Fix code formatting via ruff preview (#57641)``
|
|
79
|
+
* ``Enable ruff PLW0127 rule (#57298)``
|
|
80
|
+
|
|
28
81
|
1.28.2
|
|
29
82
|
......
|
|
30
83
|
|
|
@@ -87,8 +140,6 @@ Doc-only
|
|
|
87
140
|
* ``Replace API server's direct Connection access workaround in BaseHook (#54083)``
|
|
88
141
|
* ``Switch pre-commit to prek (#54258)``
|
|
89
142
|
* ``make bundle_name not nullable (#47592)``
|
|
90
|
-
|
|
91
|
-
.. Review and move the new changes to one of the sections above:
|
|
92
143
|
* ``Fix Airflow 2 reference in README/index of providers (#55240)``
|
|
93
144
|
|
|
94
145
|
1.27.5
|
|
@@ -360,9 +411,6 @@ Misc
|
|
|
360
411
|
.. Below changes are excluded from the changelog. Move them to
|
|
361
412
|
appropriate section above if needed. Do not delete the lines(!):
|
|
362
413
|
* ``Use Python 3.9 as target version for Ruff & Black rules (#44298)``
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
.. Review and move the new changes to one of the sections above:
|
|
366
414
|
* ``Update path of example dags in docs (#45069)``
|
|
367
415
|
|
|
368
416
|
1.20.0
|
|
@@ -599,7 +647,8 @@ Misc
|
|
|
599
647
|
* ``feat: Switch all class, functions, methods deprecations to decorators (#36876)``
|
|
600
648
|
* ``Add more-itertools as dependency of common-sql (#37359)``
|
|
601
649
|
|
|
602
|
-
..
|
|
650
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
651
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
603
652
|
* ``Prepare docs 1st wave of Providers February 2024 (#37326)``
|
|
604
653
|
|
|
605
654
|
1.10.1
|
|
@@ -656,7 +705,8 @@ Misc
|
|
|
656
705
|
* ``Add '_make_serializable' method which other SQL operators can overrides when result from cursor is not JSON-serializable (#32319)``
|
|
657
706
|
* ``Remove backcompat inheritance for DbApiHook (#35754)``
|
|
658
707
|
|
|
659
|
-
..
|
|
708
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
709
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
660
710
|
* ``Use reproducible builds for providers (#35693)``
|
|
661
711
|
* ``Fix and reapply templates for provider documentation (#35686)``
|
|
662
712
|
* ``Prepare docs 1st wave of Providers November 2023 (#35537)``
|
|
@@ -79,7 +79,7 @@ apache-airflow-providers-common-sql package
|
|
|
79
79
|
`Common SQL Provider <https://en.wikipedia.org/wiki/SQL>`__
|
|
80
80
|
|
|
81
81
|
|
|
82
|
-
Release: 1.
|
|
82
|
+
Release: 1.30.1
|
|
83
83
|
|
|
84
84
|
Provider package
|
|
85
85
|
----------------
|
|
@@ -97,16 +97,17 @@ For the minimum Airflow version supported, see ``Requirements`` below.
|
|
|
97
97
|
Requirements
|
|
98
98
|
------------
|
|
99
99
|
|
|
100
|
-
The minimum Apache Airflow version supported by this provider distribution is ``2.
|
|
100
|
+
The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``.
|
|
101
101
|
|
|
102
|
-
|
|
103
|
-
PIP package
|
|
104
|
-
|
|
105
|
-
``apache-airflow``
|
|
106
|
-
``
|
|
107
|
-
``
|
|
108
|
-
``
|
|
109
|
-
|
|
102
|
+
========================================== ==================
|
|
103
|
+
PIP package Version required
|
|
104
|
+
========================================== ==================
|
|
105
|
+
``apache-airflow`` ``>=2.11.0``
|
|
106
|
+
``apache-airflow-providers-common-compat`` ``>=1.10.1``
|
|
107
|
+
``sqlparse`` ``>=0.5.1``
|
|
108
|
+
``more-itertools`` ``>=9.0.0``
|
|
109
|
+
``methodtools`` ``>=0.4.7``
|
|
110
|
+
========================================== ==================
|
|
110
111
|
|
|
111
112
|
Cross provider package dependencies
|
|
112
113
|
-----------------------------------
|
|
@@ -118,14 +119,15 @@ You can install such cross-provider dependencies when installing from PyPI. For
|
|
|
118
119
|
|
|
119
120
|
.. code-block:: bash
|
|
120
121
|
|
|
121
|
-
pip install apache-airflow-providers-common-sql[
|
|
122
|
+
pip install apache-airflow-providers-common-sql[common.compat]
|
|
122
123
|
|
|
123
124
|
|
|
124
|
-
|
|
125
|
-
Dependent package
|
|
126
|
-
|
|
127
|
-
`apache-airflow-providers-
|
|
128
|
-
|
|
125
|
+
================================================================================================================== =================
|
|
126
|
+
Dependent package Extra
|
|
127
|
+
================================================================================================================== =================
|
|
128
|
+
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
|
|
129
|
+
`apache-airflow-providers-openlineage <https://airflow.apache.org/docs/apache-airflow-providers-openlineage>`_ ``openlineage``
|
|
130
|
+
================================================================================================================== =================
|
|
129
131
|
|
|
130
132
|
Downloading official packages
|
|
131
133
|
-----------------------------
|
|
@@ -133,5 +135,5 @@ Downloading official packages
|
|
|
133
135
|
You can download officially released packages and verify their checksums and signatures from the
|
|
134
136
|
`Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
|
|
135
137
|
|
|
136
|
-
* `The apache-airflow-providers-common-sql 1.
|
|
137
|
-
* `The apache-airflow-providers-common-sql 1.
|
|
138
|
+
* `The apache-airflow-providers-common-sql 1.30.1 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.30.1.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.30.1.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.30.1.tar.gz.sha512>`__)
|
|
139
|
+
* `The apache-airflow-providers-common-sql 1.30.1 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.30.1-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.30.1-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.30.1-py3-none-any.whl.sha512>`__)
|
|
@@ -22,12 +22,15 @@ description: |
|
|
|
22
22
|
`Common SQL Provider <https://en.wikipedia.org/wiki/SQL>`__
|
|
23
23
|
|
|
24
24
|
state: ready
|
|
25
|
-
source-date-epoch:
|
|
25
|
+
source-date-epoch: 1765298925
|
|
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
|
+
- 1.30.1
|
|
32
|
+
- 1.30.0
|
|
33
|
+
- 1.29.0
|
|
31
34
|
- 1.28.2
|
|
32
35
|
- 1.28.1
|
|
33
36
|
- 1.28.0
|
|
@@ -25,9 +25,11 @@ build-backend = "flit_core.buildapi"
|
|
|
25
25
|
|
|
26
26
|
[project]
|
|
27
27
|
name = "apache-airflow-providers-common-sql"
|
|
28
|
-
version = "1.
|
|
28
|
+
version = "1.30.1"
|
|
29
29
|
description = "Provider package apache-airflow-providers-common-sql for Apache Airflow"
|
|
30
30
|
readme = "README.rst"
|
|
31
|
+
license = "Apache-2.0"
|
|
32
|
+
license-files = ['LICENSE', 'NOTICE']
|
|
31
33
|
authors = [
|
|
32
34
|
{name="Apache Software Foundation", email="dev@airflow.apache.org"},
|
|
33
35
|
]
|
|
@@ -43,7 +45,6 @@ classifiers = [
|
|
|
43
45
|
"Intended Audience :: System Administrators",
|
|
44
46
|
"Framework :: Apache Airflow",
|
|
45
47
|
"Framework :: Apache Airflow :: Provider",
|
|
46
|
-
"License :: OSI Approved :: Apache Software License",
|
|
47
48
|
"Programming Language :: Python :: 3.10",
|
|
48
49
|
"Programming Language :: Python :: 3.11",
|
|
49
50
|
"Programming Language :: Python :: 3.12",
|
|
@@ -57,7 +58,8 @@ requires-python = ">=3.10"
|
|
|
57
58
|
# Make sure to run ``prek update-providers-dependencies --all-files``
|
|
58
59
|
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
|
|
59
60
|
dependencies = [
|
|
60
|
-
"apache-airflow>=2.
|
|
61
|
+
"apache-airflow>=2.11.0",
|
|
62
|
+
"apache-airflow-providers-common-compat>=1.10.1",
|
|
61
63
|
"sqlparse>=0.5.1",
|
|
62
64
|
"more-itertools>=9.0.0",
|
|
63
65
|
# The methodtools dependency is necessary since the introduction of dialects:
|
|
@@ -86,6 +88,7 @@ dev = [
|
|
|
86
88
|
"apache-airflow",
|
|
87
89
|
"apache-airflow-task-sdk",
|
|
88
90
|
"apache-airflow-devel-common",
|
|
91
|
+
"apache-airflow-providers-common-compat",
|
|
89
92
|
"apache-airflow-providers-openlineage",
|
|
90
93
|
# Additional devel dependencies (do not remove this line and add extra development dependencies)
|
|
91
94
|
"apache-airflow-providers-common-sql[pandas]",
|
|
@@ -121,8 +124,8 @@ apache-airflow-providers-common-sql = {workspace = true}
|
|
|
121
124
|
apache-airflow-providers-standard = {workspace = true}
|
|
122
125
|
|
|
123
126
|
[project.urls]
|
|
124
|
-
"Documentation" = "https://airflow.
|
|
125
|
-
"Changelog" = "https://airflow.
|
|
127
|
+
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.30.1"
|
|
128
|
+
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.30.1/changelog.html"
|
|
126
129
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
|
127
130
|
"Source Code" = "https://github.com/apache/airflow"
|
|
128
131
|
"Slack Chat" = "https://s.apache.org/airflow-slack"
|
|
@@ -29,11 +29,11 @@ from airflow import __version__ as airflow_version
|
|
|
29
29
|
|
|
30
30
|
__all__ = ["__version__"]
|
|
31
31
|
|
|
32
|
-
__version__ = "1.
|
|
32
|
+
__version__ = "1.30.1"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
|
-
"2.
|
|
35
|
+
"2.11.0"
|
|
36
36
|
):
|
|
37
37
|
raise RuntimeError(
|
|
38
|
-
f"The package `apache-airflow-providers-common-sql:{__version__}` needs Apache Airflow 2.
|
|
38
|
+
f"The package `apache-airflow-providers-common-sql:{__version__}` needs Apache Airflow 2.11.0+"
|
|
39
39
|
)
|
|
@@ -34,14 +34,10 @@ from sqlalchemy.engine import make_url
|
|
|
34
34
|
from sqlalchemy.exc import ArgumentError, NoSuchModuleError
|
|
35
35
|
|
|
36
36
|
from airflow.configuration import conf
|
|
37
|
-
from airflow.exceptions import
|
|
38
|
-
|
|
39
|
-
AirflowOptionalProviderFeatureException,
|
|
40
|
-
AirflowProviderDeprecationWarning,
|
|
41
|
-
)
|
|
37
|
+
from airflow.exceptions import AirflowOptionalProviderFeatureException, AirflowProviderDeprecationWarning
|
|
38
|
+
from airflow.providers.common.compat.sdk import AirflowException, BaseHook
|
|
42
39
|
from airflow.providers.common.sql.dialects.dialect import Dialect
|
|
43
40
|
from airflow.providers.common.sql.hooks import handlers
|
|
44
|
-
from airflow.providers.common.sql.version_compat import BaseHook
|
|
45
41
|
from airflow.utils.module_loading import import_string
|
|
46
42
|
|
|
47
43
|
if TYPE_CHECKING:
|
|
@@ -49,14 +45,10 @@ if TYPE_CHECKING:
|
|
|
49
45
|
from polars import DataFrame as PolarsDataFrame
|
|
50
46
|
from sqlalchemy.engine import URL, Engine, Inspector
|
|
51
47
|
|
|
48
|
+
from airflow.providers.common.compat.sdk import Connection
|
|
52
49
|
from airflow.providers.openlineage.extractors import OperatorLineage
|
|
53
50
|
from airflow.providers.openlineage.sqlparser import DatabaseInfo
|
|
54
51
|
|
|
55
|
-
try:
|
|
56
|
-
from airflow.sdk import Connection
|
|
57
|
-
except ImportError:
|
|
58
|
-
from airflow.models.connection import Connection # type: ignore[assignment]
|
|
59
|
-
|
|
60
52
|
|
|
61
53
|
T = TypeVar("T")
|
|
62
54
|
SQL_PLACEHOLDERS = frozenset({"%s", "?"})
|
|
@@ -109,7 +109,7 @@ class DbApiHook(BaseHook):
|
|
|
109
109
|
) -> PandasDataFrame: ...
|
|
110
110
|
def get_pandas_df_by_chunks(
|
|
111
111
|
self, sql, parameters: list | tuple | Mapping[str, Any] | None = None, *, chunksize: int, **kwargs
|
|
112
|
-
) -> Generator[PandasDataFrame
|
|
112
|
+
) -> Generator[PandasDataFrame]: ...
|
|
113
113
|
def get_records(
|
|
114
114
|
self, sql: str | list[str], parameters: Iterable | Mapping[str, Any] | None = None
|
|
115
115
|
) -> Any: ...
|
|
@@ -143,7 +143,7 @@ class DbApiHook(BaseHook):
|
|
|
143
143
|
chunksize: int,
|
|
144
144
|
df_type: Literal["pandas"] = "pandas",
|
|
145
145
|
**kwargs,
|
|
146
|
-
) -> Generator[PandasDataFrame
|
|
146
|
+
) -> Generator[PandasDataFrame]: ...
|
|
147
147
|
@overload
|
|
148
148
|
def get_df_by_chunks(
|
|
149
149
|
self,
|
|
@@ -153,7 +153,7 @@ class DbApiHook(BaseHook):
|
|
|
153
153
|
chunksize: int,
|
|
154
154
|
df_type: Literal["polars"],
|
|
155
155
|
**kwargs,
|
|
156
|
-
) -> Generator[PolarsDataFrame
|
|
156
|
+
) -> Generator[PolarsDataFrame]: ...
|
|
157
157
|
@staticmethod
|
|
158
158
|
def strip_sql_string(sql: str) -> str: ...
|
|
159
159
|
@staticmethod
|
|
@@ -21,19 +21,14 @@ from collections.abc import Sequence
|
|
|
21
21
|
from functools import cached_property
|
|
22
22
|
from typing import TYPE_CHECKING, Any
|
|
23
23
|
|
|
24
|
-
from airflow.
|
|
24
|
+
from airflow.providers.common.compat.sdk import AirflowException, BaseHook, BaseOperator
|
|
25
25
|
from airflow.providers.common.sql.hooks.sql import DbApiHook
|
|
26
26
|
from airflow.providers.common.sql.triggers.sql import SQLExecuteQueryTrigger
|
|
27
|
-
from airflow.providers.common.sql.version_compat import BaseHook, BaseOperator
|
|
28
27
|
|
|
29
28
|
if TYPE_CHECKING:
|
|
30
29
|
import jinja2
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
from airflow.sdk.definitions.context import Context
|
|
34
|
-
except ImportError:
|
|
35
|
-
# TODO: Remove once provider drops support for Airflow 2
|
|
36
|
-
from airflow.utils.context import Context
|
|
31
|
+
from airflow.providers.common.compat.sdk import Context
|
|
37
32
|
|
|
38
33
|
|
|
39
34
|
class GenericTransfer(BaseOperator):
|
|
@@ -79,7 +74,7 @@ class GenericTransfer(BaseOperator):
|
|
|
79
74
|
def __init__(
|
|
80
75
|
self,
|
|
81
76
|
*,
|
|
82
|
-
sql: str,
|
|
77
|
+
sql: str | list[str],
|
|
83
78
|
destination_table: str,
|
|
84
79
|
source_conn_id: str,
|
|
85
80
|
source_hook_params: dict | None = None,
|
|
@@ -160,13 +155,19 @@ class GenericTransfer(BaseOperator):
|
|
|
160
155
|
method_name=self.execute_complete.__name__,
|
|
161
156
|
)
|
|
162
157
|
else:
|
|
158
|
+
if isinstance(self.sql, str):
|
|
159
|
+
self.sql = [self.sql]
|
|
160
|
+
|
|
163
161
|
self.log.info("Extracting data from %s", self.source_conn_id)
|
|
164
|
-
|
|
162
|
+
for sql in self.sql:
|
|
163
|
+
self.log.info("Executing: \n %s", sql)
|
|
165
164
|
|
|
166
|
-
|
|
165
|
+
results = self.source_hook.get_records(sql)
|
|
167
166
|
|
|
168
|
-
|
|
169
|
-
|
|
167
|
+
self.log.info("Inserting rows into %s", self.destination_conn_id)
|
|
168
|
+
self.destination_hook.insert_rows(
|
|
169
|
+
table=self.destination_table, rows=results, **self.insert_args
|
|
170
|
+
)
|
|
170
171
|
|
|
171
172
|
def execute_complete(
|
|
172
173
|
self,
|