11from _typeshed import Incomplete
2- from collections .abc import Generator
2+ from collections .abc import Callable , Generator , Iterable
3+ from typing import TypeVar
4+ from typing_extensions import TypeIs
35
4- def is_iterable (obj ) -> bool : ...
5- def is_scalar (obj ) -> bool : ...
6- def is_collection (obj ) -> bool : ...
6+ _T = TypeVar ("_T" )
7+
8+ def is_iterable (obj : Iterable [_T ] | object ) -> TypeIs [Iterable [_T ]]: ...
9+ def is_scalar (obj : object ) -> bool : ...
10+ def is_collection (obj : object ) -> bool : ...
711def split (src , sep = None , maxsplit = None ): ...
8- def split_iter (src , sep = None , maxsplit = None ) -> Generator [Incomplete , None , Incomplete ]: ...
12+ def split_iter (src , sep = None , maxsplit = None ) -> Generator [list [ Incomplete ] ]: ...
913def lstrip (iterable , strip_value = None ): ...
1014def lstrip_iter (iterable , strip_value = None ) -> Generator [Incomplete ]: ...
1115def rstrip (iterable , strip_value = None ): ...
1216def rstrip_iter (iterable , strip_value = None ) -> Generator [Incomplete ]: ...
1317def strip (iterable , strip_value = None ): ...
1418def strip_iter (iterable , strip_value = None ): ...
1519def chunked (src , size , count = None , ** kw ): ...
16- def chunked_iter (src , size , ** kw ) -> Generator [Incomplete , None , Incomplete ]: ...
20+ def chunked_iter (src , size , ** kw ) -> Generator [str | bytes ]: ...
1721def chunk_ranges (
1822 input_size : int , chunk_size : int , input_offset : int = 0 , overlap_size : int = 0 , align : bool = False
1923) -> Generator [tuple [int , int ]]: ...
@@ -26,9 +30,9 @@ def frange(stop, start=None, step: float = 1.0): ...
2630def backoff (start , stop , count = None , factor : float = 2.0 , jitter : bool = False ): ...
2731def backoff_iter (start , stop , count = None , factor : float = 2.0 , jitter : bool = False ) -> Generator [Incomplete ]: ...
2832def bucketize (src , key = ..., value_transform = None , key_filter = None ): ...
29- def partition (src , key = ...) : ...
33+ def partition (src , key = ..., * keys : str | Callable [..., Incomplete ]) -> tuple [ list [ Incomplete ], ...] : ...
3034def unique (src , key = None ): ...
31- def unique_iter (src , key = None ) -> Generator [Incomplete , None , Incomplete ]: ...
35+ def unique_iter (src , key = None ) -> Generator [Incomplete ]: ...
3236def redundant (src , key = None , groups : bool = False ): ...
3337def one (src , default = None , key = None ): ...
3438def first (iterable , default = None , key = None ): ...
@@ -38,7 +42,7 @@ def same(iterable, ref=...): ...
3842def default_visit (path , key , value ): ...
3943def default_enter (path , key , value ): ...
4044def default_exit (path , key , old_parent , new_parent , new_items ): ...
41- def remap (root , visit = ..., enter = ..., exit = ..., ** kwargs ): ...
45+ def remap (root , visit = ..., enter = ..., exit = ..., cache : bool = True , ** kwargs ): ...
4246
4347class PathAccessError (KeyError , IndexError , TypeError ):
4448 exc : Incomplete
0 commit comments