This is an automated email from the ASF dual-hosted git repository.
gopidesu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 4a3cde26d33 Bump mypy to 1.17.0 (#53523)
4a3cde26d33 is described below
commit 4a3cde26d3384e9c4253ec9d4e1e2da363939ea3
Author: GPK <[email protected]>
AuthorDate: Sat Jul 19 13:43:19 2025 +0100
Bump mypy to 1.17.0 (#53523)
* Bump mypy to 1.17.0
* make MySqlToHiveOperator quoting arg default to minimal
* Fix mypy quoting error in OracleToAzureDataLakeOperator and
MySqlToHiveOperator
---
devel-common/pyproject.toml | 4 +---
.../src/airflow/providers/apache/hive/transfers/mysql_to_hive.py | 6 +++---
.../microsoft/azure/transfers/oracle_to_azure_data_lake.py | 5 +++--
3 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/devel-common/pyproject.toml b/devel-common/pyproject.toml
index 3061886337f..5af7fb079bb 100644
--- a/devel-common/pyproject.toml
+++ b/devel-common/pyproject.toml
@@ -99,9 +99,7 @@ dependencies = [
"mypy" = [
# Mypy dependencies
# TODO: upgrade to newer versions of MyPy continuously as they are released
- # Make sure to upgrade the mypy version in update-common-sql-api-stubs in
.pre-commit-config.yaml
- # when you upgrade it here !!!!
- "mypy==1.16.1",
+ "mypy==1.17.0",
"types-Deprecated>=1.2.9.20240311",
"types-Markdown>=3.6.0.20240316",
"types-PyMySQL>=1.1.0.20240425",
diff --git
a/providers/apache/hive/src/airflow/providers/apache/hive/transfers/mysql_to_hive.py
b/providers/apache/hive/src/airflow/providers/apache/hive/transfers/mysql_to_hive.py
index 919dc80efc6..0cbdeaca236 100644
---
a/providers/apache/hive/src/airflow/providers/apache/hive/transfers/mysql_to_hive.py
+++
b/providers/apache/hive/src/airflow/providers/apache/hive/transfers/mysql_to_hive.py
@@ -23,7 +23,7 @@ import csv
from collections.abc import Sequence
from contextlib import closing
from tempfile import NamedTemporaryFile
-from typing import TYPE_CHECKING
+from typing import TYPE_CHECKING, Literal
try:
import MySQLdb
@@ -97,7 +97,7 @@ class MySqlToHiveOperator(BaseOperator):
recreate: bool = False,
partition: dict | None = None,
delimiter: str = chr(1),
- quoting: int | None = None,
+ quoting: Literal[0, 1, 2, 3] = csv.QUOTE_MINIMAL,
quotechar: str = '"',
escapechar: str | None = None,
mysql_conn_id: str = "mysql_default",
@@ -113,7 +113,7 @@ class MySqlToHiveOperator(BaseOperator):
self.create = create
self.recreate = recreate
self.delimiter = str(delimiter)
- self.quoting = quoting or csv.QUOTE_MINIMAL
+ self.quoting = quoting
self.quotechar = quotechar
self.escapechar = escapechar
self.mysql_conn_id = mysql_conn_id
diff --git
a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py
b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py
index 2e2d58e2bf8..1d4d472c982 100644
---
a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py
+++
b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py
@@ -21,7 +21,7 @@ import csv
import os
from collections.abc import Sequence
from tempfile import TemporaryDirectory
-from typing import TYPE_CHECKING, Any
+from typing import TYPE_CHECKING, Any, Literal
from airflow.providers.microsoft.azure.hooks.data_lake import AzureDataLakeHook
from airflow.providers.microsoft.azure.version_compat import BaseOperator
@@ -45,6 +45,7 @@ class OracleToAzureDataLakeOperator(BaseOperator):
:param encoding: encoding type for the file.
:param quotechar: Character to use in quoting.
:param quoting: Quoting strategy. See csv library for more information.
+ It can take on any of the csv.QUOTE_* constants.
"""
template_fields: Sequence[str] = ("filename", "sql", "sql_params")
@@ -63,7 +64,7 @@ class OracleToAzureDataLakeOperator(BaseOperator):
delimiter: str = ",",
encoding: str = "utf-8",
quotechar: str = '"',
- quoting: int = csv.QUOTE_MINIMAL,
+ quoting: Literal[0, 1, 2, 3] = csv.QUOTE_MINIMAL,
**kwargs,
) -> None:
super().__init__(**kwargs)