




import copy
from dataclasses import dataclass, field
from typing import ClassVar, Dict

from ..features import Audio, Features, Value
from .base import TaskTemplate





@dataclass(frozen=_SCREAMING_SNAKE_CASE )
class 	lowerCamelCase_							(				_SCREAMING_SNAKE_CASE ):


	'''simple docstring'''







	lowercase_       =   field(default="automatic-speech-recognition"	,       metadata={"include_in_asdict_even_if_is_default": True} )
	lowercase_       =   Features({"audio": Audio()} )
	lowercase_       =   Features({"transcription": Value("string" )} )
	lowercase_       =   "audio"
	lowercase_       =   "transcription"



	def 				lowerCAmelCase_  (							self  :		Union[str, Any]    ,    _lowerCAmelCase  :		Dict						):


							if self.audio_column not in features:
													raise ValueError(F"Column {self.audio_column} is not present in features."						)
							if not isinstance(features[self.audio_column]    ,    __UpperCAmelCase						):
													raise ValueError(F"Column {self.audio_column} is not an Audio type."						)
							SCREAMING_SNAKE_CASE_     						=      copy.deepcopy(self						)
							SCREAMING_SNAKE_CASE_     						=      self.input_schema.copy()
							SCREAMING_SNAKE_CASE_     						=      features[self.audio_column]
							SCREAMING_SNAKE_CASE_     						=      input_schema
							return task_template




	@property
	def 				lowerCAmelCase_  (							self  :		Optional[Any]						):
							return {self.audio_column: "audio", self.transcription_column: "transcription"}





from abc import ABC, abstractmethod
from argparse import ArgumentParser





class 	lowerCamelCase_							(				_SCREAMING_SNAKE_CASE ):


 '''simple docstring'''







 @staticmethod
 @abstractmethod
 def 				lowerCAmelCase_  (							_lowerCAmelCase  :		ArgumentParser						):
       raise NotImplementedError()




 @abstractmethod
 def 				lowerCAmelCase_  (							self  :		Dict						):
       raise NotImplementedError()