o
    .i                     @   sP   d dl mZ d dlmZmZ d dlZeG dd dejZG dd dejZ	dS )    )	dataclass)CallableOptionalNc                       sb   e Zd ZU dZee ed< dZee ed< dZ	ee
j ed< e
jjZe
jed<  fddZ  ZS )GeneratorConfigN	generator
gen_kwargsfeaturessplitc                    s4   t    | jd u rtd| jd u ri | _d S d S )Nzgenerator must be specified)super__post_init__r   
ValueErrorr   self	__class__ a/home/ubuntu/.local/lib/python3.10/site-packages/datasets/packaged_modules/generator/generator.pyr      s   



zGeneratorConfig.__post_init__)__name__
__module____qualname__r   r   r   __annotations__r   dictr   datasetsFeaturesSplitTRAINr	   
NamedSplitr   __classcell__r   r   r   r   r      s   
 r   c                   @   s(   e Zd ZeZdd Zdd Zdd ZdS )	Generatorc                 C   s   t j| jjdS )N)r   )r   DatasetInfoconfigr   r   r   r   r   _info   s   zGenerator._infoc                 C   s   t j| jj| jjdgS )N)namer   )r   SplitGeneratorr    r	   r   )r   
dl_managerr   r   r   _split_generators   s   zGenerator._split_generatorsc                 k   s"    t | jjdi |E d H  d S )Nr   )	enumerater    r   )r   r   r   r   r   _generate_examples    s    zGenerator._generate_examplesN)r   r   r   r   BUILDER_CONFIG_CLASSr!   r%   r'   r   r   r   r   r      s
    r   )
dataclassesr   typingr   r   r   BuilderConfigr   GeneratorBasedBuilderr   r   r   r   r   <module>   s    