Сообщить об ошибке.

Декоратор @enum.unique модуля enum в Python.

Обеспечение уникальных значений в перечислениях enum.

По умолчанию, перечисления позволяют использовать несколько имен в качестве псевдонимов для одного и того же значения. Если такое поведение нежелательно, то можно использовать декоратор @enum.unique, чтобы гарантировать, что каждое значение в перечислении используется только один раз:

Декоратор классов @enum.unique разработан специально для перечислений модуля enum. Он ищет атрибут перечисления __members__, собирая все найденные псевдонимы и если они обнаружены, то поднимает исключение ValueError с выводом подробностей:

>>> from enum import Enum, unique
>>> @unique
... class Mistake(Enum):
...     ONE = 1
...     TWO = 2
...     THREE = 3
...     FOUR = 3
...
# Traceback (most recent call last):
...
# ValueError: duplicate values found in <enum 'Mistake'>: FOUR -> THREE