import abc class A(metaclass=abc.ABCMeta): @abc.abstractproperty def prop(self): pass from abc import abstractproperty class B(metaclass=abc.ABCMeta): @abstractproperty def prop(self): pass from abc import abstractproperty as ap class C(metaclass=abc.ABCMeta): @ap def prop(self): pass import abc as foo class D(metaclass=abc.ABCMeta): @foo.abstractproperty def prop(self): pass class A: @abc.abstractclassmethod def foo(cls): pass @abc.abstractstaticmethod def bar(): pass