Ë
    úmxi  ã                  óÆ  — U d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	 ddl
mZ erJddlZddlmZmZ dd	lmZ ej$                  d
k\  rddlmZ nddlmZ ej$                  dk\  rddlmZ nddlmZ g d¢Zeeee	f      Zded<    G d„ deeee	f      «      Zdd„Z ed¬«      Z ed¬«      Z ed¬«      Z ed¬«      Z  ed¬«      Z! ed¬«      Z" ed¬«      Z# ed¬«      Z$y) z;Set-like guards for matching metadata to an implementation.é    )Úannotations)ÚSet)Úchain)ÚTYPE_CHECKINGÚAny)Úv1N)ÚIterableÚIterator)ÚMetadata)é   é   )ÚUnpack)r   é
   )Ú	TypeAlias)ÚItemsÚMetaIsÚis_arrowÚis_csvÚis_jsonÚis_metaÚis_not_tabularÚ
is_parquetÚ
is_spatialÚis_topoÚis_tsvr   r   c                  ó–   ‡ — e Zd ZU ded<   dd„Zedd„«       Zdd„Zdd„Zdˆ fd„Z	dd„Z
dd	„Zdd
„Zdd„Zdd„Zdd„Zdd„Zdd„Zˆ xZS )r   úfrozenset[tuple[str, Any]]Ú	_requiresc               ó2   — t         j                  | d|«       y )Nr   )ÚobjectÚ__setattr__)ÚselfÚkwdss     úS/home/htdocs/ttos/venv/lib/python3.12/site-packages/altair/datasets/_constraints.pyÚ__init__zMetaIs.__init__.   s   € Ü×Ñ˜4 ¨dÕ3ó    c               ó@   —  | t        |j                  «       «      «      S ©N)Ú	frozensetÚitems)ÚclsÚmetas     r$   Úfrom_metadatazMetaIs.from_metadata1   s   € á”9˜TŸZ™Z›\Ó*Ó+Ð+r&   c                óN   — t         rdd„} |di t        | «      ¤ŽS t        | «      S )Nc                 ó   — | S r(   © ©r#   s    r$   Úcollectz#MetaIs.to_metadata.<locals>.collect8   s   € Ø�r&   )r#   úUnpack[Metadata]Úreturnr   r0   )r   Údict)r"   r2   s     r$   Úto_metadatazMetaIs.to_metadata5   s(   € Ýóñ Ñ(œT $›ZÑ(Ð(Ü�D‹zÐr&   c                ó^   — | sd| ›�}t        |«      ‚t        j                  d„ | D «       «      S )z.Convert constraint into a narwhals expression.z2Unable to convert an empty set to an expression:

c              3  óR   K  — | ]  \  }}t        j                  |«      |k(  –— Œ! y ­wr(   )ÚnwÚcol)Ú.0ÚnameÚvals      r$   ú	<genexpr>z!MetaIs.to_expr.<locals>.<genexpr>C   s!   è ø€ Ò K¹¸¸s¤§¡¨£°Õ!4Ñ Kùs   ‚%')Ú	TypeErrorr9   Úall_horizontal)r"   Úmsgs     r$   Úto_exprzMetaIs.to_expr>   s2   € áØHÈÈÐQˆCÜ˜C“.Ð Ü× Ñ Ñ KÀdÔ KÓKÐKr&   c                ó"   •— t         ‰| �  |«      S r(   )ÚsuperÚ
isdisjoint)r"   ÚotherÚ	__class__s     €r$   rE   zMetaIs.isdisjointE   s   ø€ Ü‰wÑ! %Ó(Ð(r&   c                ó8   — | j                   j                  |«      S r(   )r   Úissubset)r"   rF   s     r$   rI   zMetaIs.issubsetH   s   € Ø�~‰~×&Ñ& uÓ-Ð-r&   c               ó    — | j                   |k  S r(   ©r   )r"   r,   s     r$   Ú__call__zMetaIs.__call__K   s   € Ø�~‰~ Ñ%Ð%r&   c                ó,   — t        | j                  «      S r(   )Úhashr   ©r"   s    r$   Ú__hash__zMetaIs.__hash__N   s   € Ü�D—N‘NÓ#Ð#r&   c                ó8   — | j                   j                  |«      S r(   )r   Ú__contains__)r"   Úxs     r$   rR   zMetaIs.__contains__Q   s   € Ø�~‰~×*Ñ*¨1Ó-Ð-r&   c              #  ó8   K  — | j                   E d {  –—†  y 7 Œ­wr(   rK   rO   s    r$   Ú__iter__zMetaIs.__iter__T   s   è ø€ Ø—>‘>×!Ò!ús   ‚’“c                ó6   — | j                   j                  «       S r(   )r   Ú__len__rO   s    r$   rW   zMetaIs.__len__W   s   € Ø�~‰~×%Ñ%Ó'Ð'r&   c                óR   — t        | «      j                  ›d|› d|› �}t        |«      ‚)Nz% is immutable.
Could not assign self.z = )ÚtypeÚ__name__r?   )r"   r<   ÚvaluerA   s       r$   r!   zMetaIs.__setattr__Z   s8   € ä�D‹z×"Ñ"Ð%ð &%Ø%) F¨#¨e¨Wð6ð 	ô ˜‹nÐr&   c                ó  — t        | «      }|sd}np|j                  dd «      x}r6dj                  t        d|› d�gd„ |j	                  «       D «       «      «      }n&dj                  d„ |j	                  «       D «       «      }d|› d	�S )
Nz<placeholder>Úsuffixz, z'*ú'c              3  ó0   K  — | ]  \  }}|› d |›�–— Œ y­w©ú=Nr0   ©r;   ÚkÚvs      r$   r>   z"MetaIs.__repr__.<locals>.<genexpr>g   s   è ø€ Ò(P¹$¸!¸Q¨A¨3¨a°¨u¬Ñ(Pùó   ‚c              3  ó0   K  — | ]  \  }}|› d |›�–— Œ y­wr`   r0   rb   s      r$   r>   z"MetaIs.__repr__.<locals>.<genexpr>j   s   è ø€ Ò H±$°!°Q A 3 a¨ u¤Ñ Hùre   zis_meta(ú))r5   ÚpopÚjoinr   r*   )r"   r*   Úcontentsr]   s       r$   Ú__repr__zMetaIs.__repr__a   sƒ   € Ü�T“
ˆÙØ&‰HØ—y‘y ¨4Ó0Ð0ˆVÐ0Ø—y‘yÜ˜˜F˜8 1�~Ð&Ñ(PÀ%Ç+Á+Ã-Ô(PÓQó‰Hð —y‘yÑ H¸%¿+¹+»-Ô HÓHˆHØ˜(˜ 1Ð%Ð%r&   )r#   r   r4   ÚNone)r,   r   r4   r   )r4   r   )r4   znw.Expr)rF   zIterable[Any]r4   Úbool)r,   r   r4   rm   )r4   Úint)rS   r    r4   rm   )r4   zIterator[tuple[str, Any]])r<   Ústrr[   r   )r4   ro   )rZ   Ú
__module__Ú__qualname__Ú__annotations__r%   Úclassmethodr-   r6   rB   rE   rI   rL   rP   rR   rU   rW   r!   rk   Ú__classcell__)rG   s   @r$   r   r   +   sZ   ø… Ø)Ó)ó4ð ò,ó ð,óóLõ)ó.ó&ó$ó.ó"ó(ó÷
&r&   r   c                 ó,   — t         j                  | «      S r(   )r   r-   r1   s    r$   r   r   n   s   € Ü×Ñ Ó%Ð%r&   z.csv)r]   z.jsonz.tsvz.arrowz.parquetT)r   )r   F)Ú
is_tabular)r#   r3   r4   r   )%Ú__doc__Ú
__future__r   Úcollections.abcr   Ú	itertoolsr   Útypingr   r   Únarwhals.stabler   r9   Úsysr	   r
   Úaltair.datasets._typingr   Úversion_infor   Útyping_extensionsr   Ú__all__Útuplero   r   rr   r   r   r   r   r   r   r   r   r   r   r0   r&   r$   ú<module>rƒ      sÞ   ðÚ Aå "å Ý ß %å $áÛß2å0à
×Ñ˜7Ò"Þ!å,Ø
×Ñ˜7Ò"Þ$å/ò€ð �u˜S #˜X‘Ñ'€€yÓ 'ô@&ˆS��s˜C�x‘Ñ!ô @&óF&ñ 
˜Ô	€Ù
˜Ô
!€Ù	˜Ô	€Ù˜(Ô#€Ù˜JÔ'€
Ù Ô%€
Ù
˜$Ô
€Ù EÔ*�r&   