
    hx!                     @   S SK r S SKJr  S SKJrJrJrJr  S SKr	S SK
rS SKrS SKrS SKJr  S SKJr  S SKJr  \R(                  R*                  R-                  \5      rSS/r/ S	QrS
S/rS/rS/r\ " S S\R<                  5      5       r " S S\R@                  5      r!g)    N)	dataclass)AnyCallableOptionalUnionrequire_storage_cast)
table_cast)Literalnamesprefix)warn_bad_lineserror_bad_linesmangle_dupe_colsencoding_errorson_bad_linesdate_formatverbosec                     ^  \ rS rSr% SrSr\\S'   Sr\	\   \S'   Sr
\	\\\\   \4      \S'   Sr\	\\      \S	'   Sr\	\\      \S
'   Sr\	\\\\\   \\   4      \S'   Sr\	\\\   \\   4      \S'   Sr\	\   \S'   Sr\\S'   Sr\	\S      \S'   Sr\\\\4   \\/\4   4   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\\S'   Sr\	\\\\   4      \S'   Sr\	\   \S'   Sr \	\\\\   4      \S'   Sr!\\S'   Sr"\\S'   Sr#\\S'   Sr$\\S'   Sr%\	\   \S'   Sr&\\S '   Sr'\	\   \S!'   S"r(\\S#'   S$r)\\S%'   Sr*\	\   \S&'   Sr+\	\   \S''   Sr,\	\   \S('   Sr-\	\   \S)'   Sr.\\S*'   Sr/\\S+'   S$r0\\S,'   Sr1\\S-'   Sr2\\S.'   Sr3\	\   \S/'   S0r4\\S1'   Sr5\	\6Rn                     \S2'   S3r8\	\   \S4'   S5r9\S6   \S7'   Sr:\	\   \S8'   U 4S9 jr;\<S: 5       r=S;r>U =r?$ )<	CsvConfig   zBuilderConfig for CSV.,sepN	delimiterinferheaderr   column_names	index_colusecolsr   Tr   )cpythonpyarrowengine
converterstrue_valuesfalse_valuesFskipinitialspaceskiprowsnrows	na_valueskeep_default_na	na_filterr   skip_blank_lines	thousands.decimallineterminator"	quotecharr   quoting
escapecharcommentencodingdialectr   r   
skipfooterdoublequote
memory_mapfloat_precisioni'  	chunksizefeaturesstrictr   error)r@   warnskipr   r   c                    > [         TU ]  5         U R                  b  U R                  U l        U R                  b  U R                  U l        g g N)super__post_init__r   r   r   r   )self	__class__s    [/home/james-whalen/.local/lib/python3.13/site-packages/datasets/packaged_modules/csv/csv.pyrF   CsvConfig.__post_init__F   sA    >>%~~DH(**DJ )    c                    0 SU R                   _SU R                  _SU R                  _SU R                  _SU R                  _SU R
                  _SU R                  _SU R                  _S	U R                  _S
U R                  _SU R                  _SU R                  _SU R                  _SU R                  _SU R                  _SU R                  _SU R                   _0 SU R"                  _SU R$                  _SU R&                  _SU R(                  _SU R*                  _SU R,                  _SU R.                  _SU R0                  _SU R2                  _SU R4                  _SU R6                  _SU R8                  _SU R:                  _SU R<                  _S U R>                  _S!U R@                  _S"U RB                  _EU RD                  U RF                  U RH                  U RJ                  S#.En[L        [N        -    H!  nX   [Q        [S        5       U5      :X  d  M  X	 M#     [T        RV                  RX                  RZ                  S$:  a(  [T        RV                  RX                  R\                  S%:  d  [^         H  nX	 M     [T        RV                  RX                  RZ                  S&:  d  [`         H  nX	 M     [T        RV                  RX                  Rb                  S':  a+  [d         H!  nX   [Q        [S        5       U5      :X  d  M  X	 M#     U$ )(Nr   r   r   r   r   r   r   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   r-   r.   r0   r1   r3   r4   r5   r6   r7   r8   r   r   r9   r:   r;   r<   )r=   r   r   r            )rO   rO   )3r   r   r   r   r   r   r   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   r-   r.   r0   r1   r3   r4   r5   r6   r7   r8   r   r   r9   r:   r;   r<   r=   r   r   r   &_PANDAS_READ_CSV_NO_DEFAULT_PARAMETERS&_PANDAS_READ_CSV_DEPRECATED_PARAMETERSgetattrr   datasetsconfigPANDAS_VERSIONmajorminor%_PANDAS_READ_CSV_NEW_1_3_0_PARAMETERS%_PANDAS_READ_CSV_NEW_2_0_0_PARAMETERSrelease,_PANDAS_READ_CSV_DEPRECATED_2_2_0_PARAMETERS)rG   pd_read_csv_kwargspd_read_csv_parameters      rI   r\   CsvConfig.pd_read_csv_kwargsM   sW   '
488'
dkk'
 TZZ'
 	'

 t||'
 dkk'
  5 5'
 dkk'
 $//'
 4++'
 D--'
  5 5'
 '
 TZZ'
 '
  t33!'
