
    Wh                    D    d dl mZ d dlmZ d dlmZ  G d de      ZdgZy)    )annotations)Enum)Anyc                  6    e Zd ZdZe	 	 	 	 	 	 	 	 	 	 dd       Zy)
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.
    c                    d}t        |      )NzVCreating values with `auto()` is not allowed. Please provide a value manually instead.)
ValueError)namestartcountlast_valuesmsgs        H/var/www/html/jupyter_env/lib/python3.12/site-packages/narwhals/_enum.py_generate_next_value_z NoAutoEnum._generate_next_value_"   s     go    N)
r
   strr   intr   r   r   z	list[Any]returnr   )__name__
__module____qualname____doc__staticmethodr    r   r   r   r      sC    2 &)8A	 r   r   N)
__future__r   enumr   typingr   r   __all__r   r   r   <module>r      s&    "   D .r   