@@ -31,6 +31,7 @@ class ParallelProcessing: ...
3131 _Target_P ,
3232 _Target_T ,
3333 DatasetFunction ,
34+ Dataset ,
3435 _Dataset_T ,
3536 HookFunction ,
3637 SupportsLength ,
@@ -352,12 +353,7 @@ class ParallelProcessing(Generic[_Target_P, _Target_T, _Dataset_T]):
352353
353354 status : ThreadStatus
354355 function : TargetFunction
355- dataset : Union [
356- Sequence [_Dataset_T ],
357- SupportsLength ,
358- SupportsGetItem [_Dataset_T ],
359- SupportsLengthGetItem [_Dataset_T ],
360- ]
356+ dataset : Dataset [_Dataset_T ]
361357 max_threads : int
362358
363359 overflow_args : Sequence [Overflow_In ]
@@ -367,14 +363,31 @@ class ParallelProcessing(Generic[_Target_P, _Target_T, _Dataset_T]):
367363 def __init__ (
368364 self ,
369365 function : DatasetFunction [_Dataset_T , _Target_P , _Target_T ],
370- dataset : Union [ Sequence [_Dataset_T ], SupportsLengthGetItem [ _Dataset_T ] ],
366+ dataset : Sequence [_Dataset_T ],
371367 max_threads : int = 8 ,
372368 * overflow_args : Overflow_In ,
373369 _get_value : Optional [Callable [[Sequence [_Dataset_T ], int ], _Dataset_T ]] = None ,
374370 _length : Optional [Union [int , Callable [[Sequence [_Dataset_T ]], int ]]] = None ,
375371 ** overflow_kwargs : Overflow_In ,
376372 ) -> None : ...
377373
374+ # Has __len__ and __getitem__ but is not a sequence
375+ @overload
376+ def __init__ (
377+ self ,
378+ function : DatasetFunction [_Dataset_T , _Target_P , _Target_T ],
379+ dataset : SupportsLengthGetItem [_Dataset_T ],
380+ max_threads : int = 8 ,
381+ * overflow_args : Overflow_In ,
382+ _get_value : Optional [
383+ Callable [[SupportsLengthGetItem [_Dataset_T ], int ], _Dataset_T ]
384+ ] = None ,
385+ _length : Optional [
386+ Union [int , Callable [[SupportsLengthGetItem [_Dataset_T ]], int ]]
387+ ] = None ,
388+ ** overflow_kwargs : Overflow_In ,
389+ ) -> None : ...
390+
378391 # Has __len__, require _get_value to be set
379392 @overload
380393 def __init__ (
@@ -383,8 +396,8 @@ def __init__(
383396 dataset : SupportsLength ,
384397 max_threads : int = 8 ,
385398 * overflow_args : Overflow_In ,
386- _get_value : Callable [[Sequence [ _Dataset_T ] , int ], _Dataset_T ],
387- _length : Optional [Union [int , Callable [[Sequence [ _Dataset_T ] ], int ]]] = None ,
399+ _get_value : Callable [[SupportsLength , int ], _Dataset_T ],
400+ _length : Optional [Union [int , Callable [[SupportsLength ], int ]]] = None ,
388401 ** overflow_kwargs : Overflow_In ,
389402 ) -> None : ...
390403
@@ -393,27 +406,39 @@ def __init__(
393406 def __init__ (
394407 self ,
395408 function : DatasetFunction [_Dataset_T , _Target_P , _Target_T ],
396- dataset : SupportsLength ,
409+ dataset : SupportsGetItem [ _Dataset_T ] ,
397410 max_threads : int = 8 ,
398411 * overflow_args : Overflow_In ,
399- _get_value : Optional [Callable [[Sequence [_Dataset_T ], int ], _Dataset_T ]] = None ,
400- _length : Union [int , Callable [[Sequence [_Dataset_T ]], int ]],
412+ _get_value : Optional [
413+ Callable [[SupportsGetItem [_Dataset_T ], int ], _Dataset_T ]
414+ ] = None ,
415+ _length : Union [int , Callable [[SupportsGetItem [_Dataset_T ]], int ]],
401416 ** overflow_kwargs : Overflow_In ,
402417 ) -> None : ...
403418
404419 def __init__ (
405420 self ,
406421 function : DatasetFunction [_Dataset_T , _Target_P , _Target_T ],
407- dataset : Union [
408- Sequence [_Dataset_T ],
409- SupportsLength ,
410- SupportsGetItem [_Dataset_T ],
411- SupportsLengthGetItem [_Dataset_T ],
412- ],
422+ dataset : Dataset [_Dataset_T ],
413423 max_threads : int = 8 ,
414424 * overflow_args : Overflow_In ,
415- _get_value : Optional [Callable [[Sequence [_Dataset_T ], int ], _Dataset_T ]] = None ,
416- _length : Optional [Union [int , Callable [[Sequence [_Dataset_T ]], int ]]] = None ,
425+ _get_value : Optional [
426+ Union [
427+ Callable [[Sequence [_Dataset_T ], int ], _Dataset_T ],
428+ Callable [[SupportsGetItem [_Dataset_T ], int ], _Dataset_T ],
429+ Callable [[SupportsLength , int ], _Dataset_T ],
430+ Callable [[SupportsLengthGetItem [_Dataset_T ], int ], _Dataset_T ],
431+ ]
432+ ] = None ,
433+ _length : Optional [
434+ Union [
435+ int ,
436+ Callable [[Sequence [_Dataset_T ]], int ],
437+ Callable [[SupportsGetItem [_Dataset_T ]], int ],
438+ Callable [[SupportsLength ], int ],
439+ Callable [[SupportsLengthGetItem [_Dataset_T ]], int ],
440+ ]
441+ ] = None ,
417442 ** overflow_kwargs : Overflow_In ,
418443 ) -> None :
419444 """
0 commit comments