
    h	                         S SK r S SKrS SKJr  S SKJr  S SKrS SKr	S SK
r
S SKJr  \ " S S\
R                  5      5       r " S S\
R                  5      rg)	    N)	dataclass)Optional)
table_castc                   V   ^  \ rS rSr% SrSr\\R                     \	S'   U 4S jr
SrU =r$ )PandasConfig   zBuilderConfig for Pandas.Nfeaturesc                 "   > [         TU ]  5         g N)super__post_init__)self	__class__s    a/home/james-whalen/.local/lib/python3.13/site-packages/datasets/packaged_modules/pandas/pandas.pyr   PandasConfig.__post_init__   s         )__name__
__module____qualname____firstlineno____doc__r	   r   datasetsFeatures__annotations__r   __static_attributes____classcell__)r   s   @r   r   r      s%    #,0Hhx(()0   r   r   c                   d    \ rS rSr\rS rS rS\R                  S\R                  4S jr
S rSrg	)
Pandas   c                     [         R                  " S[        5        [        R                  " U R
                  R                  S9$ )Nz[The Pandas builder is deprecated and will be removed in the next major version of datasets.)r	   )warningswarnFutureWarningr   DatasetInfoconfigr	   )r   s    r   _infoPandas._info   s1    i	
 ##T[[-A-ABBr   c                    U R                   R                  (       d"  [        SU R                   R                   35      eUR                  U R                   R                  5      n[	        U[
        [        [        45      (       aj  Un[	        U[
        5      (       a  U/nU Vs/ s H  oAR                  U5      PM     nn[        R                  " [        R                  R                  SU0S9/$ / nUR                  5        Hc  u  pc[	        U[
        5      (       a  U/nU Vs/ s H  oAR                  U5      PM     nnUR                  [        R                  " USU0S95        Me     U$ s  snf s  snf )z-We handle string, list and dicts in datafilesz=At least one data file must be specified, but got data_files=files)name
gen_kwargs)r&   
data_files
ValueErrordownload_and_extract
isinstancestrlisttuple
iter_filesr   SplitGeneratorSplitTRAINitemsappend)r   
dl_managerr-   r*   filesplits
split_names          r   _split_generatorsPandas._split_generators!   s9   {{%%\]a]h]h]s]s\tuvv44T[[5K5KL
j3e"455E%%%=BCUT**40UEC++1E1ESZ\aRbcdd!+!1!1!3J%%%=BCUT**40UECMM(11zwX]N^_` "4  D Ds   !E( E-pa_tablereturnc                     U R                   R                  b)  [        XR                   R                  R                  5      nU$ r   )r&   r	   r   arrow_schema)r   r@   s     r   _cast_tablePandas._cast_table6   s3    ;;+ "(KK,@,@,M,MNHr   c              #   J  #    [        [        R                  R                  U5      5       Ha  u  p#[	        US5       n[
        R                  R                  [        R                  " U5      5      nX R                  U5      4v   S S S 5        Mc     g ! , (       d  f       Mu  = f7f)Nrb)	enumerate	itertoolschainfrom_iterableopenpaTablefrom_pandaspdread_picklerD   )r   r*   ir;   fr@   s         r   _generate_tablesPandas._generate_tables=   sq      !>!>u!EFGAdD!Q88//q0AB))(333 "! G!!s   :B#ABB#
B 	B#r   N)r   r   r   r   r   BUILDER_CONFIG_CLASSr'   r>   rM   rN   rD   rT   r   r   r   r   r   r      s3    'C*BHH  4r   r   )rI   r"   dataclassesr   typingr   pandasrP   pyarrowrM   r   datasets.tabler   BuilderConfigr   ArrowBasedBuilderr   r   r   r   <module>r^      sP      !     %  8))    *4X'' *4r   