meta-class-abc-meta (FURB180)#
Derived from the refurb linter.
Fix is always available.
This rule is unstable and in preview. The --preview flag is required for use.
What it does#
Checks for uses of metaclass=abc.ABCMeta to define abstract base classes
(ABCs).
Why is this bad?#
Instead of class C(metaclass=abc.ABCMeta): ..., use class C(ABC): ...
to define an abstract base class. Inheriting from the ABC wrapper class
is semantically identical to setting metaclass=abc.ABCMeta, but more
succinct.
Example#
Use instead: