
    biu                     V    d dl mZmZ ddlmZmZmZ ddlmZ ddl	m
Z
  G d de
      Zy	)
    )CallableOptional   )Features
NamedSplitSplit)	Generator   )AbstractDatasetInputStreamc                   |     e Zd Zddddddej                  fdedee   dede	de	dee
   d	ee   d
ef fdZd Z xZS )GeneratorDatasetInputStreamNF	generatorfeatures	cache_dirkeep_in_memory	streaming
gen_kwargsnum_procsplitc	           	      \    t        
|   d|||||d|	 t        d|||||d|	| _        y )N)r   r   r   r   r   )r   r   r   r   r    )super__init__r	   builder)selfr   r   r   r   r   r   r   r   kwargs	__class__s             P/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/datasets/io/generator.pyr   z$GeneratorDatasetInputStream.__init__	   s\     	 	
)	
 	
 ! 
!
 
    c                    | j                   r<| j                  j                  | j                  j                  j                        }|S d }d }d }d }| j                  j                  ||||| j                         | j                  j                  | j                  j                  j                  || j                        }|S )N)r   )download_configdownload_modeverification_mode	base_pathr   )r   r#   	in_memory)	r   r   as_streaming_datasetconfigr   download_and_preparer   
as_datasetr   )r   datasetr!   r"   r#   r$   s         r   readz GeneratorDatasetInputStream.read&   s    >>ll77dll>Q>Q>W>W7XG$  #O M $ILL-- /+"3# .  ll--ll))//CT`d`s`s . G r   )__name__
__module____qualname__r   TRAINr   r   r   strbooldictintr   r   r+   __classcell__)r   s   @r   r   r      s     (,$%)"&!KK

 8$
 	

 
 
 TN
 3-
 
:r   r   N)typingr   r    r   r   r   $packaged_modules.generator.generatorr	   abcr   r   r   r   r   <module>r9      s!    % * * < +3"< 3r   