


"""simple docstring"""






from typing import Callable, Optional

from .. import Features
from ..packaged_modules.generator.generator import Generator
from .abc import AbstractDatasetInputStream






class      A(  __SCREAMING_SNAKE_CASE		):

		"""simple docstring"""





		def __init__( self					,				SCREAMING_SNAKE_CASE__					,				SCREAMING_SNAKE_CASE__ = None					,				SCREAMING_SNAKE_CASE__ = None					,				SCREAMING_SNAKE_CASE__ = False					,				SCREAMING_SNAKE_CASE__ = False					,				SCREAMING_SNAKE_CASE__ = None					,				SCREAMING_SNAKE_CASE__ = None					,				**SCREAMING_SNAKE_CASE__					,				)      ->	Any:

					"""simple docstring"""



					super().__init__(
					    features=__lowerCamelCase					,				cache_dir=__lowerCamelCase					,				keep_in_memory=__lowerCamelCase					,				streaming=__lowerCamelCase					,				num_proc=__lowerCamelCase					,				**__lowerCamelCase					,				)
					_UpperCamelCase					:Union[str, Any]					     =	Generator(
					    cache_dir=__lowerCamelCase					,				features=__lowerCamelCase					,				generator=__lowerCamelCase					,				gen_kwargs=__lowerCamelCase					,				**__lowerCamelCase					,				)





		def   _UpperCamelCase( self   )      ->	Dict:

					"""simple docstring"""



					if self.streaming:
								_UpperCamelCase					:str					     =	self.builder.as_streaming_dataset(split='''train'''   )
					# Build regular (map-style) dataset
					else:
								_UpperCamelCase					:List[str]					     =	None
								_UpperCamelCase					:Optional[int]					     =	None
								_UpperCamelCase					:Optional[int]					     =	None
								_UpperCamelCase					:Optional[int]					     =	None

								self.builder.download_and_prepare(
								    download_config=__lowerCamelCase					,				download_mode=__lowerCamelCase					,				verification_mode=__lowerCamelCase					,				base_path=__lowerCamelCase					,				num_proc=self.num_proc					,				)
								_UpperCamelCase					:List[str]					     =	self.builder.as_dataset(
								    split='''train'''					,				verification_mode=__lowerCamelCase					,				in_memory=self.keep_in_memory   )
					return dataset






"""simple docstring"""






from abc import ABC, abstractmethod
from argparse import ArgumentParser



class     UpperCAmelCase    (	__SCREAMING_SNAKE_CASE  ):



   @staticmethod
   @abstractmethod
   def    __UpperCAmelCase    (       __lowerCamelCase    :	ArgumentParser				):



     """simple docstring"""
     raise NotImplementedError()





   @abstractmethod
   def    __UpperCAmelCase    (       self    :	Optional[Any]				):



     """simple docstring"""
     raise NotImplementedError()





