apache-airflow-providers-mysql 6.3.2rc1__py3-none-any.whl → 6.3.3rc1__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.
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "6.3.2"
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.models import Connection
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["charset"].lower() in ("utf8", "utf-8"):
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) # type: ignore[arg-type]
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) # type: ignore[arg-type]
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() # type: ignore[misc]
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() # type: ignore[misc]
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() # type: ignore[misc]
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.2rc1
3
+ Version: 6.3.3rc1
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: ~=3.10
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.0rc1
23
24
  Requires-Dist: apache-airflow-providers-common-sql>=1.20.0rc1
@@ -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.staged.apache.org/docs/apache-airflow-providers-mysql/6.3.2/changelog.html
34
- Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-mysql/6.3.2
34
+ Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-mysql/6.3.3/changelog.html
35
+ Project-URL: Documentation, https://airflow.staged.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.2``
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.2/>`_.
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.2/changelog.html>`_.
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=BZHpjFqlAv_M37dLy1p4N13iTd1PBws5VynugElOswA,1494
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=P8T27KrCSZ0hRLvtAJzN4n5bUe2kEH_2TTNgO7vqF8s,16331
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.2rc1.dist-info/entry_points.txt,sha256=kIbWluJZ1LX9jo9pLkqbnu6DUgYpoGKXzmSvjT5czKM,101
15
- apache_airflow_providers_mysql-6.3.2rc1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
16
- apache_airflow_providers_mysql-6.3.2rc1.dist-info/METADATA,sha256=_c_TUzZbiRFdkej8ySNJH80-NiVQQylfAwBmLHo07Ew,6486
17
- apache_airflow_providers_mysql-6.3.2rc1.dist-info/RECORD,,
14
+ apache_airflow_providers_mysql-6.3.3rc1.dist-info/entry_points.txt,sha256=kIbWluJZ1LX9jo9pLkqbnu6DUgYpoGKXzmSvjT5czKM,101
15
+ apache_airflow_providers_mysql-6.3.3rc1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
16
+ apache_airflow_providers_mysql-6.3.3rc1.dist-info/METADATA,sha256=VZ6d5vv1vb6DsjKreFcTS1coPILCglji-DgnJ4YOWLk,6578
17
+ apache_airflow_providers_mysql-6.3.3rc1.dist-info/RECORD,,