Ë
    ÚÍ:jÚ  ã                  ó€  — U d dl mZ d dlZd dlmZ d dlmZmZmZ d dl	m
Z
 d dlmZ er*d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZmZmZmZ d dlmZ ddgZdZded<   	  eddd¬«      Z edede¬«      Zed"d„«       Z  G d„ de
eef   eeef   «      Z! G d„ deeef   «      Z"ed#d„«       Z#d$d„Z$d%d„Z%d&d „Z&d'd!„Z'y)(é    )ÚannotationsN)Úcache)ÚTYPE_CHECKINGÚAnyÚProtocol)ÚCompliantNamespace)ÚTypeVar)ÚIterator)ÚEntryPoints)Ú	TypeAlias)ÚLiteralString)ÚCompliantDataFrameAnyÚCompliantFrameAnyÚCompliantLazyFrameAnyÚCompliantSeriesAny)ÚVersionÚPluginÚfrom_nativezBCompliantDataFrameAny | CompliantLazyFrameAny | CompliantSeriesAnyr   ÚCompliantAnyÚFrameTr   z-CompliantDataFrameAny | CompliantLazyFrameAny)ÚboundÚdefaultÚFromNativeR_coT)r   Ú	covariantr   c                 ó$   — ddl m}  d} | |¬«      S )Nr   )Úentry_pointsznarwhals.plugins)Úgroup)Úimportlib.metadatar   )Úepsr   s     úe/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/narwhals/plugins.pyÚ_discover_entrypointsr!   +   s   € å6à€EÙ�UÔÐó    c                  ó   — e Zd Zdd„Zy)ÚPluginNamespacec                ó   — y ©N© )ÚselfÚdatas     r    r   zPluginNamespace.from_native4   ó   � r"   N)r)   r   Úreturnr   )Ú__name__Ú
__module__Ú__qualname__r   r'   r"   r    r$   r$   3   s   „ Ü>r"   r$   c                  ó6   — e Zd Zedd„«       Z	 	 	 	 dd„Zdd„Zy)r   c                 ó   — y r&   r'   )r(   s    r    ÚNATIVE_PACKAGEzPlugin.NATIVE_PACKAGE8   s   € Ø/2r"   c                 ó   — y r&   r'   )r(   Úversions     r    Ú__narwhals_namespace__zPlugin.__narwhals_namespace__;   s   € à25r"   c                ó   — y r&   r'   )r(   Únative_objects     r    Ú	is_nativezPlugin.is_native>   r*   r"   N)r+   r   )r3   r   r+   z'PluginNamespace[FrameT, FromNativeR_co])r6   Úobjectr+   Úbool)r,   r-   r.   Úpropertyr1   r4   r7   r'   r"   r    r   r   7   s*   „ ØÚ2ó Ø2ð6Øð6à	0ó6ô ?r"   c                óh   ‡— 	 t        ˆfd„| j                  «       D «       «      S # t        $ r Y yw xY w)Nc              3  óX   •K  — | ]!  }‰|j                   j                  d «      v –— Œ# y­w)ú.N)r-   Úsplit)Ú.0ÚoÚtype_s     €r    ú	<genexpr>z_might_be.<locals>.<genexpr>D   s%   øè ø€ ÒG¸�5˜AŸL™L×.Ñ.¨sÓ3Ô3ÑGùs   ƒ'*F)ÚanyÚmroÚ	TypeError)ÚclsrA   s    `r    Ú	_might_berG   A   s1   ø€ ðÜÓG¸S¿W¹W»YÔGÓGÐGøÜò Ùðús   ƒ!% ¥	1°1c                ó°   — |j                   }t        j                  j                  |«      d uxr( t	        t        | «      |«      xr |j                  | «      S r&   )r1   ÚsysÚmodulesÚgetrG   Útyper7   )r6   ÚpluginÚpkgs      r    Ú_is_native_pluginrO   I   sN   € Ø
×
Ñ
€Cä�‰�‰˜Ó DÐ(ò 	,Ü”d˜=Ó)¨3Ó/ò	,à×Ñ˜]Ó+ðr"   c              #  ó®   K  — t        «       D ]D  }|j                  «       }t        | |«      sŒ |j                  |¬«      }|j	                  | «      –— ŒF y ­w)N)r3   )r!   ÚloadrO   r4   r   )r6   r3   Úentry_pointrM   Úcompliant_namespaces        r    Ú_iter_from_nativerT   R   sW   è ø€ Ü,Ó.ò AˆØ$×)Ñ)Ó+ˆÜ˜]¨FÕ3Ø"(×"?Ñ"?ÈÐ"?Ó"PÐØ%×1Ñ1°-Ó@Ó@ñ	Aùs
   ‚*A­(Ac                ó.   — t        t        | |«      d«      S )a¾  Attempt to convert `native_object` to a Compliant object, using any available plugin(s).

    Arguments:
        native_object: Raw object from user.
        version: Narwhals API version.

    Returns:
        If the following conditions are met
            - at least 1 plugin is installed
            - at least 1 installed plugin supports `type(native_object)`

        Then for the **first matching plugin**, the result of the call below.
        This *should* be an object accepted by a Narwhals Dataframe, Lazyframe, or Series:

            plugin: Plugin
            plugin.__narwhals_namespace__(version).from_native(native_object)

        In all other cases, `None` is returned instead.
    N)ÚnextrT   )r6   r3   s     r    r   r   Z   s   € ô( Ô! -°Ó9¸4Ó@Ð@r"   c                ó    — t        | d«      r	 yy )NÚdaftz¸Hint: it looks like you passed a `daft.DataFrame` but don't have `narwhals-daft` installed.
Please refer to https://github.com/narwhals-dev/narwhals-daft for installation instructions.)rG   )Únative_object_types    r    Ú_show_suggestionsrZ   q   s   € ÜÐ# VÔ,ðkð	
ð r"   )r+   r   )rF   rL   rA   Ústrr+   r9   )r6   r   rM   r   r+   r9   )r6   r   r3   r   r+   zIterator[CompliantAny])r6   r   r3   r   r+   zCompliantAny | None)rY   rL   r+   z
str | None)(Ú
__future__r   rI   Ú	functoolsr   Útypingr   r   r   Únarwhals._compliantr   Únarwhals._typing_compatr	   Úcollections.abcr
   r   r   r   Útyping_extensionsr   Únarwhals._compliant.typingr   r   r   r   Únarwhals.utilsr   Ú__all__r   Ú__annotations__r   r   r!   r$   r   rG   rO   rT   r   rZ   r'   r"   r    ú<module>rg      sú   ðÞ "ã 
Ý ß /Ñ /å 2Ý +áÝ(Ý.Ý å/÷ó õ 'ð �]Ð
#€ð Ið ˆió ð Há	ØØ
Ø;ô
€ñ
 Ø˜L°DÀ,ô€ð
 òó ðô?Ð(¨°¨Ñ5°xÀÈÐ@VÑ7Wô ?ô?ˆX�f˜nÐ,Ñ-ô ?ð òó ðóóAóAô.r"   