+
    QV-jì  ã                   óh  € ^ RI Ht ^ RIHtHtHtHtHt ^ RIt	^ RI
t
^ RIHt ^ RIHt ^ RIHt ]'       d   ^ RIHt ^ RIHt ^ R	IHt ]
P.                  P0                  P3                  ]4      t] ! R
 R]
P8                  4      4       t ! R R]
P<                  ]
P>                  P@                  4      t!R# )é    )Ú	dataclass)ÚTYPE_CHECKINGÚDictÚListÚOptionalÚUnionN)ÚKey)ÚFeatures)Ú
table_cast)ÚCatalog)ÚBooleanExpression)ÚFileScanTaskc                   óz   a a€ ] tR t^t oRtRtRtRtRtRt	Rt
RtV 3R ltR	V3R lV 3R llltV3R ltRtVtV ;t# )
ÚIcebergConfigaÖ  BuilderConfig for Apache Iceberg format.

Args:
    catalog (`pyiceberg.catalog.Catalog`):
        A pre-configured pyiceberg Catalog object.
    table (`str` or `Dict[str, str]`):
        Iceberg table identifier, e.g. ``"db.my_table"``.
        Pass a dict to map split names to table identifiers,
        e.g. ``{"train": "db.train", "test": "db.test"}``.
    features (`Features`, *optional*):
        Cast the data to these features.
    columns (`List[str]`, *optional*):
        List of columns to load; others are ignored.
    filters (`str` or `BooleanExpression`, *optional*):
        Row filter with predicate pushdown. Accepts a SQL-style string
        (``"col > 1 AND col2 == 'foo'"``), or a pyiceberg
        ``BooleanExpression`` object. Parsed by pyiceberg internally.
    batch_size (`int`, defaults to ``131072``):
        Number of rows per RecordBatch when reading.
    snapshot_id (`int`, *optional*):
        Load a specific snapshot for time-travel queries.
