Skip to content

Support custom subclasses of EnumType #7024

@erictraut

Description

@erictraut

The EnumType metaclass can be used to create custom Enum classes. Pyright doesn't currently recognize these as enums.

from enum import EnumType
from typing import Literal, assert_type

class CustomEnumType(EnumType):
    pass

class CustomEnum(metaclass=CustomEnumType):
    pass

class Color(CustomEnum):
    RED = 1
    GREEN = 2
    BLUE = 3

assert_type(Color.BLUE, Literal[Color.BLUE])

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions