§
    {Øjˆ  ã                  ó¬  — U d Z ddlm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mZ erddlmZ ed         Zd	ed
<   ed         Zd	ed<   ed         Zd	ed<   ed         Zd	ed<   ed         Zd	ed<   ed         Zd	ed<   ed         Zd	ed<   ed         Zd	ed<   ed         Zd	ed<   ed         Zd	ed<   ed         Zd	ed<   eeeef         Zd	ed<   eeeef         Zd	ed <   eeef         Zd	ed!<   eeef         Zd	ed"<   eeeeef         Zd	ed#<   eeef         Z d	ed$<   eej!                 Z"d	ed%<   eej#                 Z$d	ed&<   eej%                 Z&d	ed'<   eej'                 Z(d	ed(<   eej)                 Z*d	ed)<   eej+                 Z,d	ed*<   eej-                 Z.d	ed+<   eej/                 Z0d	ed,<   eej1                 Z2d	ed-<   eej3                 Z4d	ed.<   eej5                 Z6d	ed/<   ee"e&e$f         Z7d	ed0<   ee(e*e,f         Z8d	ed1<   ee7e0f         Z9d	ed2<   ee9e.f         Z:d	ed3<   ee8e2e4e6f         Z;d	ed4<   ee;e.f         Z<d	ed5<   ee"e.e0f         Z=d	ed6<   eee"f         Z>d	ed7<   eee&f         Z?d	ed8<   eee$f         Z@d	ed9<   eee(f         ZAd	ed:<   eee*f         ZBd	ed;<   eee,f         ZCd	ed<<   eee.f         ZDd	ed=<   eee0f         ZEd	ed><   eee2f         ZFd	ed?<   eee4f         ZGd	ed@<   eee6f         ZHd	edA<   eee7f         ZId	edB<   eee8f         ZJd	edC<   eeIeEf         ZKd	edD<   eeJeFeGeHf         ZLd	edE<   eeKeDf         ZMd	edF<   	 eeLeDf         ZNd	edG<   	 eee f         ZOd	edH<   eeMeNf         ZPd	edI<   	  edJeQ¦  «        ZR	  e
dKePeRz  ¬L¦  «        ZSeSez  ZTd	edM<   	 eTeP         ZUd	edN<   eTeM         ZVd	edO<   eTeN         ZWd	edP<   eejX                 ZYd	edQ<   dRS )Sa%  Type aliases describing the backends Narwhals dispatches to.

Built-in backends are enumerated as `Literal` unions (`Backend`, `EagerAllowed`, `LazyAllowed`, ...).
Plugin backends are discovered at runtime and cannot join those unions, so `PluginName` uses a
[`NewType`](https://typing.python.org/en/latest/spec/aliases.html#newtype) instead:
type checkers treat it as a distinct subtype of `str`, therefore:

- an arbitrary `str` is still rejected where a `backend` is expected, and
- a value explicitly wrapped as `PluginName("...")` is accepted.
é    )Úannotations)Ú
ModuleType)ÚTYPE_CHECKINGÚLiteralÚNewType)ÚTypeVar)ÚImplementationÚ
_NoDefault)Ú	TypeAliasÚpolarsr   Ú_PolarsÚpyarrowÚ_ArrowÚdaskÚ_DaskÚduckdbÚ_DuckDBÚpandasÚ_PandasÚmodinÚ_ModinÚcudfÚ_CuDFÚpysparkÚ_PySparkÚsqlframeÚ	_SQLFramezpyspark[connect]Ú_PySparkConnectÚibisÚ_IbisÚ_PandasLikeÚ
_SparkLikeÚ
_EagerOnlyÚ_EagerAllowedÚ	_LazyOnlyÚ_LazyAllowedÚ_PandasImplÚ
_ModinImplÚ	_CuDFImplÚ_PySparkImplÚ_SQLFrameImplÚ_PySparkConnectImplÚ_PolarsImplÚ
_ArrowImplÚ	_DaskImplÚ_DuckDBImplÚ	_IbisImplÚ_PandasLikeImplÚ_SparkLikeImplÚ_EagerOnlyImplÚ_EagerAllowedImplÚ_LazyOnlyImplÚ_LazyAllowedImplÚ_LazyFrameCollectImplÚPandasÚCuDFÚModinÚPySparkÚSQLFrameÚPySparkConnectÚPolarsÚArrowÚDaskÚDuckDBÚIbisÚ
PandasLikeÚ	SparkLikeÚ	EagerOnlyÚLazyOnlyÚEagerAllowedÚLazyAllowedÚBackendNameÚBackendÚ
PluginNameÚBackendT)ÚboundÚIntoBackendÚIntoBackendAnyÚIntoBackendEagerÚIntoBackendLazyÚ	NoDefaultN)ZÚ__doc__Ú
__future__r   Útypesr   Útypingr   r   r   Únarwhals._typing_compatr   Únarwhals._utilsr	   r
   r   r   Ú__annotations__r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   ÚPANDASr'   ÚMODINr(   ÚCUDFr)   ÚPYSPARKr*   ÚSQLFRAMEr+   ÚPYSPARK_CONNECTr,   ÚPOLARSr-   ÚPYARROWr.   ÚDASKr/   ÚDUCKDBr0   ÚIBISr1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   ÚstrrL   rM   rO   rP   rQ   rR   Ú
