import abc from zope.interface import Interface, classImplements class AFoo(metaclass=abc.ABCMeta): pass class IFoo(Interface): pass classImplements(AFoo, IFoo) class Foo(AFoo): pass class Bar: pass AFoo.register(Bar) print('Foo extends AFoo', issubclass(Foo, AFoo)) print('Foo implements IFoo', IFoo.implementedBy(Foo)) print('Bar extends AFoo', issubclass(Bar, AFoo)) print('Bar implements IFoo', IFoo.implementedBy(Bar))