@@ -467,10 +467,14 @@ def __init__(
467467
468468 Raises
469469 ------
470- AssertionError: invalid `dataset`
471- AssertionError: invalid `max_threads`
470+ ValueError: `max_threads` is 0 or negative
471+ ValueError: `_length` is not an integer
472+ ValueError: empty dataset or `_length` is/returned 0
473+ TypeError: missing `_length`
474+ TypeError: missing `_get_value`
472475 """
473- assert 0 <= max_threads , 'max_threads cannot be set to 0'
476+ if max_threads <= 0 :
477+ raise ValueError ('`max_threads` must be greater than 0' )
474478
475479 # Impose requirements
476480 if isinstance (dataset , SupportsLengthGetItem ):
@@ -480,29 +484,33 @@ def __init__(
480484 get_value = _get_value or dataset .__class__ .__getitem__
481485
482486 elif isinstance (dataset , SupportsLength ):
483- assert (
484- _get_value
485- ), '`_get_value` must be set if `dataset` does not support `__getitem__`'
487+ if not _get_value :
488+ raise TypeError (
489+ '`_get_value` must be set if `dataset` does not support `__getitem__`'
490+ )
486491 _length = _length (dataset ) if callable (_length ) else _length
487492 length = len (dataset ) if _length is None else _length
488493
489494 get_value = _get_value
490495
491496 elif isinstance (dataset , SupportsGetItem ):
492- assert (
493- _length
494- ), '`_length` must be set if `dataset` does not support `__len__`'
497+ if not _length :
498+ raise TypeError (
499+ '`_length` must be set if `dataset` does not support `__len__`'
500+ )
495501 length = _length (dataset ) if callable (_length ) else _length
496502
497503 get_value = _get_value or dataset .__class__ .__getitem__
498504
499505 else :
500- assert (
501- _length
502- ), '`_length` must be set if `dataset` does not support `__len__`'
503- assert (
504- _get_value
505- ), '`_get_value` must be set if `dataset` does not support `__getitem__`'
506+ if not _length :
507+ raise TypeError (
508+ '`_length` must be set if `dataset` does not support `__len__`'
509+ )
510+ if not _get_value :
511+ raise TypeError (
512+ '`_get_value` must be set if `dataset` does not support `__getitem__`'
513+ )
506514
507515 length = _length
508516 get_value = _get_value
@@ -511,7 +519,8 @@ def __init__(
511519 raise TypeError ('`_length` must be an integer' )
512520 if length <= 0 :
513521 raise ValueError ('dataset cannot be empty' )
514- assert get_value , '`_get_value` must be set'
522+ if not get_value :
523+ raise TypeError ('`_get_value` must be set' )
515524
516525 self ._length = length
517526 self ._retrieve_value = get_value
0 commit comments