





'''simple docstring'''

import csv
import json
import os

import datasets


# TODO: Add BibTeX citation
# Find for instance the citation on arxiv or on the dataset repo/website
lowercase__		:    Any =       '\\n@InProceedings{huggingface:dataset,\ntitle = {A great new dataset},\nauthor={huggingface, Inc.\n},\nyear={2020}\n}\n'

# TODO: Add description of the dataset here
# You can copy an official description
lowercase__		:    Optional[int] =       '\\nThis new dataset is designed to solve this great NLP task and is crafted with a lot of care.\n'

# TODO: Add a link to an official homepage for the dataset here
lowercase__		:    Optional[int] =       ''

# TODO: Add the licence for the dataset here if you can find it
lowercase__		:    str =       ''

# TODO: Add link to the official dataset URLs here
# The HuggingFace Datasets library doesn't host the datasets but only points to the original files.
# This can be an arbitrary nested dict/list of URLs (see below in `_split_generators` method)
lowercase__		:    Optional[int] =       {
    'first_domain': 'https://huggingface.co/great-new-dataset-first_domain.zip',
    'second_domain': 'https://huggingface.co/great-new-dataset-second_domain.zip',
}
class        __lowerCAmelCase  (					datasets.GeneratorBasedBuilder				):






							"""simple docstring"""
							_snake_case			:  Union[str, Any]		       =					datasets.Version('1.1.0'				)

							# This is an example of a dataset with multiple configurations.
							# If you don't want/need to define several sub-sets in your dataset,
							# just remove the BUILDER_CONFIG_CLASS and the BUILDER_CONFIGS attributes.

							# If you need to make complex sub-parts in the datasets with configurable options
							# You can create your own builder configuration class to store attribute, inheriting from datasets.BuilderConfig
							# BUILDER_CONFIG_CLASS = MyBuilderConfig

							# You will be able to load one or the other configurations in the following list with
							# data = datasets.load_dataset('my_dataset', 'first_domain')
							# data = datasets.load_dataset('my_dataset', 'second_domain')
							_snake_case			:  Any		       =					[
							    datasets.BuilderConfig(name='first_domain'		,		version=__magic_name__		,		description='This part of my dataset covers a first domain'				),
							    datasets.BuilderConfig(name='second_domain'		,		version=__magic_name__		,		description='This part of my dataset covers a second domain'				),
							]

							_snake_case			:  Dict		       =					'first_domain'  # It's not mandatory to have a default configuration. Just use one if it make sense.





							def snake_case__		(							self     :	List[Any]  )					->  Any:

												'''simple docstring'''




												if self.config.name == "first_domain":  # This is the name of the configuration selected in BUILDER_CONFIGS above
																	_UpperCamelCase       					= datasets.Features(
																	    {
																	        '''sentence''': datasets.Value('''string'''  ),
																	        '''option1''': datasets.Value('''string'''  ),
																	        '''answer''': datasets.Value('''string'''  )
																	        # These are the features of your dataset like images, labels ...
																	    }  )
												else:  # This is an example to show how to have different features for "first_domain" and "second_domain"
																	_UpperCamelCase       					= datasets.Features(
																	    {
																	        '''sentence''': datasets.Value('''string'''  ),
																	        '''option2''': datasets.Value('''string'''  ),
																	        '''second_domain_answer''': datasets.Value('''string'''  )
																	        # These are the features of your dataset like images, labels ...
																	    }  )
												return datasets.DatasetInfo(
												    # This is the description that will appear on the datasets page.
												    description=_DESCRIPTION ,				features=lowerCAmelCase__ ,				homepage=_HOMEPAGE ,				license=_LICENSE ,				citation=_CITATION ,				)





							def snake_case__		(							self     :	int ,				lowerCAmelCase__     :	List[Any]  )					->  str:

												'''simple docstring'''




												_UpperCamelCase       					= _URLS[self.config.name]
												_UpperCamelCase       					= dl_manager.download_and_extract(lowerCAmelCase__  )
												return [
												    datasets.SplitGenerator(
												        name=datasets.Split.TRAIN ,				gen_kwargs={
												            '''filepath''': os.path.join(lowerCAmelCase__ ,				'''train.jsonl'''  ),
												            '''split''': '''train''',
												        } ,				),
												    datasets.SplitGenerator(
												        name=datasets.Split.VALIDATION ,				gen_kwargs={
												            '''filepath''': os.path.join(lowerCAmelCase__ ,				'''dev.jsonl'''  ),
												            '''split''': '''dev''',
												        } ,				),
												    datasets.SplitGenerator(
												        name=datasets.Split.TEST ,				gen_kwargs={
												            '''filepath''': os.path.join(lowerCAmelCase__ ,				'''test.jsonl'''  ),
												            '''split''': '''test'''
												        } ,				),
												]







							def snake_case__		(							self     :	Optional[Any] ,				lowerCAmelCase__     :	Optional[Any] ,				lowerCAmelCase__     :	Union[str, Any]  )					->  int:

												'''simple docstring'''




												with open(lowerCAmelCase__ ,				encoding='''utf-8'''  ) as f:
																	for key, row in enumerate(lowerCAmelCase__  ):
																						_UpperCamelCase       					= json.loads(lowerCAmelCase__  )
																						if self.config.name == "first_domain":
																											# Yields examples as (key, example) tuples
																											yield key, {
																											    "sentence": data["sentence"],
																											    "option1": data["option1"],
																											    "answer": "" if split == "test" else data["answer"],
																											}
																						else:
																											yield key, {
																											    "sentence": data["sentence"],
																											    "option2": data["option2"],
																											    "second_domain_answer": "" if split == "test" else data["second_domain_answer"],
																											}










'''simple docstring'''

lowercase__		:    Tuple =       '\n# Transformers installation\n! pip install transformers datasets evaluate\n# To install from source instead of the last release, comment the command above and uncomment the following one.\n# ! pip install git+https://github.com/huggingface/transformers.git\n'

lowercase__		:    Union[str, Any] =       [{'type': 'code', 'content': INSTALL_CONTENT}]
lowercase__		:    str =       {
    '{processor_class}': 'FakeProcessorClass',
    '{model_class}': 'FakeModelClass',
    '{object_class}': 'FakeObjectClass',
}



