Metaclasses

A metaclass is a class that describesthe construction and behavior of other classes, similarly to how classesdescribe the construction and behavior of objects.The default metaclass is type, but it’s possible to use other metaclasses.Metaclasses allows one to create “a different kind of class”, such asEnums, NamedTuples and singletons.

Mypy has some special understanding of ABCMeta and EnumMeta.