From c4ef232a5e07218bb73c47a1d394d2da9f1d6514 Mon Sep 17 00:00:00 2001 From: BobTheBuidler <70677534+BobTheBuidler@users.noreply.github.com> Date: Sat, 6 Sep 2025 16:28:30 -0400 Subject: [PATCH 1/3] fix(mypy): fix type hints for apply_one_of_formatters --- eth_utils/applicators.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eth_utils/applicators.py b/eth_utils/applicators.py index f6df31e4..683b23d8 100644 --- a/eth_utils/applicators.py +++ b/eth_utils/applicators.py @@ -138,7 +138,7 @@ def apply_formatter_to_array( def apply_one_of_formatters( - formatter_condition_pairs: Tuple[Tuple[Callable[..., Any], Callable[..., Any]]], + formatter_condition_pairs: Tuple[Tuple[Callable[..., Any], Callable[..., Any]], ...], value: Any, ) -> Any: for condition, formatter in formatter_condition_pairs: From c6aa77759cb8a2a9beb635e7c1eeb8181711235b Mon Sep 17 00:00:00 2001 From: BobTheBuidler <70677534+BobTheBuidler@users.noreply.github.com> Date: Tue, 23 Sep 2025 02:20:10 -0400 Subject: [PATCH 2/3] lint --- eth_utils/applicators.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eth_utils/applicators.py b/eth_utils/applicators.py index 683b23d8..9a522690 100644 --- a/eth_utils/applicators.py +++ b/eth_utils/applicators.py @@ -138,7 +138,9 @@ def apply_formatter_to_array( def apply_one_of_formatters( - formatter_condition_pairs: Tuple[Tuple[Callable[..., Any], Callable[..., Any]], ...], + formatter_condition_pairs: Tuple[ + Tuple[Callable[..., Any], Callable[..., Any]], ... + ], value: Any, ) -> Any: for condition, formatter in formatter_condition_pairs: From 945d7891b2d07ada6eb6639525b691773182767c Mon Sep 17 00:00:00 2001 From: BobTheBuidler <70677534+BobTheBuidler@users.noreply.github.com> Date: Sat, 17 Jan 2026 15:13:14 -0400 Subject: [PATCH 3/3] Sync applicators.py with upstream and fix apply_one_of_formatters typing --- eth_utils/applicators.py | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/eth_utils/applicators.py b/eth_utils/applicators.py index 9a522690..d816f43c 100644 --- a/eth_utils/applicators.py +++ b/eth_utils/applicators.py @@ -1,11 +1,9 @@ -from typing import ( - Any, +from collections.abc import ( Callable, - Dict, Generator, - List, - Tuple, - Union, +) +from typing import ( + Any, ) import warnings @@ -23,13 +21,13 @@ curry, ) -Formatters = Callable[[List[Any]], List[Any]] +Formatters = Callable[[list[Any]], list[Any]] @return_arg_type(2) def apply_formatter_at_index( - formatter: Callable[..., Any], at_index: int, value: List[Any] -) -> Generator[List[Any], None, None]: + formatter: Callable[..., Any], at_index: int, value: list[Any] +) -> Generator[list[Any], None, None]: if at_index + 1 > len(value): raise IndexError( f"Not enough values in iterable to apply formatter. Got: {len(value)}. " @@ -42,7 +40,7 @@ def apply_formatter_at_index( yield item -def combine_argument_formatters(*formatters: List[Callable[..., Any]]) -> Formatters: +def combine_argument_formatters(*formatters: list[Callable[..., Any]]) -> Formatters: warnings.warn( DeprecationWarning( "combine_argument_formatters(formatter1, formatter2)([item1, item2])" @@ -65,8 +63,8 @@ def combine_argument_formatters(*formatters: List[Callable[..., Any]]) -> Format @return_arg_type(1) def apply_formatters_to_sequence( - formatters: List[Any], sequence: List[Any] -) -> Generator[List[Any], None, None]: + formatters: list[Any], sequence: list[Any] +) -> Generator[list[Any], None, None]: if len(formatters) == len(sequence): for formatter, item in zip(formatters, sequence): yield formatter(item) @@ -93,10 +91,10 @@ def apply_formatter_if( @to_dict def apply_formatters_to_dict( - formatters: Dict[Any, Any], - value: Union[Dict[Any, Any], CamelModel], + formatters: dict[Any, Any], + value: dict[Any, Any] | CamelModel, unaliased: bool = False, -) -> Generator[Tuple[Any, Any], None, None]: +) -> Generator[tuple[Any, Any], None, None]: """ Apply formatters to a dictionary of values. If the value is a pydantic model, it will be serialized to a dictionary first, taking into account the @@ -131,15 +129,15 @@ def apply_formatters_to_dict( @return_arg_type(1) def apply_formatter_to_array( - formatter: Callable[..., Any], value: List[Any] -) -> Generator[List[Any], None, None]: + formatter: Callable[..., Any], value: list[Any] +) -> Generator[list[Any], None, None]: for item in value: yield formatter(item) def apply_one_of_formatters( - formatter_condition_pairs: Tuple[ - Tuple[Callable[..., Any], Callable[..., Any]], ... + formatter_condition_pairs: tuple[ + tuple[Callable[..., Any], Callable[..., Any]], ... ], value: Any, ) -> Any: @@ -154,8 +152,8 @@ def apply_one_of_formatters( @to_dict def apply_key_map( - key_mappings: Dict[Any, Any], value: Dict[Any, Any] -) -> Generator[Tuple[Any, Any], None, None]: + key_mappings: dict[Any, Any], value: dict[Any, Any] +) -> Generator[tuple[Any, Any], None, None]: key_conflicts = ( set(value.keys()) .difference(key_mappings.keys())