Ë
    ðmxix  ã                  ó<  — d dl mZ d dlmZ erd dlmZmZ  G d„ de«      Z G d„ de	«      Z
 G d„ d	e
e«      Z G d
„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ dee«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)é    )Úannotations)ÚTYPE_CHECKING)Ú
CollectionÚIterablec                  ó   — e Zd ZdZy)ÚNarwhalsErrorz'Base class for all Narwhals exceptions.N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úJ/home/htdocs/ttos/venv/lib/python3.12/site-packages/narwhals/exceptions.pyr   r   	   s   „ Ú1r   r   c                  ó    — e Zd ZdZdd„Zdd„Zy)ÚFormattedKeyErrora7  KeyError with formatted error message.

    Python's `KeyError` has special casing around formatting
    (see https://bugs.python.org/issue2651). Use this class when the error
    message has newlines and other special format characters.
    Needed by https://github.com/tensorflow/tensorflow/issues/36857.
    c                ó   — || _         y ©N©Úmessage)Úselfr   s     r   Ú__init__zFormattedKeyError.__init__   s	   € Øˆ�r   c                ó   — | j                   S r   r   )r   s    r   Ú__str__zFormattedKeyError.__str__   s   € Ø�|‰|Ðr   N©r   ÚstrÚreturnÚNone)r   r   )r
   r   r   r   r   r   r   r   r   r   r      s   „ ñóôr   r   c                  ó\   ‡ — e Zd ZdZdˆ fd„Ze	 	 	 	 	 	 dd„«       Ze	 	 	 	 dd„«       Zˆ xZS )ÚColumnNotFoundErrorz0Exception raised when column name isn't present.c                óF   •— || _         t        ‰| �	  | j                   «       y r   ©r   Úsuperr   ©r   r   Ú	__class__s     €r   r   zColumnNotFoundError.__init__    ó   ø€ ØˆŒÜ‰Ñ˜Ÿ™Õ&r   c               óN   — dt        |«      › dt        |«      › d�}t        |«      S )Nz&The following columns were not found: z+

Hint: Did you mean one of these columns: ú?)ÚsortedÚlistr    )ÚclsÚmissing_columnsÚavailable_columnsr   s       r   Ú'from_missing_and_available_column_namesz;ColumnNotFoundError.from_missing_and_available_column_names$   s:   € ð
 5´V¸OÓ5LÐ4MØ;¼DÐARÓ<SÐ;TÐTUðWð 	ô # 7Ó+Ð+r   c                ó6   — dt        |«      › d�}t        |«      S )NzOThe selected columns were not found.

Hint: Did you mean one of these columns: r(   )r*   r    )r+   r-   r   s      r   Úfrom_available_column_namesz/ColumnNotFoundError.from_available_column_names.   s.   € ð
<Ü<@ÐARÓ<SÐ;TÐTUðWð 	ô # 7Ó+Ð+r   r   )r,   zIterable[str]r-   úCollection[str]r   r    )r-   r1   r   r    )	r
   r   r   r   r   Úclassmethodr.   r0   Ú__classcell__©r%   s   @r   r    r       s[   ø„ Ù:õ'ð ð,Ø+ð,Ø@Oð,à	ò,ó ð,ð ð,Ø /ð,à	ò,ó ô,r   r    c                  ó   — e Zd ZdZy)ÚComputeErrorzHException raised when the underlying computation could not be evaluated.Nr	   r   r   r   r6   r6   9   s   „ ÚRr   r6   c                  ó   — e Zd ZdZy)Ú
ShapeErrorz_Exception raised when trying to perform operations on data structures with incompatible shapes.Nr	   r   r   r   r8   r8   =   ó   „ Úir   r8   c                  ó   — e Zd ZdZy)ÚMultiOutputExpressionErrorzKException raised when using multi-output expression in unsupported context.Nr	   r   r   r   r;   r;   A   s   „ ÚUr   r;   c                  ó   — e Zd ZdZy)ÚDuplicateErrorz6Exception when duplicate column names are encountered.Nr	   r   r   r   r=   r=   E   s   „ Ú@r   r=   c                  ó   — e Zd ZdZy)ÚInvalidOperationErrorz+Exception raised during invalid operations.Nr	   r   r   r   r?   r?   I   s   „ Ú5r   r?   c                  ó6   ‡ — e Zd ZdZdˆ fd„Zedd„«       Zˆ xZS )ÚInvalidIntoExprErrorz>Exception raised when object can't be converted to expression.c                óF   •— || _         t        ‰| �	  | j                   «       y r   r"   r$   s     €r   r   zInvalidIntoExprError.__init__P   r&   r   c                ó$   — d|› d�}t        |«      S )NzBExpected an object which can be converted into an expression, got aŽ  

Hint:
- if you were trying to select a column which does not have a string
  column name, then you should explicitly use `nw.col`.
  For example, `df.select(nw.col(0))` if you have a column named `0`.
- if you were trying to create a new literal column, then you 
  should explicitly use `nw.lit`.
  For example, `df.select(nw.lit(0))` if you want to create a new
  column with literal value `0`.)rA   )r+   Úinvalid_typer   s      r   Úfrom_invalid_typez&InvalidIntoExprError.from_invalid_typeT   s+   € ð QÐQ]ÐP^ð _/ð /ð 	ô $ GÓ,Ð,r   r   )r+   ÚtyperD   rF   r   rA   )r
   r   r   r   r   r2   rE   r3   r4   s   @r   rA   rA   M   s   ø„ ÙHõ'ð ò-ó ô-r   rA   c                  ó   — e Zd ZdZy)ÚUnsupportedDTypeErrorz_Exception raised when trying to convert to a DType which is not supported by the given backend.Nr	   r   r   r   rH   rH   d   r9   r   rH   c                  ó   — e Zd ZdZy)ÚNarwhalsUnstableWarningzRWarning issued when a method or function is considered unstable in the stable api.Nr	   r   r   r   rJ   rJ   h   s   „ Ú\r   rJ   c                  ó   — e Zd Zy)ÚPerformanceWarningN)r
   r   r   r   r   r   rL   rL   l   s   … r   rL   N)Ú
__future__r   Útypingr   Úcollections.abcr   r   Ú
ValueErrorr   ÚKeyErrorr   r    r6   r8   r;   r=   r?   Ú	TypeErrorrA   rH   ÚUserWarningrJ   ÚWarningrL   r   r   r   ú<module>rU      s°   ðÝ "å  áß4ô2�Jô 2ô˜ô ô ,Ð+¨]ô ,ô8S�=ô Sôj�ô jôV ô VôA�]ô Aô6˜Mô 6ô-˜9 mô -ô.j˜Mô jô]˜kô ]ô '˜Õ &r   