" #'
$ t||%'
&  5 5''
( )'
* t||+'
, d11-'
. /'
0 t||1'
2 $//3'
4 t||5'
6 7'
8 t||9'
: t33;'
< d11='
> $//?'
@ 4++A'
B $//C'
D t33E'
F #33 --++M'
V &LNt%t!!8GIKQf<gg&= &u
 ..449hoo>\>\>b>bfg>g)N%&= *O ..449)N%&= *O ??))11V;)U%%<	Uj@kk*A *V "!rK   )r   r   )@__name__
__module____qualname____firstlineno____doc__r   str__annotations__r   r   r   r   intlistr   r   r   r   r   r   boolr#   r   r$   dictr   r   r%   r&   r'   r(   r)   r*   r+   r,   r   r-   r.   r0   r1   r3   r4   r5   r6   r7   r8   r   r   r9   r:   r;   r<   r=   r>   rS   Featuresr   r   r   rF   propertyr\   __static_attributes____classcell__)rH   s   @rI   r   r      s    CN#Ix}#3:FHU3S	3./0:!%E8DI%(,L(49%,AEIxc3S	49<=>E59GXeDItCy0129 FHSM !d!:>FHW567>>BJU38_hucz&::;B"&K$&#'L(4.'"d"04HhuS$s)^,-4E8C=15Ixc49n-.5 OT ItGT!d!#Ix}#GS$(NHSM(IsGS $J$!GXc]!"Hhsm"!GXc]! OT NDJKJ%)OXc])Is,0Hhx(()0%-OXc]-5<L'12<!%K#%+ @" @"rK   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	)
Csv   c                 R    [         R                  " U R                  R                  S9$ )N)r>   )rS   DatasetInforT   r>   )rG   s    rI   _info	Csv._info   s    ##T[[-A-ABBrK   c                    U R                   R                  (       d"  [        SU R                   R                   35      eSUR                  l        UR                  U R                   R                  5      n/ nUR                  5        Hc  u  pE[        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 )z-We handle string, list and dicts in datafilesz=At least one data file must be specified, but got data_files=Tfiles)name
gen_kwargs)rT   
data_files
ValueErrordownload_configextract_on_the_flydownload_and_extractitems
isinstancerd   
iter_filesappendrS   SplitGenerator)rG   
dl_managerry   splits
split_namerv   files          rI   _split_generatorsCsv._split_generators   s    {{%%\]a]h]h]s]s\tuvv8<
""544T[[5K5KL
!+!1!1!3J%%%=BCUT**40UECMM(11zwX]N^_`	 "4
  Ds   'C/pa_tablereturnc                    U R                   R                  b  U R                   R                  R                  n[        S U R                   R                  R	                  5        5       5      (       a=  [
        R                  R                  U Vs/ s H  o1UR                     PM     snUS9nU$ [        X5      nU$ s  snf )Nc              3   B   #    U  H  n[        U5      (       + v   M     g 7frD   r   ).0features     rI   	<genexpr>"Csv._cast_table.<locals>.<genexpr>   s     bDa+G444Das   )schema)
rT   r>   arrow_schemaallvaluespaTablefrom_arraysrw   r
   )rG   r   r   fields       rI   _cast_tableCsv._cast_table   s    ;;+[[))66FbDKKDXDXD_D_Dabbb88//SY0ZSY%%**1ESY0Zci/j  &h7	 1[s   B;c           
   #   d  #    U R                   R                  (       a   U R                   R                  R                  OS nUb  [        UR                  UR
                  U R                   R                  R                  5       5       VVVs0 s H-  u  p4nU[        U5      (       d  UR                  5       O[        _M/     snnnOS n[        [        R                  R                  U5      5       H}  u  pg[        R                  " U4SUS.U R                   R                   D6n [        U5       H:  u  p["        R$                  R'                  U
5      nXi4U R)                  U5      4v   M<     M     g s  snnnf ! [*         a-  n[,        R/                  SU S[1        U5       SU 35        e S nAff = f7f)NT)iteratordtypezFailed to read file 'z' with error z: )rT   r>   r   zipr   typesr   r	   to_pandas_dtypeobject	enumerate	itertoolschainfrom_iterablepdread_csvr\   r   r   from_pandasr   rz   loggerr@   type)rG   rv   r   rw   r   r   file_idxr   csv_file_reader	batch_idxdfr   es                rI   _generate_tablesCsv._generate_tables   sj    6:kk6J6J%%22PT ! -0fllDKKL`L`LgLgLi,j,j(D 5I'5R5Re++-X^^,j
  	 (	(E(Ee(LMNH kk$mUmdkkNlNlmO	%.%?MI!xx33B7H $/1A1A(1KKK &@ N   4TF-QyPRSTRUVWs8   BF0
4E/>A"F0!A	E6*F06
F- (F((F--F0 N)r_   r`   ra   rb   r   BUILDER_CONFIG_CLASSrs   r   r   r   r   r   rl   r   rK   rI   ro   ro      s3    $C	BHH 	 	rK   ro   )"r   dataclassesr   typingr   r   r   r   pandasr   r"   r   rS   datasets.configdatasets.features.featuresr	   datasets.tabler
   datasets.utils.py_utilsr   utilslogging
get_loggerr_   r   rP   rQ   rX   rY   r[   BuilderConfigr   ArrowBasedBuilderro   r   rK   rI   <module>r      s     ! 1 1     ; % + 
			*	*8	4*18)< &)b &):N(K %)6 %09{ , u"&& u" u"p5(
$
$ 5rK   