
'''simple docstring'''







from abc import ABC, abstractmethod
from typing import Optional, Union

from .. import Dataset, DatasetDict, Features, IterableDataset, IterableDatasetDict, NamedSplit
from ..utils.typing import NestedDataStructureLike, PathLike


class 		__UpperCAmelCase   (      _lowerCamelCase		):


							def __init__( self					,     lowerCAmelCase_ = None					,     lowerCAmelCase_ = None					,     lowerCAmelCase_ = None					,     lowerCAmelCase_ = None					,     lowerCAmelCase_ = False					,     lowerCAmelCase_ = False					,     lowerCAmelCase_ = None					,     **lowerCAmelCase_					,     ):





								"""simple docstring"""






								_snake_case     		=	path_or_paths
								_snake_case     		=	split if split or isinstance(lowerCAmelCase_					,     lowerCAmelCase_						) else 'train'
								_snake_case     		=	features
								_snake_case     		=	cache_dir
								_snake_case     		=	keep_in_memory
								_snake_case     		=	streaming
								_snake_case     		=	num_proc
								_snake_case     		=	kwargs




							@abstractmethod
							def 				lowerCamelCase       ( self						):





								"""simple docstring"""






								pass


class 		__UpperCAmelCase   (      _lowerCamelCase		):


							def __init__( self					,     lowerCAmelCase_ = None					,     lowerCAmelCase_ = None					,     lowerCAmelCase_ = False					,     lowerCAmelCase_ = False					,     lowerCAmelCase_ = None					,     **lowerCAmelCase_					,     ):





								"""simple docstring"""






								_snake_case     		=	features
								_snake_case     		=	cache_dir
								_snake_case     		=	keep_in_memory
								_snake_case     		=	streaming
								_snake_case     		=	num_proc
								_snake_case     		=	kwargs




							@abstractmethod
							def 				lowerCamelCase       ( self						):





								"""simple docstring"""






								pass



'''simple docstring'''







from ..utils import DummyObject, requires_backends


class 		__UpperCAmelCase   (      metaclass=_lowerCamelCase		):
							__lowercase   	= ["""torch""", """torchsde"""]


							def __init__( self					,     *lowerCAmelCase_					,     **lowerCAmelCase_						):





								"""simple docstring"""






								requires_backends(self					,     ['torch', 'torchsde']						)


							@classmethod
							def 				lowerCamelCase       ( cls					,     *lowerCAmelCase_					,     **lowerCAmelCase_						):





								"""simple docstring"""






								requires_backends(cls					,     ['torch', 'torchsde']						)




							@classmethod
							def 				lowerCamelCase       ( cls					,     *lowerCAmelCase_					,     **lowerCAmelCase_						):





								"""simple docstring"""






								requires_backends(cls					,     ['torch', 'torchsde']						)

