
    -Ph	                    <   d Z ddlmZ ddlZddlmZmZ er>ddlmZ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d
edef                   ZnCe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ej
        dk    rddlmZ	 ndd lmZ	 g d!ZdS )$a  Backward compatibility for newer/less buggy typing features.

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

## Notes
- `Protocol38`
  - https://github.com/narwhals-dev/narwhals/pull/2064#discussion_r1965921386
  - https://github.com/narwhals-dev/narwhals/pull/2294#discussion_r2014534830
- `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Protocol)      )TypeVar)
deprecated)r
   r   _Fn.)boundFr   	covariantcontravariantnamestrconstraintsr   r   
Any | Noner   boolr   kwdsc               &    t          | g|R |||dS )Nr   )_TypeVar)r   r   r   r   r   r   s         W/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/narwhals/_typing_compat.pyr
   r
   .   s;       #+       messagereturnCallable[[_Fn], _Fn]c                   dd}|S )Nfuncr   r   c                   | S )N )r   s    r   wrapperzdeprecated.<locals>.wrapper?   s    r   )r   r   r   r   r!   )r   r"   s     r   r   r   >   s        Nr   )r   	   )r   )Generic)
Protocol38r
   r   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   )__doc__
__future__r   systypingr   r   r   r   r%   version_infor
   warningsr   typing_extensionsr   r   r$   __all__r!   r   r   <module>r.      s   ( # " " " " " 


 % % % % % % % % .177777777
7""""""""'''''''99999999
'%xS1
2
2
2CC 7""""""""'''''''......
 !%#"'	 	 	 	 	 	 	 	 	 	 6!!1111111000000 2
1
1r   