
    jt                        d dl mZ d dlZd dlZd dlmZ d dlmZmZ d dl	m
Z
 d dlmZ er(d dlmZ d dlmZ d d	l	mZ  ed
          Z ed          ZdddZddZdS )    )annotationsN)wraps)TYPE_CHECKINGTypeVar)issue_warning)UnstableWarning)Callable)	ParamSpec)IdentityFunctionPTmessage
str | NonereturnNonec                    t          t          t          j                            dd                              }|sdS | d} | dz  } t          | t                     dS )a  
    Issue a warning for use of unstable functionality.

    The `warn_unstable` setting must be enabled, otherwise no warning is issued.

    Parameters
    ----------
    message
        The message associated with the warning.

    See Also
    --------
    Config.warn_unstable
    POLARS_WARN_UNSTABLEr   Nz*this functionality is considered unstable.zN It may be changed at any point without it being considered a breaking change.)boolintosenvirongetr   r   )r   warnings_enableds     [/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/polars/_utils/unstable.pyissue_unstable_warningr      sg     C
/Eq I IJJKK >XG '?+++++    r   c                     dd} | S )z)Decorator to mark a function as unstable.functionCallable[P, T]r   c                p     t                     d fd            }t          j                   |_        |S )	NargsP.argskwargsP.kwargsr   r   c                 D    t          dj         d            | i |S )N`z` is considered unstable.)r   __name__)r!   r#   r   s     r   wrapperz+unstable.<locals>.decorate.<locals>.wrapper5   s5    "#Sx'8#S#S#STTT8T,V,,,r   )r!   r"   r#   r$   r   r   )r   inspect	signature__signature__)r   r(   s   ` r   decoratezunstable.<locals>.decorate4   sK    	x	- 	- 	- 	- 	- 
	- !( 1( ; ;r   )r   r   r   r    )r,   s    r   unstabler.   1   s        Or   )N)r   r   r   r   )r   r   )
__future__r   r)   r   	functoolsr   typingr   r   polars._utils.variousr   polars.exceptionsr   collections.abcr	   r
   r   r   r   r   r.   r-   r   r   <module>r5      s   " " " " " "  				       ) ) ) ) ) ) ) ) / / / / / / - - - - - - ((((((      666666	#AA, , , , ,8     r   