Ni   c                ó  <€ \         SV `  4        V P                  f   \        R4      hV P                  f   \        R4      h\        V P                  \        4      '       d   RV P                  /V n        V P                  R8X  dz   V P                  P                  P                   RV P                  P                   2pRP                  \        V P                  P                  4       4      4      pV RV 2V n        R # R # )Nz;`catalog` must be a pyiceberg Catalog object, but got None.z3`table` must be specified, e.g. table='db.my_table'ÚtrainÚdefaultÚ_)ÚsuperÚ__post_init__ÚcatalogÚ
ValueErrorÚtableÚ
isinstanceÚstrÚnameÚ	__class__Ú__name__ÚjoinÚsortedÚvalues)ÚselfÚ
catalog_idÚtable_idr   s   &  €Úz/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/datasets/packaged_modules/iceberg/iceberg.pyr   ÚIcebergConfig.__post_init__5   sÊ   ø€ Ü‰ÑÔØ�<‰<ÒÜÐZÓ[Ð[Ø�:‰:ÒÜÐRÓSÐSä�d—j‘j¤#×&Ò&Ø! 4§:¡:Ð.ˆDŒJà�9‰9˜	Ô!Ø ŸL™L×2Ñ2×;Ñ;Ð<¸A¸d¿l¹l×>OÑ>OÐ=PÐQˆJØ—x‘x¤ t§z¡z×'8Ñ'8Ó':Ó ;Ó<ˆHØ%˜, a¨ zÐ2ˆDŽIñ "ó    c                ó<   <€ V ^8„  d   QhRS[ RS[S[,          RS[/# )é   Úconfig_kwargsÚcustom_featuresÚreturn)Údictr   r
   r   )ÚformatÚ__classdict__s   "€r%   Ú__annotate__ÚIcebergConfig.__annotate__D   s3   ø€ ÷ Xñ XáðXñ "¡(Õ+ðXñ 
ñ	Xr'   c                ó  <€ VP                  4       pVP                  R R4      pVe)   VP                  P                   RVP                   2VR&   VP                  RR4      pVe   \        V4      VR&   \        SV `  WR7      # )r   Nr   Ú_catalog_idÚfiltersÚ_filters_repr)r+   )ÚcopyÚpopr   r   r   Úreprr   Úcreate_config_id)r"   r*   r+   r   r4   r   s   &&&  €r%   r9   ÚIcebergConfig.create_config_idD   sŠ   ø€ ð &×*Ñ*Ó,ˆØ×#Ñ# I¨tÓ4ˆØÒØ.5×.?Ñ.?×.HÑ.HÐ-IÈÈ7Ï<É<È.Ð+YˆM˜-Ñ(à×#Ñ# I¨tÓ4ˆØÒÜ-1°'«]ˆM˜/Ñ*Ü‰wÑ'¨Ð'ÓWÐWr'   c                ó0  <€ V ^8„  d   Qh/ S[ R,          ;R&   S[ S[S[S[S[S[3,          3,          ,          ;R&   S[ S[P
                  ,          ;R&   S[ S[S[,          ,          ;R&   S[ S[S[R3,          ,          ;R&   S[;R&   S[ S[,          ;R	&   # )
r)   r   r   r   ÚfeaturesÚcolumnsr   r4   Ú
batch_sizeÚsnapshot_id)r   r   r   r   Údatasetsr
   r   Úint)r.   r/   s   "€r%   r0   r1      s¤   ø‡ ‚ ñ2 �iÕ Ñ'ñ3 ñ4 ‘E™#™t¡C© H�~Ð-Õ.Õ/Ñ6ñ5 ñ6 ‘x×(Ñ(Õ)Ñ0ñ7 ñ8 ‘d™3•iÕ Ñ'ñ9 ñ: ‘e™CÐ!4Ð4Õ5Õ6Ñ=ñ; ñ< Ññ= ñ> ™#•Ñ%ò? r'   )r   r   ©N)r   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r<   r=   r4   r>   r?   r   r9   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   r/   s   @@r%   r   r      sH   ù‡ € ñð. $(€GØ26€EØ,0€HØ#'€GØ9=€GØ€JØ!%€Kõ3÷Xõ X÷a … r'   r   c                   óx   a € ] tR t^Wt o ]tR tR tV 3R lR ltV 3R lR lt	V 3R lR lt
V 3R	 lR
 ltRtV tR# )ÚIcebergc                óX   € \         P                  ! V P                  P                  R 7      # ))r<   )r@   ÚDatasetInfoÚconfigr<   )r"   s   &r%   Ú_infoÚIceberg._infoZ   s   € Ü×#Ò#¨T¯[©[×-AÑ-AÔBÐBr'   c           
     óT  € . pV P                   P                  P                  4        EFÏ  w  r4V P                   P                  P	                  V4      p/ pV P                   P
                  e   V P                   P
                  VR&   V P                   P                  '       d#   \        V P                   P                  4      VR&   V P                   P                  e   V P                   P                  VR&   VP                  ! R/ VB pV P                  P                  fM   VP                  4       P                  4       p\        P                  P!                  V4      V P                  n        \#        VP%                  4       4      p	VP&                  VP(                  VP                  4       VP*                  VP,                  VP.                  3p
VP1                  \        P2                  ! VRV	RV
/R7      4       EKÒ  	  R V P                   n        V P4                  P7                  RR 4       V# )	NÚ
row_filterÚselected_fieldsr?   ÚtasksÚscan_context)r   Ú
gen_kwargsr   © )rO   r   Úitemsr   Ú
load_tabler4   r=   Útupler?   ÚscanÚinfor<   Ú
projectionÚas_arrowr@   r
   Úfrom_arrow_schemaÚlistÚ
plan_filesÚtable_metadataÚiorS   Úcase_sensitiveÚlimitÚappendÚSplitGeneratorr*   r7   )r"   Ú
dl_managerÚsplitsÚ
split_namer$   Úiceberg_tableÚscan_kwargsr\   Úarrow_schemarU   rV   s   &&         r%   Ú_split_generatorsÚIceberg._split_generators]   s²  € ØˆØ$(§K¡K×$5Ñ$5×$;Ñ$;×$=Ñ ˆJØ ŸK™K×/Ñ/×:Ñ:¸8ÓDˆMàˆKØ�{‰{×"Ñ"Ò.Ø,0¯K©K×,?Ñ,?�˜LÑ)Ø�{‰{×"×"Ð"Ü16°t·{±{×7JÑ7JÓ1K�Ð-Ñ.Ø�{‰{×&Ñ&Ò2Ø-1¯[©[×-DÑ-D�˜MÑ*à ×%Ò%Ñ4¨Ñ4ˆDð �y‰y×!Ñ!Ò)Ø#Ÿ™Ó0×9Ñ9Ó;�Ü%-×%6Ñ%6×%HÑ%HÈÓ%V�—	‘	Ô"ô ˜Ÿ™Ó*Ó+ˆEð ×#Ñ#Ø—‘Ø—‘Ó!Ø—‘Ø×#Ñ#Ø—
‘
ðˆLð �M‰MÜ×'Ò'Ø#Ø '¨°ÀÐMô÷ñE %>ðV #ˆ�‰ÔØ×Ñ×Ñ˜y¨$Ô/àˆr'   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r)   Úpa_tabler,   )ÚpaÚTable)r.   r/   s   "€r%   r0   ÚIceberg.__annotate__�   s#   ø€ ÷ ñ ¡B§H¡Hð ±·±ñ r'   c                óˆ   € V P                   P                  e*   \        WP                   P                  P                  4      pV# rB   )r]   r<   r   rn   )r"   rr   s   &&r%   Ú_cast_tableÚIceberg._cast_table�   s3   € Ø�9‰9×ÑÒ)ô " (¯I©I×,>Ñ,>×,KÑ,KÓLˆHØˆr'   c                ó.   <€ V ^8„  d   QhRS[ R,          /# ©r)   rU   r   ©r   )r.   r/   s   "€r%   r0   ru   –   s   ø€ ÷ &ñ &¡d¨>Õ&:ñ &r'   c              #  óP   "  € V F  pVP                   P                  x € K  	  R # 5irB   )ÚfileÚ	file_path©r"   rU   rV   Útasks   &&& r%   Ú_generate_shardsÚIceberg._generate_shards–   s   é € ÛˆDØ—)‘)×%Ñ%Ô%ó ùó   ‚$&c                ó.   <€ V ^8„  d   QhRS[ R,          /# rz   r{   )r.   r/   s   "€r%   r0   ru   š   s   ø€ ÷ )ñ )©D°Õ,@ñ )r'   c              #  óP   "  € V F  pVP                   P                  x € K  	  R # 5irB   )r}   Úrecord_countr   s   &&& r%   Ú_generate_num_examplesÚIceberg._generate_num_examplesš   s   é € ÛˆDØ—)‘)×(Ñ(Ô(ó ùrƒ   c                ó.   <€ V ^8„  d   QhRS[ R,          /# rz   r{   )r.   r/   s   "€r%   r0   ru   ž   s   ø€ ÷ Kñ K¡d¨>Õ&:ñ Kr'   c           	   #  ó.  "  € ^ RI Hp Vw  rErgr‰V! VVVVVV	R7      p
\        V4       Fg  w  r¼\        V
P                  V.4      4       FC  w  rÞ\        P
                  P                  V.4      p\        W½4      V P                  V4      3x € KE  	  Ki  	  R# 5i)r   )Ú	ArrowScan)re   rf   N)	Úpyiceberg.io.pyarrowr‹   Ú	enumerateÚto_record_batchesrs   rt   Úfrom_batchesr	   rw   )r"   rU   rV   r‹   rc   rd   Úprojected_schemarS   re   rf   Ú
arrow_scanÚtask_idxr€   Ú	batch_idxÚbatchrr   s   &&&             r%   Ú_generate_tablesÚIceberg._generate_tablesž   s•   é € Ý2àR^ÑOˆÐ,¸.ÙØØØØØ)Øô
ˆ
ô (¨Ö.‰NˆHÜ$-¨j×.JÑ.JÈDÈ6Ó.RÖ$SÑ �	ÜŸ8™8×0Ñ0°%°Ó9�Ü˜(Ó.°×0@Ñ0@ÀÓ0JÐJÔJó %Tó /ùs   ‚BBrX   N)r   rC   rD   rE   r   ÚBUILDER_CONFIG_CLASSrP   ro   rw   r�   r‡   r•   rH   rI   )r/   s   @r%   rL   rL   W   sA   ø‡ € Ø(ÐòCò0÷dð ÷&ð &÷)ð )÷Kö Kr'   rL   )"Údataclassesr   Útypingr   r   r   r   r   Úpyarrowrs   r@   Údatasets.builderr	   Údatasets.featuresr
   Údatasets.tabler   Úpyiceberg.catalogr   Úpyiceberg.expressionsr   Úpyiceberg.tabler   ÚutilsÚloggingÚ
get_loggerr   ÚloggerÚBuilderConfigr   ÚArrowBasedBuilderÚbuilderÚ_CountableBuilderMixinrL   rX   r'   r%   Ú<module>r©      sŽ   ðÝ !ß =Õ =ã ã Ý  Ý &Ý %÷ Ý)Ý7Ý,à	�‰×	Ñ	×	*Ñ	*¨8Ó	4€ð ô?X�H×*Ñ*ó ?Xó ð?XôDVKˆh×(Ñ(¨(×*:Ñ*:×*QÑ*Qö VKr'   