
    -Ph                    L    d dl mZ d dlmZ d dlmZ  G d de          ZdgZdS )    )annotations)Enum)Anyc                  *    e Zd ZdZedd            ZdS )
NoAutoEnuma  Enum base class that prohibits the use of enum.auto() for value assignment.

    This behavior is achieved by overriding the value generation mechanism.

    Examples:
        >>> from enum import auto
        >>> from narwhals._enum import NoAutoEnum
        >>>
        >>> class Colors(NoAutoEnum):
        ...     RED = 1
        ...     GREEN = 2
        >>> Colors.RED
        <Colors.RED: 1>

        >>> class ColorsWithAuto(NoAutoEnum):
        ...     RED = 1
        ...     GREEN = auto()
        Traceback (most recent call last):
        ...
        ValueError: Creating values with `auto()` is not allowed. Please provide a value manually instead.

    Raises:
        ValueError: If `auto()` is attempted to be used for any enum member value.
    namestrstartintcountlast_values	list[Any]returnr   c                $    d}t          |          )NzVCreating values with `auto()` is not allowed. Please provide a value manually instead.)
ValueError)r   r
   r   r   msgs        N/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/narwhals/_enum.py_generate_next_value_z NoAutoEnum._generate_next_value_"   s     goo    N)
r   r	   r
   r   r   r   r   r   r   r   )__name__
__module____qualname____doc__staticmethodr    r   r   r   r      s>         2    \  r   r   N)
__future__r   enumr   typingr   r   __all__r   r   r   <module>r       su    " " " " " "                   D .r   