This is an automated email from the ASF dual-hosted git repository.

pierrejeambrun pushed a commit to branch v2-5-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit d2da824c201aa032ea8d2beb25ce96a9c673bb2a
Author: James Cobb <[email protected]>
AuthorDate: Tue Mar 7 21:25:15 2023 +0000

    Allow generic param dicts (#29782)
    
    (cherry picked from commit b069df9b0a792beca66b08d873a66d5640ddadb7)
---
 airflow/models/baseoperator.py | 6 +++---
 airflow/models/dag.py          | 5 +++--
 airflow/models/param.py        | 2 +-
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/airflow/models/baseoperator.py b/airflow/models/baseoperator.py
index 9448c4a415..73e3d04ceb 100644
--- a/airflow/models/baseoperator.py
+++ b/airflow/models/baseoperator.py
@@ -148,7 +148,7 @@ def _get_parent_defaults(dag: DAG | None, task_group: 
TaskGroup | None) -> tuple
 def get_merged_defaults(
     dag: DAG | None,
     task_group: TaskGroup | None,
-    task_params: dict | None,
+    task_params: collections.abc.MutableMapping | None,
     task_default_args: dict | None,
 ) -> tuple[dict, ParamsDict]:
     args, params = _get_parent_defaults(dag, task_group)
@@ -193,7 +193,7 @@ def partial(
     end_date: datetime | None = None,
     owner: str = DEFAULT_OWNER,
     email: None | str | Iterable[str] = None,
-    params: dict | None = None,
+    params: collections.abc.MutableMapping | None = None,
     resources: dict[str, Any] | None = None,
     trigger_rule: str = DEFAULT_TRIGGER_RULE,
     depends_on_past: bool = False,
@@ -697,7 +697,7 @@ class BaseOperator(AbstractOperator, 
metaclass=BaseOperatorMeta):
         ignore_first_depends_on_past: bool = 
DEFAULT_IGNORE_FIRST_DEPENDS_ON_PAST,
         wait_for_downstream: bool = False,
         dag: DAG | None = None,
-        params: dict | None = None,
+        params: collections.abc.MutableMapping | None = None,
         default_args: dict | None = None,
         priority_weight: int = DEFAULT_PRIORITY_WEIGHT,
         weight_rule: str = DEFAULT_WEIGHT_RULE,
diff --git a/airflow/models/dag.py b/airflow/models/dag.py
index 794fecd35b..a2de4d4176 100644
--- a/airflow/models/dag.py
+++ b/airflow/models/dag.py
@@ -18,6 +18,7 @@
 from __future__ import annotations
 
 import collections
+import collections.abc
 import copy
 import functools
 import itertools
@@ -402,7 +403,7 @@ class DAG(LoggingMixin):
         on_success_callback: DagStateChangeCallback | None = None,
         on_failure_callback: DagStateChangeCallback | None = None,
         doc_md: str | None = None,
-        params: dict | None = None,
+        params: collections.abc.MutableMapping | None = None,
         access_control: dict | None = None,
         is_paused_upon_creation: bool | None = None,
         jinja_environment_kwargs: dict | None = None,
@@ -3478,7 +3479,7 @@ def dag(
     on_success_callback: DagStateChangeCallback | None = None,
     on_failure_callback: DagStateChangeCallback | None = None,
     doc_md: str | None = None,
-    params: dict | None = None,
+    params: collections.abc.MutableMapping | None = None,
     access_control: dict | None = None,
     is_paused_upon_creation: bool | None = None,
     jinja_environment_kwargs: dict | None = None,
diff --git a/airflow/models/param.py b/airflow/models/param.py
index 0d9d45f792..ce618df31d 100644
--- a/airflow/models/param.py
+++ b/airflow/models/param.py
@@ -152,7 +152,7 @@ class ParamsDict(MutableMapping[str, Any]):
 
     __slots__ = ["__dict", "suppress_exception"]
 
-    def __init__(self, dict_obj: dict | None = None, suppress_exception: bool 
= False):
+    def __init__(self, dict_obj: MutableMapping | None = None, 
suppress_exception: bool = False):
         """
         :param dict_obj: A dict or dict like object to init ParamsDict
         :param suppress_exception: Flag to suppress value exceptions while 
initializing the ParamsDict

Reply via email to