Ë
    z�hè  ã                  óH  — d dl 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 G d„ de«      Z G d„ de«      Zy)é    )Úannotationsc                  ó   — e Zd ZdZy)ÚNarwhalsErrorz'Base class for all Narwhals exceptions.N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úQ/var/www/skyplay_api_hub/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                  óF   ‡ — e Zd ZdZdˆ f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                ó*   — d|› d|› d�}t        |«      S )Nz&The following columns were not found: z+

Hint: Did you mean one of these columns: ú?)r   )ÚclsÚmissing_columnsÚavailable_columnsr   s       r   Ú'from_missing_and_available_column_namesz;ColumnNotFoundError.from_missing_and_available_column_names   s/   € ð
 5°_Ð4EØ;Ð<MÐ;NÈaðQð 	ô # 7Ó+Ð+r   r   )r&   Útyper'   ú	list[str]r(   r+   r   r   )r   r   r	   r
   r   Úclassmethodr)   Ú__classcell__©r"   s   @r   r   r      s?   ø„ Ù:õ'ð ð,Øð,Ø$-ð,ØBKð,à	ò,ó ô,r   r   c                  ó   — e Zd ZdZy)ÚComputeErrorzHException raised when the underlying computation could not be evaluated.Nr   r   r   r   r0   r0   *   s   „ ÚRr   r0   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   r2   r2   .   ó   „ Úir   r2   c                  ó   — e Zd ZdZy)ÚMultiOutputExpressionErrorzKException raised when using multi-output expression in unsupported context.Nr   r   r   r   r5   r5   2   s   „ ÚUr   r5   c                  ó   — e Zd ZdZy)ÚDuplicateErrorz6Exception when duplicate column names are encountered.Nr   r   r   r   r7   r7   6   s   „ Ú@r   r7   c                  ó   — e Zd ZdZy)ÚInvalidOperationErrorz+Exception raised during invalid operations.Nr   r   r   r   r9   r9   :   s   „ Ú5r   r9   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__A   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`.)r;   )r&   Úinvalid_typer   s      r   Úfrom_invalid_typez&InvalidIntoExprError.from_invalid_typeE   s+   € ð QÐQ]ÐP^ð _/ð /ð 	ô $ GÓ,Ð,r   r   )r&   r*   r>   r*   r   r;   )r   r   r	   r
   r   r,   r?   r-   r.   s   @r   r;   r;   >   s   ø„ ÙHõ'ð ò-ó ô-r   r;   c                  ó6   ‡ — e Zd ZdZdˆ fd„Zedd„«       Zˆ xZS )ÚAnonymousExprErrorzLException raised when trying to perform operations on anonymous expressions.c                óF   •— || _         t        ‰| �	  | j                   «       y r   r   r!   s     €r   r   zAnonymousExprError.__init__X   r#   r   c                ó$   — d|› d�}t        |«      S )Nz,Anonymous expressions are not supported in `zR`.
Instead of `nw.all()`, try using a named expression, such as `nw.col('a', 'b')`)rA   )r&   Ú	expr_namer   s      r   Úfrom_expr_namez!AnonymousExprError.from_expr_name\   s(   € ð ;¸9¸+ð F!ð !ð 	ô
 " 'Ó*Ð*r   r   )r&   r*   rD   r   r   rA   )r   r   r	   r
   r   r,   rE   r-   r.   s   @r   rA   rA   U   s   ø„ ÙVõ'ð ò+ó ô+r   rA   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )ÚOrderDependentExprErrorzSException raised when trying to use an order-dependent expressions with LazyFrames.c                óF   •— || _         t        ‰| �	  | j                   «       y r   r   r!   s     €r   r   z OrderDependentExprError.__init__i   r#   r   r   ©r   r   r	   r
   r   r-   r.   s   @r   rG   rG   f   s   ø„ Ù]÷'ñ 'r   rG   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )ÚLengthChangingExprErrorzWException raised when trying to use an expression which changes length with LazyFrames.c                óF   •— || _         t        ‰| �	  | j                   «       y r   r   r!   s     €r   r   z LengthChangingExprError.__init__q   r#   r   r   rI   r.   s   @r   rK   rK   n   s   ø„ Ùa÷'ñ 'r   rK   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   rN   rN   v   r3   r   rN   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   rP   rP   z   s   „ Ú\r   rP   N)Ú
__future__r   Ú
ValueErrorr   ÚKeyErrorr   r   r0   r2   r5   r7   r9   Ú	TypeErrorr;   rA   rG   rK   rN   ÚUserWarningrP   r   r   r   ú<module>rV      sÁ   ðÝ "ô2�Jô 2ô˜ô ô ,Ð+¨]ô ,ô$S�=ô Sôj�ô jôV ô VôA�]ô Aô6˜Mô 6ô-˜9 mô -ô.+˜ô +ô"'˜mô 'ô'˜mô 'ôj˜Mô jô]˜kõ ]r   