no_defaultrS   © ó    ú…/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/narwhals/_typing.pyú<module>rk      sé  ðð	ð 	ð 	ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2à +Ð +Ð +Ð +Ð +Ð +Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6àð !Ø Ð Ð Ð Ð Ð ð ˜XÔ&€Ð &Ð &Ð &Ñ &Ø˜IÔ&€Ð &Ð &Ð &Ñ &Ø˜6”?€Ð "Ð "Ð "Ñ "Ø˜XÔ&€Ð &Ð &Ð &Ñ &Ø˜XÔ&€Ð &Ð &Ð &Ñ &Ø˜GÔ$€Ð $Ð $Ð $Ñ $Ø˜6”?€Ð "Ð "Ð "Ñ "Ø˜iÔ(€Ð (Ð (Ð (Ñ (Ø˜zÔ*€	Ð *Ð *Ð *Ñ *Ø$Ð%7Ô8€Ð 8Ð 8Ð 8Ñ 8Ø˜6”?€Ð "Ð "Ð "Ñ "Ø  ¨%°Ð!7Ô8€Ð 8Ð 8Ð 8Ñ 8Ø ¨)°_Ð DÔE€
Ð EÐ EÐ EÑ EØ ¨VÐ 3Ô4€
Ð 4Ð 4Ð 4Ñ 4Ø" 7¨JÐ#6Ô7€Ð 7Ð 7Ð 7Ñ 7Ø˜z¨5°'¸5Ð@ÔA€	Ð AÐ AÐ AÑ AØ! '¨9Ð"4Ô5€Ð 5Ð 5Ð 5Ñ 5ð ! Ô!6Ô7€Ð 7Ð 7Ð 7Ñ 7Ø Ô 4Ô5€
Ð 5Ð 5Ð 5Ñ 5Ø˜~Ô2Ô3€	Ð 3Ð 3Ð 3Ñ 3Ø! .Ô"8Ô9€Ð 9Ð 9Ð 9Ñ 9Ø" >Ô#:Ô;€Ð ;Ð ;Ð ;Ñ ;Ø!(¨Ô)GÔ!HÐ Ð HÐ HÐ HÑ HØ  Ô!6Ô7€Ð 7Ð 7Ð 7Ñ 7Ø Ô 6Ô7€
Ð 7Ð 7Ð 7Ñ 7Ø˜~Ô2Ô3€	Ð 3Ð 3Ð 3Ñ 3Ø  Ô!6Ô7€Ð 7Ð 7Ð 7Ñ 7Ø˜~Ô2Ô3€	Ð 3Ð 3Ð 3Ñ 3Ø$ [°)¸ZÐ%GÔH€Ð HÐ HÐ HÑ HØ# L°-ÐATÐ$TÔU€Ð UÐ UÐ UÑ UØ# O°ZÐ$?Ô@€Ð @Ð @Ð @Ñ @Ø& ~°{Ð'BÔCÐ Ð CÐ CÐ CÑ CØ" >°9¸kÈ9Ð#TÔU€Ð UÐ UÐ UÑ UØ% m°[Ð&@ÔAÐ Ð AÐ AÐ AÑ Að
 $+¨;¸ÀZÐ+OÔ#PÐ Ð PÐ PÐ PÑ Pð ˜G [Ð0Ô1€Ð 1Ð 1Ð 1Ñ 1Ø˜% Ð*Ô+€Ð +Ð +Ð +Ñ +Ø˜6 :Ð-Ô.€Ð .Ð .Ð .Ñ .Ø˜X |Ð3Ô4€Ð 4Ð 4Ð 4Ñ 4Ø˜i¨Ð6Ô7€Ð 7Ð 7Ð 7Ñ 7Ø# OÐ5HÐ$HÔI€Ð IÐ IÐ IÑ IØ˜G [Ð0Ô1€Ð 1Ð 1Ð 1Ñ 1Ø˜6 :Ð-Ô.€Ð .Ð .Ð .Ñ .Ø˜% Ð*Ô+€Ð +Ð +Ð +Ñ +Ø˜G [Ð0Ô1€Ð 1Ð 1Ð 1Ñ 1Ø˜% Ð*Ô+€Ð +Ð +Ð +Ñ +Ø ¨_Ð <Ô=€
Ð =Ð =Ð =Ñ =Ø˜z¨>Ð9Ô:€	Ð :Ð :Ð :Ñ :Ø˜z¨5Ð0Ô1€	Ð 1Ð 1Ð 1Ñ 1Ø˜i¨¨v°tÐ;Ô<€Ð <Ð <Ð <Ñ <Ø! )¨VÐ"3Ô4€Ð 4Ð 4Ð 4Ñ 4ðð ! ¨6Ð!1Ô2€Ð 2Ð 2Ð 2Ñ 2ðð ! °Ð!<Ô=€Ð =Ð =Ð =Ñ =Ø˜\¨;Ð6Ô7€Ð 7Ð 7Ð 7Ñ 7ðð ˆW�\ 3Ñ'Ô'€
ðð ˆ7�: W¨zÑ%9Ð:Ñ:Ô:€Ø! JÑ.€Ð .Ð .Ð .Ñ .ð8ðt (¨Ô0€Ð 0Ð 0Ð 0Ñ 0Ø)¨,Ô7Ð Ð 7Ð 7Ð 7Ñ 7Ø(¨Ô5€Ð 5Ð 5Ð 5Ñ 5à˜zÔ4Ô5€	Ð 5Ð 5Ð 5Ñ 5Ð 5Ð 5ri   