L i&|UddlmZddlZddlmZddlmZmZmZm Z ddl m Z ddl m Z er&ddlmZddlmZdd lmZmZdd lmZmZmZmZdd lmZd d gZdZded< e dddZe dedeZ ed!dZ!Gdde eefeee fZ"Gdd eee fZ#ed"dZ$d#dZ%d$dZ&d%dZ'd&d Z(y)') annotationsN)cache) TYPE_CHECKINGAnyProtocolcast)CompliantNamespace)TypeVar)Iterator) EntryPoints) LiteralString TypeAlias)CompliantDataFrameAnyCompliantFrameAnyCompliantLazyFrameAnyCompliantSeriesAny)VersionPlugin from_nativezBCompliantDataFrameAny | CompliantLazyFrameAny | CompliantSeriesAnyr CompliantAnyFrameTrz-CompliantDataFrameAny | CompliantLazyFrameAny)bounddefaultFromNativeR_coT)r covariantrcddlm}d}tjdkr!t d|j |dS||S)Nr) entry_pointsznarwhals.plugins) r )group)importlib.metadatarsys version_inforget)epsr!s V/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/narwhals/plugins.py_discover_entrypointsr(*s=6 E '!M3599UB#788 U ceZdZddZy)PluginNamespacecyNr )selfdatas r'rzPluginNamespace.from_native5r)N)r/rreturnr)__name__ __module__ __qualname__rr r)r'r+r+4s>r)r+c6eZdZeddZ ddZddZy)rcyr-r )r.s r'NATIVE_PACKAGEzPlugin.NATIVE_PACKAGE9s/2r)cyr-r )r.versions r'__narwhals_namespace__zPlugin.__narwhals_namespace__<s25r)cyr-r )r. native_objects r' is_nativezPlugin.is_native?r0r)N)r1r )r9rr1z'PluginNamespace[FrameT, FromNativeR_co])r<objectr1bool)r2r3r4propertyr7r:r=r r)r'rr8s* 2266 06?r)ch tfd|jDS#t$rYywxYw)Nc3XK|]!}|jjdv#yw).N)r3split).0otype_s r' z_might_be..Es%G5ALL..s33Gs'*F)anymro TypeError)clsrGs `r' _might_berMBs1GSWWYGGG s !% 11c|j}tjj|duxr(t t ||xr|j |Sr-)r7r#modulesr%rMtyper=)r<pluginpkgs r'_is_native_pluginrSJsN   C D( , d=)3 / ,   ] +r)c#KtD]D}|j}t||s |j|}|j |Fyw)N)r9)r(loadrSr:r)r<r9 entry_pointrQcompliant_namespaces r'_iter_from_nativerXSsW,.A $))+ ]F 3"("?"?"?"P %11-@ @ As *A(Ac.tt||dS)aAttempt 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)nextrX)r<r9s r'rr[s( !-94 @@r)c t|dr yy)NdaftzHint: 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.)rM)native_object_types r'_show_suggestionsr^rs#V, k  r))r1r )rLrPrGstrr1r?)r<rrQrr1r?)r<rr9rr1zIterator[CompliantAny])r<rr9rr1zCompliantAny | None)r]rPr1z str | None)) __future__rr# functoolsrtypingrrrrnarwhals._compliantr narwhals._typing_compatr collections.abcr r"r typing_extensionsr rnarwhals._compliant.typingrrrrnarwhals.utilsr__all__r__annotations__rrr(r+rrMrSrXrr^r r)r'rks" 552+(.: ' ] #I iH   ;  LD, ?(5x@V7W??Xfn, -?AA.r)