A metaclass extending abc.ABCMeta for defining abstract base classes

(ABCs) with more flexibility in which methods must be overridden.

Use this metaclass in the same way as abc.ABCMeta to create an ABC.

In addition to the decorators in theabc module, the decorator @alternative(...) may be used.



Register a virtual subclass of an ABC.

Returns the subclass, to allow usage as a class decorator.