
    Wh	                    p   d Z ddlmZ ddlZddlmZmZ erZddlmZ ej                  dk\  rddlm	Z	 ddl
mZ ndd	lm	Z	mZ ej                  d
k\  r	ddlmZmZ nddlmZmZ  e	dedef         ZnBej                  dk\  rddlm	Z	 ddl
mZ nddlm	Z dddd	 	 	 	 	 	 	 	 	 	 	 ddZ	ddZdZdZddZg dZy)aA  Backward compatibility for newer/less buggy typing features.

## Important
Import from here to avoid introducing a runtime dependency on [`typing_extensions`]

## Notes
- `TypeVar` defaults
  - https://typing.python.org/en/latest/spec/generics.html#type-parameter-defaults
  - https://peps.python.org/pep-0696/
- `@deprecated`
  - https://docs.python.org/3/library/warnings.html#warnings.deprecated
  - https://typing.python.org/en/latest/spec/directives.html#deprecated
  - https://peps.python.org/pep-0702/

[`typing_extensions`]: https://github.com/python/typing_extensions
    )annotationsN)TYPE_CHECKINGAny)Callable)      )TypeVar)
deprecated)r	   r
   )r      )Neverassert_never_Fn.)boundFr   	covariantcontravariantc               $    t        | g||||dS )Nr   )_TypeVar)namer   r   r   constraintskwdss         Q/var/www/html/jupyter_env/lib/python3.12/site-packages/narwhals/_typing_compat.pyr	   r	   0   s,      #+     c                   dd}|S )Nc                   | S )N )funcs    r   wrapperzdeprecated.<locals>.wrapperA   s    r   )r   r   returnr   r   )messager   s     r   r
   r
   @   s     Nr   d   zKhttps://github.com/narwhals-dev/narwhals/issues/new?template=bug_report.ymlc                   t        |       }t        |      t        kD  r|d t         dz   }d| dt         }t	        |      )Nz...z*Expected code to be unreachable, but got: z.
Please report an issue at )reprlen_ASSERT_NEVER_REPR_MAX_LENGTH_BUG_URLAssertionError)argvaluemsgs      r   r   r   K   sT    S	u:55889EAE8 @))1
4 	 S!!r   )r	   r   r
   )r   strr   r   r   z
Any | Noner   boolr   r,   r   r   )r    r+   r   zCallable[[_Fn], _Fn])r(   r   r   r   )__doc__
__future__r   systypingr   r   r   version_infor	   warningsr
   typing_extensionsr   r   r   r   r%   r&   __all__r   r   r   <module>r5      s   " #  %
7""'9
7"..9
%xS1
2C 7""'.
 !%#"'			 	 		
  	 	 	 %(!U " 4r   