apache-airflow-providers-mysql 6.3.2__py3-none-any.whl → 6.3.3__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.
- airflow/providers/mysql/__init__.py +1 -1
- airflow/providers/mysql/hooks/mysql.py +12 -7
- {apache_airflow_providers_mysql-6.3.2.dist-info → apache_airflow_providers_mysql-6.3.3.dist-info}/METADATA +10 -8
- {apache_airflow_providers_mysql-6.3.2.dist-info → apache_airflow_providers_mysql-6.3.3.dist-info}/RECORD +6 -6
- {apache_airflow_providers_mysql-6.3.2.dist-info → apache_airflow_providers_mysql-6.3.3.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_mysql-6.3.2.dist-info → apache_airflow_providers_mysql-6.3.3.dist-info}/entry_points.txt +0 -0
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
|
|
29
29
|
|
30
30
|
__all__ = ["__version__"]
|
31
31
|
|
32
|
-
__version__ = "6.3.
|
32
|
+
__version__ = "6.3.3"
|
33
33
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
35
35
|
"2.10.0"
|
@@ -30,7 +30,12 @@ from airflow.providers.common.sql.hooks.sql import DbApiHook
|
|
30
30
|
logger = logging.getLogger(__name__)
|
31
31
|
|
32
32
|
if TYPE_CHECKING:
|
33
|
-
from airflow.
|
33
|
+
from airflow.providers.mysql.version_compat import AIRFLOW_V_3_0_PLUS
|
34
|
+
|
35
|
+
if AIRFLOW_V_3_0_PLUS:
|
36
|
+
from airflow.sdk import Connection
|
37
|
+
else:
|
38
|
+
from airflow.models.connection import Connection # type: ignore[assignment]
|
34
39
|
|
35
40
|
try:
|
36
41
|
from mysql.connector.abstracts import MySQLConnectionAbstract
|
@@ -130,7 +135,7 @@ class MySqlHook(DbApiHook):
|
|
130
135
|
|
131
136
|
if conn.extra_dejson.get("charset", False):
|
132
137
|
conn_config["charset"] = conn.extra_dejson["charset"]
|
133
|
-
if conn_config
|
138
|
+
if str(conn_config.get("charset", "undef")).lower() in ("utf8", "utf-8"):
|
134
139
|
conn_config["use_unicode"] = True
|
135
140
|
if conn.extra_dejson.get("cursor", False):
|
136
141
|
try:
|
@@ -220,7 +225,7 @@ class MySqlHook(DbApiHook):
|
|
220
225
|
"installed in case you see compilation error during installation."
|
221
226
|
)
|
222
227
|
|
223
|
-
conn_config = self._get_conn_config_mysql_client(conn)
|
228
|
+
conn_config = self._get_conn_config_mysql_client(conn)
|
224
229
|
return MySQLdb.connect(**conn_config)
|
225
230
|
|
226
231
|
if client_name == "mysql-connector-python":
|
@@ -233,7 +238,7 @@ class MySqlHook(DbApiHook):
|
|
233
238
|
"'mysql-connector-python'. Warning! It might cause dependency conflicts."
|
234
239
|
)
|
235
240
|
|
236
|
-
conn_config = self._get_conn_config_mysql_connector_python(conn)
|
241
|
+
conn_config = self._get_conn_config_mysql_connector_python(conn)
|
237
242
|
return mysql.connector.connect(**conn_config)
|
238
243
|
|
239
244
|
raise ValueError("Unknown MySQL client name provided!")
|
@@ -253,7 +258,7 @@ class MySqlHook(DbApiHook):
|
|
253
258
|
(tmp_file,),
|
254
259
|
)
|
255
260
|
conn.commit()
|
256
|
-
conn.close()
|
261
|
+
conn.close()
|
257
262
|
|
258
263
|
def bulk_dump(self, table: str, tmp_file: str) -> None:
|
259
264
|
"""Dump a database table into a tab-delimited file."""
|
@@ -270,7 +275,7 @@ class MySqlHook(DbApiHook):
|
|
270
275
|
(tmp_file,),
|
271
276
|
)
|
272
277
|
conn.commit()
|
273
|
-
conn.close()
|
278
|
+
conn.close()
|
274
279
|
|
275
280
|
@staticmethod
|
276
281
|
def _serialize_cell(cell: object, conn: Connection | None = None) -> Any:
|
@@ -337,7 +342,7 @@ class MySqlHook(DbApiHook):
|
|
337
342
|
|
338
343
|
cursor.close()
|
339
344
|
conn.commit()
|
340
|
-
conn.close()
|
345
|
+
conn.close()
|
341
346
|
|
342
347
|
def get_openlineage_database_info(self, connection):
|
343
348
|
"""Return MySQL specific information for OpenLineage."""
|
@@ -1,11 +1,11 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: apache-airflow-providers-mysql
|
3
|
-
Version: 6.3.
|
3
|
+
Version: 6.3.3
|
4
4
|
Summary: Provider package apache-airflow-providers-mysql for Apache Airflow
|
5
5
|
Keywords: airflow-provider,mysql,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
|
-
Requires-Python:
|
8
|
+
Requires-Python: >=3.10
|
9
9
|
Description-Content-Type: text/x-rst
|
10
10
|
Classifier: Development Status :: 5 - Production/Stable
|
11
11
|
Classifier: Environment :: Console
|
@@ -18,6 +18,7 @@ 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
|
+
Classifier: Programming Language :: Python :: 3.13
|
21
22
|
Classifier: Topic :: System :: Monitoring
|
22
23
|
Requires-Dist: apache-airflow>=2.10.0
|
23
24
|
Requires-Dist: apache-airflow-providers-common-sql>=1.20.0
|
@@ -30,8 +31,8 @@ Requires-Dist: apache-airflow-providers-presto ; extra == "presto"
|
|
30
31
|
Requires-Dist: apache-airflow-providers-trino ; extra == "trino"
|
31
32
|
Requires-Dist: apache-airflow-providers-vertica ; extra == "vertica"
|
32
33
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
33
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-mysql/6.3.
|
34
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-mysql/6.3.
|
34
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-mysql/6.3.3/changelog.html
|
35
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-mysql/6.3.3
|
35
36
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
36
37
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
37
38
|
Project-URL: Source Code, https://github.com/apache/airflow
|
@@ -68,8 +69,9 @@ Provides-Extra: vertica
|
|
68
69
|
|
69
70
|
Package ``apache-airflow-providers-mysql``
|
70
71
|
|
71
|
-
Release: ``6.3.
|
72
|
+
Release: ``6.3.3``
|
72
73
|
|
74
|
+
Release Date: ``|PypiReleaseDate|``
|
73
75
|
|
74
76
|
`MySQL <https://www.mysql.com/>`__
|
75
77
|
|
@@ -81,7 +83,7 @@ This is a provider package for ``mysql`` provider. All classes for this provider
|
|
81
83
|
are in ``airflow.providers.mysql`` python package.
|
82
84
|
|
83
85
|
You can find package information and changelog for the provider
|
84
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-mysql/6.3.
|
86
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-mysql/6.3.3/>`_.
|
85
87
|
|
86
88
|
Installation
|
87
89
|
------------
|
@@ -90,7 +92,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
|
|
90
92
|
for the minimum Airflow version supported) via
|
91
93
|
``pip install apache-airflow-providers-mysql``
|
92
94
|
|
93
|
-
The package supports the following python versions: 3.10,3.11,3.12
|
95
|
+
The package supports the following python versions: 3.10,3.11,3.12,3.13
|
94
96
|
|
95
97
|
Requirements
|
96
98
|
------------
|
@@ -130,5 +132,5 @@ Dependent package
|
|
130
132
|
============================================================================================================== ===============
|
131
133
|
|
132
134
|
The changelog for the provider package can be found in the
|
133
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-mysql/6.3.
|
135
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-mysql/6.3.3/changelog.html>`_.
|
134
136
|
|
@@ -1,17 +1,17 @@
|
|
1
1
|
airflow/providers/mysql/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
|
2
|
-
airflow/providers/mysql/__init__.py,sha256=
|
2
|
+
airflow/providers/mysql/__init__.py,sha256=Gbz6tOUWH163N_NRsb_xRItTzJM6E_UAy_U9mfXqlzc,1494
|
3
3
|
airflow/providers/mysql/get_provider_info.py,sha256=LNQZ8O48srWzGjS8mzLeAsa-VFGFY6ypkHK1jjr6umc,3064
|
4
4
|
airflow/providers/mysql/version_compat.py,sha256=k18iZM_Hg0KlMrY6A4-xm9PJWJ6uxnicgYkzXySF78Y,1332
|
5
5
|
airflow/providers/mysql/assets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
6
6
|
airflow/providers/mysql/assets/mysql.py,sha256=ORHZmCa1AZAWwpF7GKH-8faqOKSohJvKtqRgfDnQRRc,1385
|
7
7
|
airflow/providers/mysql/hooks/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
8
|
-
airflow/providers/mysql/hooks/mysql.py,sha256=
|
8
|
+
airflow/providers/mysql/hooks/mysql.py,sha256=4uKMs31EunlLpHADTy0CcoFtXefYR6EF5VO21uYC3KA,16429
|
9
9
|
airflow/providers/mysql/transfers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
10
10
|
airflow/providers/mysql/transfers/presto_to_mysql.py,sha256=44o2DMZd_vwpKeM1kRoa2q8oJxeYXy3cuylCyIf99yU,3482
|
11
11
|
airflow/providers/mysql/transfers/s3_to_mysql.py,sha256=3IIrmNkDWHJ8GbTABWQ26hPJdQUinrF8NFZXMavwDaI,4089
|
12
12
|
airflow/providers/mysql/transfers/trino_to_mysql.py,sha256=LVXVWFQzju7lZl-GCIevjto0ZQqKv3H8loWfDv8wcWY,3464
|
13
13
|
airflow/providers/mysql/transfers/vertica_to_mysql.py,sha256=L0ZMJgqE5ULwYqhVLxc6yXUyS50rhy4lSFF9reEOkGw,6974
|
14
|
-
apache_airflow_providers_mysql-6.3.
|
15
|
-
apache_airflow_providers_mysql-6.3.
|
16
|
-
apache_airflow_providers_mysql-6.3.
|
17
|
-
apache_airflow_providers_mysql-6.3.
|
14
|
+
apache_airflow_providers_mysql-6.3.3.dist-info/entry_points.txt,sha256=kIbWluJZ1LX9jo9pLkqbnu6DUgYpoGKXzmSvjT5czKM,101
|
15
|
+
apache_airflow_providers_mysql-6.3.3.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
16
|
+
apache_airflow_providers_mysql-6.3.3.dist-info/METADATA,sha256=zsrJD6SDya0lpNd1k1KZb9a8G2kVkswv2u6-EVCa-lA,6555
|
17
|
+
apache_airflow_providers_mysql-6.3.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|