
    biI                     8    d Z ddlZddlmZ ddlmZ dedefdZy)zCContains utilities to flag a feature as "experimental" in datasets.    Nwraps)Callablefnreturnc                 .     t                fd       }|S )al  Decorator to flag a feature as experimental.

    An experimental feature trigger a warning when used as it might be subject to breaking changes in the future.

    Args:
        fn (`Callable`):
            The function to flag as experimental.

    Returns:
        `Callable`: The decorated function.

    Example:

    ```python
    >>> from datasets.utils import experimental

    >>> @experimental
    ... def my_function():
    ...     print("Hello world!")

    >>> my_function()
    UserWarning: 'my_function' is experimental and might be subject to breaking changes in the future.
    Hello world!
    ```
    c                  d    t        j                  dj                   dt                | i |S )N'zI' is experimental and might be subject to breaking changes in the future.)warningswarn__name__UserWarning)argskwargsr   s     V/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/datasets/utils/experimental.py	_inner_fnzexperimental.<locals>._inner_fn#   s5    fg	
 4"6""    r   )r   r   s   ` r   experimentalr      s#    6 2Y# # r   )__doc__r   	functoolsr   typingr   r    r   r   <module>r      s$    I   #X #( #r   