Skip to content

Commit 5292f2e

Browse files
feat: Update signature
1 parent bd51de3 commit 5292f2e

1 file changed

Lines changed: 45 additions & 20 deletions

File tree

src/thread/thread.py

Lines changed: 45 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)