o
    $&]i	                     @  s  d Z ddlmZ ddlZddlmZmZ erWd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rDddlmZmZ nddlmZmZ e	dedef dZn0ejdkriddlm	Z	 ddl
mZ nddlm	Z ddddd)ddZ	d*d d!Zd"Zd#Zd+d&d'Zg d(ZdS ),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contravariantnamestrconstraintsr   r   
Any | Noner   boolr   kwdsc                O  s   t | g|R |||dS )Nr   )_TypeVar)r   r   r   r   r   r    r   U/var/www/html/IGF-ODF-V3/venv/lib/python3.10/site-packages/narwhals/_typing_compat.pyr   0   s   r   messagereturnCallable[[_Fn], _Fn]c                C  s   ddd}|S )Nfuncr   r   c                S  s   | S )Nr   )r   r   r   r   wrapperA   s   zdeprecated.<locals>.wrapper)r   r   r   r   r   )r   r   r   r   r   r	   @   s   
r	   d   zKhttps://github.com/narwhals-dev/narwhals/issues/new?template=bug_report.ymlargr   c                C  s<   t | }t|tkr|d t d }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)r!   valuemsgr   r   r   r   K   s   r   )r   r   r	   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   )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   r   <module>   s8    




